写点什么

鹅厂面经,希望对大家有用

用户头像
Bryant-cx
关注
发布于: 2020 年 12 月 24 日
鹅厂面经,希望对大家有用

最近一段时间连续面了鹅厂的高级和中级,前后经历了近十轮。面试内容涵盖前端大部分知识点,特整理如下,方便后续复习也给各位做个参考。



关于基础



1,浏览器的渲染流程,html、css、js是如何渲染成页面的。引申问题,为什么要建议将js文件放在body的尾部

2,聊聊js里面的this,这是个老生常谈的问题。还有箭头函数为什么不能用做构造函数

3,js如何实现继承,谈谈原型链

4,谈谈xss,xss的原理,如何防御,如何配置CSP

5,前端如何实现存储?cookie和localStorage哪个更安全,为什么?

6,谈谈cookie的httpOnly属性和sameSite属性

7,谈谈csrf

8,csrf攻击过程中,攻击的发起方在黑客的站点。黑客在自己的站点请求目标站点的接口,不是直接就跨域了吗?

9,说说http1和http2的区别,引申:http2的头部压缩方法是什么?

10,https的加密原理是什么?

11,性能优化,你在工作中做过性能监控吗?如何实现性能优化

12,你常用浏览器的哪些调试工具,

13,常用的es6语法

14,谈谈promise

15,说说async、await

关于框架



1,谈谈vue的双方绑定原理,引申:Object.defineProperty和Proxy有什么区别?

2,如何判断一个变量的数据类型,vue源码中这一段是如何实现的?

3,vue-router的实现原理

4,谈谈vue的diff算法

关于算法



大厂必问算法,而且不止在首轮,我面微信的时候,7轮面试做了五次笔试。算法这一块,一定要掌握扎实,千万不能抱有侥幸心理,对于简单的诸如二分、map的使用、二分搜索树、排序一定要做到能无脑写出来的程度。

1,js的Array.sort底层原理是什么

2,快速排序有什么缺点?

3,旋转数组的最小值。leetcode154,这个题有三个版本,难度逐次递增,154题是最难的版本,巧的是这三个题我在面试中都遇到了。

4,二叉搜索树的第k大元素,进阶:不准使用辅助数组,要用O(1)的空间复杂度。

5,N个格子里面放着1至N-1个数,找出其中重复的数,要求空间复杂度为O(1),时间复杂度尽可能小

6,读取两个两个文件,找出其中相同的字符串以及行号。

7,改写console.log,使得console.log(1)打印出类似:2020/12/23 14:57:23:888 1

8,正则,这个东西我素来不会,就直接说不会,也不知道咋复习。

9,26进制转换

10,map为啥查找效率高,底层原理是什么

11,哈希表的查找效率是多少

12,合并有个有序链表

13,合并两个有序数组

14,lazyman

关于简历



切忌一份简历走天下,因为你的知识体系是在不断变化的。而且,大多数面试需要准备的知识点,平时工作中是完全用不到的,所以很容易遗忘。比如我,去年我把vue源码这一块弄得很熟,所以简历前几条重点写了vue相关,但是一年过去了,明显生疏。我的简历又没改,导致问到vue源码时,懵了。

要想有个好的表现,一定要把面试往你最擅长最熟的方面引导。面试官都是照着简历问的,所以,越熟的部分要越靠前,不熟的少写甚至不写。

关于项目



大多数前端同学比如我,平时工作中也就做些简单的工作,既没解决啥行业难题,也没出过什么精妙方案。但是项目方面也不能坐以待毙,我们需要做到以下几点:

1,项目中的原理与知识点一定要做到烂熟于心,任何时候面试官问起来都要做到对答如流,要是卡壳了,非常掉印象分。

2,学会找亮点,比如你在项目中实现的自己的想法,你在项目中尝试做的优化,你在项目中推动了什么,封装了什么,是否提升了开发效率等等。

3,阐述一下自己在项目中的收获,编程能力、工程能力、架构能力均可。

关于刷题



刷题从来不是盲目地堆积数量,我之前一度刷到了近400题,曾经两小时连刷18题。但是到面试中,依然难以有好的表现。我们刷题追求的不止是一个通过,而是彻底弄清楚其中的原理,这样才能举一反三。毕竟在面试中碰到原题还是挺难的。

不能满足于获得通过,波波老师说过,我们要不断问自己‘是否还能做得更好’。任何一题,都要尽力想出多种解法,如果在面试中能有这样的表现,能给面试官留下不错的印象。

面试中遇到难题不要慌。首先,写下思路,能有个思路至少有个印象分,其次,暴力解法。暴力解法虽不优雅,但是写不出来就更不优雅了。另外,试着自己用笔画一画,有时候画着画着就出来了。

算法是个熟能生巧的过程,当你达到足够的训练量之后,你会发现,但凡你能手写下思路,代码自然而然就出来了。

关于准备



面试这个事情讲究一鼓作气再而衰三而竭。最好的状态是,提前准备一个月,然后整理出一份复习清单。每轮面试之前,巩固一遍。

大厂的流程非常长,你有足够的时间准备下一轮。每一轮开始之前都要巩固一下算法和基础,不能掉以轻心。千万不能觉得,我已经过了交叉面了,后面不会再问基础了。

我之前也这么想,直到昨天,总经理聊着聊着掏出了他的笔试题,我那个不知所措啊,都是泪。



关于感悟



革命尚未成功,同志仍需努力。前路漫漫,各位,一起加油。



用户头像

Bryant-cx

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
鹅厂面经,希望对大家有用