乐趣区

关于前端:前端面试总结2020年8月16家公司附真实面试题

入职新公司好几天了,给大家分享下面试的经验。

心愿能对找工作的同学有帮忙。

1 为什么辞职?

马老板说了,到职无非两个起因,「一个是受委屈了,一个是钱少了」

我的确感觉钱少了,因为去年又买了一套房,两套房贷压着,并且也有了能够涨薪的能力。但更重要的是感觉倒退受限,我上家公司是家外包,18 年 10 月份入职的,20 年 8 月份到职。程序员如果深感技术受限,会十分焦虑的,也容易否定自我。

2 年工夫在我的项目中技术并没有显著的晋升,一些新的知识点或者新的尝试也不会让你做,因为所有的工作都是下面调配下来的。所以对于大多数新的技能都是通过上班后本人的集体我的项目进行尝试的。

身边很多共事都是 30 多岁了,这个年纪跳出外包的机会比拟小了,或者象征今后他们的程序员生涯都会在外包待着。

这不是我想要的生存,18 年有面了自研公司,而且工资比外包高,因为种种原因,还是抉择了外包,当初走错了一条路,导致当初又要退回去走另外一条。我心愿在 30 岁前能真正了解前端这个行业,像一位老者回顾人生,能读透。如果可能的话,我大略会在 30 岁前成为真正的高级前端工程师,这两天我也对本人做了新的布局,心愿真 2023 年能对当初的本人说,感激已经的你,我来接棒。

「当你想到职了,你要置信,你这个想法大概率是个正确决定」,这个时候不要犹豫,阐明你曾经意识到你不适宜这里了,放松走,越快越好。

本人往年有做了 2 个小我的项目,根底性能做好了,还有很多问题,又工夫再改。

简秘网:简秘网:在线编辑简历的网站

手赚网 响应式的网站

手赚网后盾 后端用的是 node+express+mongodb

2 面试经验

换工作的想法是往年 6 月份就有了,有看掘金下面很多知识点的总结和相干面经,说实话,「这些面经大多用的上。」

我面试的公司有 10 几家,有外包的,自研的,电话的,视频的,现场的都有,外包是他们打过去的。给出的 offer 最高的是 18.5k,最低 16k,我工作教训 4 年,这个工资根本是行情价。当然那些比拟牛逼或是 985,211 的同学拿的工资会高很多,然而毕竟多数,这里不做探讨。

我是退职的时候就去面试了,因为放心疫情起因,招聘需要会缩小。理论面试过程中,前端的需要还是较多的(可能也跟我最近 2 年没有去面试,对前两年的需要没有感知无关) 有一些法则能够给大家说一下,「大公司会把 80% 的工夫花在问我的项目上,小公司或者外包会把 80% 工夫问一些技术点下面」

3 面试会问什么

3.1 具体题型

为了保障招聘公司能招聘到适合的员工,以下所有面试题都不会指出具体的公司。以下问题分为「必问题」,和「大概率问题」「小概率问题」

这个概率值是通过对面试的这 10 几个公司,做了全面的统计得进去的(「不具备普适性」)

有些问题大家都会,我就不贴答案了

必问题 必问题 必问题

1. vue 响应式原理?具体说一下过程。

能够看一下 这篇文章 或者掘金相干文章。
真是必问题,无论外包还是自研,还是电话,都会问这个题。

什么?你不要?好的 niubi 同学

2.vue 的生命周期
  • 必问题,大略说一下每个周期的特点
  • 为什么会有生命周期
  • 我的项目中有用到哪几个钩子函数
  • ssr 有哪几个钩子函数

vue 相干面试总结,第 3 条

3.HTML5 或者 css3 的新个性

这个问题尽管不是 100% 问到,然而绝大多数公司都问了,我就放入这个分类吧,你不会有意见吧(有意见我也不会听啊)

  • 你有用到哪些新标签
  • 新个性次要包含哪几大块?你我的项目中有用到哪些?
  • canvas 有用过吗
4. 作用域,闭包,原型链
  • 说一下三者的概念参考第 3 条 第 4 条 第 6 条
  • 原型链有什么用途参考第 6 条
  • 怎么实现原型链继承参考第 12.1 条
  • 你我的项目中什么中央用到了闭包?为什么要用闭包?闭包的原理是什么?

好吧,这 3 个问题,从我入行起就始终被问。

5.es6
  • 我的项目中有用到哪些 es6 的个性 (他重点想让你说出箭头函数和 promise,毫无疑问他还筹备了 this 相干的问题)
  • 说下 es5 和 es6 箭头函数中 this 的指向
  • 有哪些方法能够扭转 this 参考第 5 条
  • promise 怎么应用?它解决了什么问题?
  • 怎么中断 promise?(能够返回一个空的 promise,既无 resolve 也没有 reject) 参考第 13 条,倡议把整条都过一遍
6. 性能优化
  • 上个我的项目的性能优化是怎么做的
  • 代码层面怎么做性能优化
  • webpack 怎么做性能优化

参考文章

大概率题 大概率题

大概率题是根本 50% 以上会被问到

1. flex

一些做挪动端开发的大概率会问,尤其是做 ui-app 的

  • 有用过 flex 吗
  • 说下 flex 有哪些属性
  • 应用 flex 实现垂直居中
  • 应用 flex 实现九宫格布局

参考 1 -10

2. 响应式布局
  • 你晓得哪几种响应式布局的形式
  • 说下 rem,em,px 的区别
  • 说下 rem 的实现
3. 块元素有哪些
  • 说下块元素和行内元素的区别和特点
  • 晓得哪些空元素 (相似于 img 这样的单标签元素)
4. css 中有哪些属性是能够继承的
5. 理解 css 的动画吗?说下 transform
6. vuex
  • 我的项目中有用到 vuex 吗
  • 如果不必 vuex 有什么其它的代替计划 (能够说下其它的组件通信形式)
  • vuex 有哪些劣势和毛病 (功能强大,但相比 eventBus 会更重一点)
  • vuex 有哪些属性 (5 大属性)
  • 说一下 vuex 的 action 和 mutation 的区别
  • 有看过 vuex 的源码吗 (老哥,当初是你的表演工夫了)

参考文章第 7 条

7. 指令
  • v-model 的实质是什么 (语法糖) 参考文章第 17 条
  • .sync 有用过吗?它是怎么用的 (实质还是语法糖,父组件省略 v -on 事件)
8. vue 的 diff 运算
  • 看过相干源码吗
  • 说下你的了解
  • diff 中的 key 有什么作用

参考文章第 11 条

9.v-show 和 v-if 的区别

参考文章第 4 条

10.vue 路由
  • 路由有哪几种
  • 说下这几种路由的区别
  • history 须要后盾配置相干的 url 吗

参考文章第 9 条

11.i18n
  • 怎么配置的
  • 怎么切换语言
12. 看你用了 socket, 说一下它是怎么通信的
13.2 个页面怎么进行通信
  • 同域名的 2 个页面怎么通信
  • 不同域的 2 个页面怎么通信
14. 虚构 dom
  • 说下你对虚构 dom 的了解
  • 虚构 dom 的实现原理
  • 虚构 dom 的优缺点

参考文章第 12 条 13 条

15. 为什么 data 要设置成函数

参考文章第 18 条

16.Computed 和 Watch

参考文章第 24 条

17. 长列表优化
  • 我的项目中有用到渲染列表吗
  • 怎么优化这种长列表
  • 如果不做分页呢?在前端有什么方法做优化

这个问题现场面试的时候,被问到了几次,失常的是通过分页优化的,然而如果不分页呢?那我就须要做相似按需加载的形式了。能够参考 「云中桥」 的文章,写的十分具体了。

参考文章第 30 条 以及云中桥的这个系列文章

18. 深拷贝与浅拷贝的区别

参考第 7 条

  • 手写深拷贝 参考第 4 条
  • 怎么实现浅拷贝 (object.asign)
19. 数组
  • 有用过数组的那些办法
  • 怎么实现数组去重

参考第 8 条

20. 回流和重绘
  • 说一下两者的区别
  • 说一下什么场景会触发

参考第 3 条

21. 存储
  • 说一下浏览器的存储形式和区别
  • 说一下强缓存和协商缓存

参考第 4 条

22.http
  • 说一下罕用的 http 状态码
  • 说一下申请头蕴含哪些 参考第 4 - 2 条
23. 浏览器的渲染流程
  • 间接说渲染的流程就行了 参考第 6 - 1 条

小概率题

个别公司会问,小于 50%

1. 说一下你怎么封装组件的

因为组件是复用的,咱们要思考暴露出属性和事件,供不同的中央引入,组件外面也有动静和动态的内容。

2. 怎么创立一个三角形

4 条边框,3 条通明,只显示一条

参考 1 -4

3. 垂直居中

办法较多

参考 1 -6

4. link 标签和 import 标签的区别

这个只有一家公司在电话面试中问过

参考 1 -9

5. 事件的执行机制

参考 1 -15

6. 事件的委托 / 代理

参考 1 -18

7. 内存泄露
  • 说一下内存透露的场景

参考 1 -36

8. 网络分层
  • 网络分层分为哪几层
  • 说一下 tcp3 次握手的用处
9. 跨域
  • 跨域有哪些解决方案
  • vue 开发怎么配置代理
  • vue 配置的代理属于正向代理还是反向代理

参考 1 -13

10. 路由的权限管制

次要在路由拦挡的通过 rrouter.addRoutes 去动静增加后盾返回的权限表。

11. 说下你对 webpack 的理解
12. 性能优化

说下你上个我的项目有做过哪些优化 / 或者你理解哪些优化

3.2 凋谢题

1. 你今后的布局是什么?

倡议没有提前准备,不然你一下说不上来的。还好我年初的时候有做过清晰的布局,算是必问题了。

2. 你有什么优缺点

集体不喜爱这样的问题,但还真得说

我过后说 长处:有自我驱动力 毛病:有些焦虑

必定会诘问,有自我驱动力体现在哪里,能够说上班后自学 node,ui-app,数据库等等。焦虑体现在行业内很多人把握的知识点粗浅且宽泛,并且有本人的一套学习办法(「比方掘金外面这么多大佬,每次看你们的文章我都很焦虑啊」),相比,本人并没有这么杰出。

又诘问:那你感觉为什么他人说这么杰出呢?
答:因为他人看了相干的知识点会用本人了解再整顿输入,这样了解的更加粗浅,也有助于复盘,我目前正在这样做。

3. 你感觉你来到咱们团队能为咱们带来什么

这个应该是面试官要思考的货色。
这个我过后没答好,会谈话的能够多说点。

4. 你为什么要到职 / 为什么要来咱们公司

说真话吗,这个能够本人先筹备坏话术吧,倡议说实话。

5. 介绍下你上个我的项目,并且说一下你上个我的项目用到了哪些技术点

很多人会感觉上个我的项目没什么可说的,用的技术都是比拟公众,如果是这样的话,你就须要对上个我的项目梳理。我一开始也感觉咱们上个我的项目没什么说的,梳理当前发现有很多本人没有意识到的技术点。

5. 你还有什么要问我的吗

  • 能够问下团队成员状况
  • 项目组的技术栈
  • 我的项目是新开发还是迭代

如果切实没问题了,能够说方才在人事那里 / 上一个面试官那里有了大抵的理解了。

4 教训

最初说个教训吧,是真教训!大公司会问一些我的项目的细节,所以你必须对你本人做的我的项目十分理解,包含各个模块实现的步骤,思路,我的项目的配置,为什么要这么配置,不要感觉你的我的项目很简略,当你把所有代码都认真过一遍,你会发现你的我的项目有很多值得你深刻的中央。

「我的项目上欠下的技术债,面试大概率会被吊打。」 我这次就粗浅的意识到了,所以如果你不急着到职的话,关上你我的项目一点点把业务梳理一边,一点点的过一遍代码,即便是他人写的。剖析外面用到的每个技术点,看一下相干的配置文件,会发现配置也是很有意思的中央。

「祝大家大能找到本人喜爱的工作。」

退出移动版