楼主本身拿了深圳csig腾讯云的offer,但是因为个人和家庭原因,申请换到base地点北京没能成功,所以被扔到了公共的简历库,然后被微信捞了,就预约了面试
第一轮:电话面试(基本都是常见八股文,代码石墨文档在线coding)
简单介绍一下自己和实习做的项目,然后就是八股文
css盒子模型
css的position里面几个属性讲解,还有一个场景,假如一个盒子里面有两个横向摆放的块(两个碟在一起),如果position为relative的左侧盒子下移,右边盒子有变化吗,怎么变化
css选择器优先级
css的伪类和伪元素的区别是什么
JS基本数据类型,symbol的使用场景
然后看一段代码
1
2
3
4
5
var a=new Symbol();//哪一个是成立的
var a=Symbol(); //哪一个是成立的
然后出了第二个,下面的输出是什么,为什么,给出原因和解释
var b=Symbol();
console.log(a===b);
JS的闭包原理
闭包和立刻执行函数有什么区别
闭包会造成内存泄漏吗?一定吗?为什么?
列举你平常写代码时候或者做项目时候遇到的内存泄漏的点
代码:利用闭包原理实现计数器
1
2
3
4
5
6
7
8
function f1() {
???
}
let result = f1();
console.log(result.inc());//1
console.log(result.inc());//2
console.log(result.inc());//3
实现这个函数f1
JS的原型链的原理
JS遍历数组有哪些方法,说的全面一点
for in和for of有什么不同,for in可以访问到原型链上的数据吗?可以用于访问继承?
Vue的虚拟Dom说一下
代码题:实现源码中的patch函数,大概写一下就行,类似伪代码
Vue3的Proxy和2中的object.defineProperty的区别
object.defineProperty所有数据都可以监听到吗?为什么defineProperty不能获取数组的变更?源码知道吗,这样写的用意是什么,为何Vue单独弄出来数组的方法来监听?
Vue中的key的含义
React和Vue的区别是什么?
React的hook中usestate外面可以包裹判断条件吗?
React-hook有弊端吗?如何避免
最后算法题:如何最小的复杂度找到字符串中出现最多的字符
二面:电话面试(一面问的基础比较多,二面随便聊聊)
简单介绍自己+实习项目介绍
阿里实习做的驿站扫描枪的实现依据和原理分析(从业务到技术再到落地来解释)
然后就是问腾讯实习做的项目的难点,结合serverless做了什么,优化指标和衡量依据
CI持续集成如何实现,如何设计
Https和http的区别是什么,https的握手过程详细说
浏览器输入一个地址到展示画面经历了什么,详细说
三面:
聊项目聊人生ing
最后一道算法:
[-4,1, 10, -1, -8, 3, 6, -9, 1]
[-4, -1,-8,-9,1,10,3,6,1]
不允许新建数组、时间复杂度O(N),调整后正数和负数部分的顺序无所谓
四面:纯代码
1:合并两个有序数组
2:
面委会第一轮:
聊项目,聊深度,聊源码
问Vue和React还有Angular的区别,如果我接手一个项目,并不限制我的技术栈,我应该从哪些地方考虑技术栈选型
Angular的脏检测机制原理?有弊端吗?依赖注入你知道吗?
智力题:赛马
最后一道代码:JS实现一个JSON.stringify()功能的函数
面委会第二轮:
和上轮差不多,就聊项目,和项目难点
然后发来一个连接,在线写代码
问题1: for (var i = 0; i < 4; i++) { setTimeout(function() { console.log(i); }, 300); }
然后问如何改造,才能实现真正的效果,闭包可以吗,然后用闭包实现一下这个效果
问题2: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
问题3:打印结果是什么
1
2
3
4
5
6
7
8
9
10
11
function test(a,b) {
console.log(b)
return {
test:function(c){
return test(c,a);
}
};
}
var retA = test(0); retA.test(2); retA.test(4); retA.test(8);
var retB = test(0).test(2).test(4).test(8);
var retC = test('good').test('bad'); retC.test('good'); retC.test('bad');
问题4:二叉树的翻转
hr面试
随便聊聊,30分钟左右
第二天谈薪资,大概就是这些流程