修改简历之后本以为无望,结果9号突然收到了腾讯的面试邀请函,经过询问了解到,腾讯的简历机制是一个部门对你进行面试时会锁定你的简历,然后如果面试没通过就会放开简历,投入简历库,等其他部门来捞

废话少说,直接进入正题,下面列举我记下的面试时被问到的问题及之后查到的正确答案


计算机网络

简述一下OSI参考模型

物理层,数据链路层,网络层,传输层,会话层,表示层,应用层


http与https各自时属于哪一层的协议

http是应用层协议,https是http+ssl协议所以属于网络层协议

了解状态码吗,403、502各自代表什么

2xx是请求成功,3xx是重定向,4xx是客户端错误,5xx是服务器错误
403是服务器接收请求但是拒绝处理,502是网关错误


JS相关

什么情况下会引发内存泄漏

当时回答了闭包,下面是后来查到的:

  1. 意外的局部变量
  2. 被遗忘的计时器或回调函数
  3. 闭包
  4. 脱离DOM的引用

什么是跨域问题,跨域问题源于什么策略,怎么解决跨域问题

跨域问题是当协议,域名,端口其中任意一个不相同时引起的无法访问

跨域是由于浏览器的同源策略而产生的

解决方法:

  1. JSONP(动态创建script标签和回调函数,模拟get请求)
  2. CORS response加header(“Access-control-Allow-origin:x”),header(“Access-control-Allow-Method:post/Get”)
  3. nginx转发(使用反向代理,向中间服务器发送请求,中间服务器请求到数据后返回给客户端)
  4. HttpClient(请求转发)

编程题

最让我受刺激的两道题,心态炸裂,也不知道怎么回事,刚看完的都能忘,还是太菜了

手写一个isArray()判断是不是数组

1
2
3
4
5
6
7
8
9
10
11

function isArray(arr) {
//1、推荐方式
return Object.prototype.toString.call(arr) === "[object Array]"
//2、instanceof判断
// 千万不能用typeof 返回的是object
return arr instanceof Array;
//3、官方方法
return Array.isArray(arr);
}

写一个能生成min到max之间随机数的函数

1
2
3
4
5

function myRandom(min, max) {
return Math.floor(Math.random() * max + min);
}


面试时间很短就半小时,可能是看我着两个代码写的太差劲了,我自己当时都自闭了,问了我一些项目问题,问了学校的实习政策,问了最近学习中遇到的困难,之后就结束了,这次面试时间不长,虽然表现比上一次突然袭击好的多但是还是不尽人意,还不够完美,基础还是不扎实依旧需要磨练,面试结束我也清楚没有二面了,心情的确有点失落,但是还好还有努力空间,还有我自己的学习方向,加油,继续努力!

腾讯校招邀请函