面向 2020 春招面试题(一)

Posted by Ivens on December 4, 2019

早做准备, 以免不时之需.

分析面经

昨晚看到一篇文章《史上最全的前端实习面试攻略》, 看到一半竟然油然而生一种学习成果颇丰的感觉, 拉到评论区一看都是这种声音, 分类做个总结, 为以后复习提供个方向.

算法部分

前端算法部分是相对简单的,如果你算法不好可以直接告诉面试官。

1、基本排序的方式

冒泡、快排、桶排、堆排序、归并排序、插入排序。

最重要的还是快排和插入排序和堆排序。

多写几次,有递归形式的再好好看一下使用循环形式达到结果的形式,基本也就没什么问题了。

2、二分搜索等

3、二叉树遍历相关

  • 前序遍历中序遍历后序遍历等
  • 深度优先搜索和广度优先
  • 二叉树的反转
  • TopK问题

计算机网络部分

1.最重要的就是http协议,大多包含了以下几种问题:

  • http报文解构都包含什么(大致就是那个三部分,请求实体、请求头、请求行这些)
  • http协议常用的状态码(https://blog.csdn.net/xiaozhuxmen/article/details/51934706)
  • http头部关于缓存的字段
  • http和https的区别
  • http1.0 1.1 2 大致的区别

缓存字段和200、404、304之类非常常用的状态码一定要记住。

2.tcp 的三次握手和四次挥手

3.udptcp的比较等等

html和css基础部分

canvas

12.h5的语义化部分和h5的语义化标签有什么。这个其实在面试上是比较重要的一个问题.

13.h5 的web worker 还有websocket。这些不需要你真正使用过,但是要明白他们在什么场景下使用就可以了。

拿菜鸟教程上代码的实验一下就可以了。

websocket内部还有一些关于协议的部分要弄懂。

html 的嵌套关系

js部分

这个是重中之重了,如果你js掌握的非常非常好,那么html、css部分问题没答上也没有什么。

毕竟js才是前端的重点。

1.js的作用域作用域链。

2.js的原型原型链,instanceOf判断。

3.js的dom元素操作插入删除等等。

4.js的垃圾回收机制(问的比较少)。

5.js中String或者Array或者Math内部常用的方法。

6.ajax请求详细怎么实现,和其中的响应状态。

7.js的基础类型和引用类型

8.事件委托、事件冒泡、事件捕获。

9.addEventlistener和正常的onclick=()=> 的区别

10.js中new和object.creat区别

11.除了js中DOM的基础方法还有BOM中的方法。比如通过js直接取出相应的url的端口号,或者是协议名,或者url整体。

12.浏览器输入url之后最后网页渲染出来经过了什么 浏览器加载、解析、渲染的过程

13.js跨域实现。有webpack和nginx,CORS和jsonp等。

14.浏览器的同源策略

15.浏览器的回流和重绘,就是reflow那些东西。

16.call、bind、apply区别。

17.js实现继承怎么实现

18.请求get和post的区别

19.js方法参数argument

20.深拷贝和浅拷贝,还可以引入序列化。还要明白序列化的缺点。


以下都是es6

21.promise,最好自己声明一个构造函数尝试去实现,这样面试官会觉得你学的很认真。如果实在自己写不出来上网查一下promise的实现原理或者源码应该就有。

22.闭包

23.let和const,最好全面一点解释,包括可以说一下变量提升引入一下var,和这些在什么场景下去使用。

24.generator

25.es6加上symbol的基础数据类型

26.set类型可以实现数组去重等。

27.箭头函数 重点,很多时候都会问 包括里面的简便写法和内部的this指针指向等等

28.解构赋值

29.es6新增加的正则符号。

30.或者直接问你es6有什么新加的东西,说得越多越好 es6我们可以去《极客学院 —— ECMAScript 6 入门》 这里面去学习。当然想要更深了解的话就需要看原书了, 但是这个我觉得面向面试足够了。

以下就是亮点部分:

1.js单线程和js具体怎么实现异步的,大概的技术名词有事件队列、执行栈、宏任务、微任务。

2.webworke做分线程

3.vue-router原理实现。多看源码之类的

4.nginx负载均衡。redis共享数据等等等。

5.asm.js(这个我想很多人没听过都。。这个是我自己看的一个技术。比较有意思的。因为面试官总会问你最近在看什么比较新的技术这样的问题,专门准备的)。

框架部分

1.vue的生命周期

2.双向数据绑定。

3.vue父子组件传递参数

4.vue传递参数方法

5.vue自定义组件

6.vue自定义指令

7.vuex组成和原理

8.vue-router的原理,例如hashhistory和History interface这些东西要弄明白。其实看一下源码就好了,看不懂可以直接看解析的相关技术博客。

9.vue的seo问题

10.预渲染和ssr

11.生命周期内create和mounted的区别

12.监听watch等等

13.登录验证拦截

其他

1.webpack相关配置。例如跨域之类的

2.网络安全,大多就是csrf和xss看明白原理和解决方式就可以了。

3.数据结构的栈、队列、链表、等等这些基础的数据结构要明白是什么。

4.设计模式

5.数据库相关操作语句(这个问得比较少,看一下就行了)

6.linex基础指令,一般很少问。就算问也是问你知道什么指令

7.bootstrap实现栅格的原理

看完跳槽少说涨 5 K,前端面试从准备到谈薪完全指南(近万字精华)