// 爱多聊面试题
1.有关HTTP协议,下面说法不正确的是(D)
A.HTTP1.1默认开了长连接(Connection: keep-alive)
B.HTTP响应包括数组状态码,304代表请求重定向
C.HTTP协议默认使用80端口
D.HTTP协议是和TCP,UDP网络层处于同一层的协议
tcp和udp协议是传输协议,ip是网络层协议、http是应用层协议
2.HTTP协议中,如果要告知所请求的网页已经永久跳转到了另一个地址,应该返回哪个状态码(A)
A.301 B.302 C.401 D.503
3.下列哪些是H5的新特性(A, B, C, )
A.Local Storage
B.Web Worker
C.Canvas
D.Web Spell Check API
4.下列哪一项是在新窗口中打开网页文档(B)
A._self B._bank C._top D._parent
5.下面关于CSS布局的描述,不正确的是(D)
A.块级元素实际占用的宽度与它的 width 属性有关
B.块级元素实际占用的宽度与它的 border 属性有关
C.块级元素实际占用的宽度与它的 padding 属性有关
D.块级元素实际占用的宽度与它的 background 属性有关
6.下面有关CSS选择器的说法错误的是(C)
A. .intro -- 选择 class="intro"的所有元素
B. #firstname -- 选择 id="firstname" 的元素
C. div > p -- 选择所有<div>元素和所有<p>元素
(将所有<div>标签的子标签<p>选中,不包括孙子辈标签。)
D. p -- 选择所有的<p>元素
7.下列代码
var obj = {}
obj.hasOwnProperty("val")
中的hasOwnProperty的作用是(A)
A.判断obj对象是否具有val属性
B.判断obj对象是否具有val方法
C.判断obj的原型对象是否具有val属性
D.判断obj的原型对象是否具有val方法
8.以下哪一条js语句会产生错误(A)
A var obj = ()
B var obj = []
C var obj = {}
D var obj = / /
9.以下哪些js表达式会返回true(A, D)
A. null == undefined
B. null == 0
C. null == false
D. 0 == false
10.下面代码,依次会弹出什么(B)
var myvar = "theWindow"
var object = {
myvar: "MyObject",
getVar: function() {
return function() {
return myvar
}
}
}
alert(object.getVar()())
function MyCont()
{
var myvar = "MyObject"
this.getVar = function() {
return function() {
return myvar
}
}
}
var obj = new MyCont()
alert(obj.getVar()())
A. theWindow, theWindow
A. theWindow, MyObject
A. MyObject, theWindow
A. MyObject, MyObject
11.display: none 和visibility: hidden 的区别是什么?
联系:它们都能让元素不可见
区别:
display:none;会让元素完全从渲染树中消失,渲染的时候不占据任何空间;
visibility: hidden;不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见
display: none;是非继承属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示;
visibility: hidden;是继承属性,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显示;
修改常规流中元素的display通常会造成文档重排。修改visibility属性只会造成本元素的重绘。
读屏器不会读取display: none;元素内容;会读取visibility: hidden;元素内容
12.请说出三种减少页面加载时间的方法
1、减少http请求(合并文件、合并图片)
2、优化图片文件,减小其尺寸,特别是缩略图,一定要按尺寸生成缩略图然后调用,不要在网页中用resize方法实现,
虽然这样看到的图片外形小了,但是其加载的数据量一点也没减少。曾经见过有人在网页中加载的缩略图,
其真实尺寸有10M之巨…普通图像、icon也要尽可能压缩后,可以采用web图像保存、减少颜色数等等方法实现。
3、图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)
4、 压缩Javascript、CSS代码:一般js、css文件中存在大量的空格、换行、注释,这些利于阅读,如果能够压缩掉,
将会很有利于网络传输。这方面的工具也有很多,可以在百度里搜索一下关键字“css代码压缩”,
或者“js代码压缩”将会发现有很多网站都提供这样的功能,当然了你也可以自己写程序来做这个工作,
如果你会的话。就拿我们这个网站来说吧。刚开始上传这个网站的时候,我的很多Css代码都没有压缩,
后面发现了这个问题,我就上网找了相关的网站的压缩代码的功能,最后就把很多CSS文件都压缩了。
这个压缩比率还是比较高的,一般都有百分五十左右。这个代码压缩对于网页的加载还是很有用的。
5、 服务器启用gzip压缩功能:将要传输的文件压缩后传输到客户端再解压,在网络传输 数据量会大幅减小。
在服务器上的Apache、Nginx可直接启用,也可用代码直接设置传输文件头,增加gzip的设置,也可从 负载均衡设备直接设置。
不过需要留意的是,这个设置会略微增加服务器的负担。服务器性能不是很好的网站,要慎重考虑。
6.标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。
这不但影响速度,也影响浏览体验。 当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,
然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)
7、网址后面加上“/”:对服务器而言,不加斜杠服务器会多一次判断的过程,加斜杠就会直接返回网站设置的存放在网站根目录下的默认页面。
13.现在一些大型站点都默认启用了https,请说一下你对https的理解,https会对url和cookie加密吗?
为保护用户隐私和网络安全。通过数据加密、校验数据完整性和身份认证三种机制来保障安全。
HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,
然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,
而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,
就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。
对url没有加密,对cookie有加密
14.请编写一个js函数 perseQueryString,它的用途是把URL的参数解析为一个对象。
如:var url = "http://witmax.cn?key0=0&key1=1&key2=2"
var perseQueryString = function(url) {
var result = {}
if(url.indexOf("?") != -1) {
var index = url.indexOf("?")
//
var str = url.substr(index + 1)
//
var strs = str.split("&");
//
for(var i = 0; i < strs.length; i++) {
var strSplit = strs[i].split("=")
result[strSplit[0]] = strSplit[1]
}
}
return result
}
perseQueryString(url)
15.请编写一个mul函数,预期调用方式及结果如下
console.log(mul(2)(3)(4)) //输出24
console.log(mul(4)(3)(4)) //输出48
function mul(x) {
const result = (y) => mul(x * y);
result.valueOf = () => x;
return result;
}
16.微信小程序主要禁止的js api有哪些?
没有找到答案
17.微信小程序 wx:if 和hidden的不同?
https://blog.csdn.net/yelin042/article/details/72519081
wx:if 在隐藏的时候不渲染,而 hidden 在隐藏时仍然渲染,只是不呈现。
所以如果频繁切换的话,用 wx:if 将会消耗更多资源,因为每次呈现的时候他都会渲染,每次隐藏的时候,他都会销毁。
18.微信小程序日志查看方案。
https://blog.csdn.net/u012421719/article/details/53140218
日志目录:C:\Users(这儿是WINDOWS登录用户名)\AppData\Local\微信web开发者工具\User Data\WeappLog
网友评论