春招面试总结

276 阅读4分钟

美团

1,详细介绍一下你的项目

2,项目中碰到的难点

3,Vue你常用的生命周期

created: 在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted: 在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
update: 虚拟dOm重新渲染和打补丁之后,页面dom加载结束后调用该钩子。
actived keep-alive激活组件时调用。

4,http常用的请求头和响应头

请求头

1,accept :text/html   
表示客户端期望接收到的数据类型;  
但无论服务器返回什么类型的数据,客户端都会接收

2,accept-encoding :gzip,deflate,br   
表示客户端支持的解码(解压缩)方式;  
网络中的数据传输是占据带宽的,文件数据压缩可以降低数据量,减少传输时间,所以通常服务器返回客户端的数据都是经过压缩的;我们主动发送的ajax请求通常数据量较小,不需要进行压缩

3,Accept-language:zh-CN,zh 
表示客户端支持的语言类型  

4Accept-CharSet:utf-8 gbk  
表示客户端支持的编码格式(如果服务器不按照指定编码格式返回数数据时可能会乱码)

5,refer:http://localhost/src/image  
表示请求是从哪个地址发起的  
应用:防盗链  referrer-policy可以设置refer;

6, if modified sence  
表示客户端缓存文件的时间(如果从...时间开始文件发生了改变,就请再重新给我发一份文件)
上一次返回时响应头中的(last modified)
浏览器一般只对html,css,jpg等进行缓存;

7, if none match  
表示其实文件是否是最新的,是此时文件内容的哈希值(服务器响应头中的etag);优先级高于if modified sence

8,catch-control  
表示缓存控制;几个字段来控制缓存机制
public/private/no-cache/max-age  
public表示客户端和代理服务器都可以缓存  
private 表示仅客户端可以缓存,代理服务器不能缓存  
no-cache表示需要先与服务器确认返回的响应是否被更改,未被更改时,才能给后面的响应提供服务  
max-age 表示请求的过期时间(通常是多少秒之后),只在http1.1可用  

9,userAgent
表示客户端的软件环境,包括系统,浏览器等

10,host
表示请求者的主机地址和端口号  

11,connection :keep-alive/upgrade  
表示客户端想要优先响应的连接类型  

12,cookie


响应头

1,content-length  
表示响应报文的长度;可以根据它做进度条  

2,Accept-Ranges:bytes  
表示服务器支持http中的range功能,能够分段请求客户端,分段请求浏览器  

3,Access Control Allow Origin  
表示服务器允许跨域的请求头;  

4,content-Language  
表示响应内容使用的语言  

5,content-Encoding  
表示响应内容使用的编码方式  

6,etag
表示响应内容的哈希值用来判断资源文件是否发生改变  
在nginx系统中是根据last-modified 和 content-length组合成16进制生成的

7,expires
表示资源文件的过期时间

8,location   
表示创建某个新资源时使用  

9,status  
表示当前http的响应状态


5,冒泡排序

6,快速排序

7,常用的设计模式

8,观察者模式和发布订阅模式

9,拿到一个字符串中每个字符出现的个数

10,Promise

11,http缓存

12,你有哪里准备好了但是没有被提问吗?

顺丰同城

1,es6新特性

2,为什么typeof null==Object;

因为起初JS是32位的系统,为了性能优化,使用低位来代表存储变量的类型

数据类型 机器码标识 对象(Object) 000 整数 1 浮点数 010 字符串 100 布尔 110 undefined -2^31(即全为1) null 全为0 typeof就是根据低位存储判断类型的,所以就产生了null的判断错误

3,js的精度缺失

常见问题

10.1+0.2!==0.3 //true  
   原因:由于js的精度缺失问题;
   十进制小数转化为二进制:乘二进位顺位相接;
   十进制转化成二进制时就已经不是一个准确的数;相加后自然也不准确
2,
双精度存储,一共时64bit;
1位符号位,
11位指数位
52位尾数;
通常不能超过16位(最大安全数-2^53——2^53-1

4,宏任务和微任务

5,浏览器在js单线程执行时在做什么