前端面试总结2020年8月16家公司(附真实面试题)

入职新公司好几天了,给你们分享下面试的经历。css

但愿能对找工做的同窗有帮助。前端

1 为何辞职?

马老板说了,离职无非两个缘由,「一个是受委屈了,一个是钱少了」vue

我确实以为钱少了,由于去年又买了一套房,两套房贷压着,而且也有了能够涨薪的能力。但更重要的是以为发展受限,我上家公司是家外包,18年10月份入职的,20年8月份离职。程序员若是深感技术受限,会很是焦虑的,也容易否认自我。node

2年时间在项目中技术并无明显的提高,一些新的知识点或者新的尝试也不会让你作,由于全部的任务都是上面分配下来的。因此对于大多数新的技能都是经过下班后本身的我的项目进行尝试的。webpack

身边不少同事都是30多岁了,这个年纪跳出外包的机会比较小了,或者意味从此他们的程序员生涯都会在外包待着。css3

这不是我想要的生活,18年有面了自研公司,并且工资比外包高,因为种种缘由,仍是选择了外包,当初走错了一条路,致使如今又要退回去走另一条。我但愿在30岁前能真正理解前端这个行业,像一位老者回顾人生,能读透。若是可能的话,我大概会在30岁前成为真正的高级前端工程师,这两天我也对本身作了新的规划,但愿真2023年能对如今的本身说,感谢曾经的你,我来接棒。git

「当你想离职了,你要相信,你这个想法大几率是个正确决定」,这个时候不要犹豫,说明你已经意识到你不适合这里了,抓紧走,越快越好。程序员

本身今年有作了2个小项目,基础功能作好了,还有不少问题,又时间再改。es6

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

手赚网 响应式的网站

手赚网后台 后端用的是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个问题,从我入行起就一直被问。

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.浏览器的渲染流程

小几率题

个别公司会问,小于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 教训

最后说个教训吧,是真教训!大公司会问一些项目的细节,因此你必须对你本身作的项目很是了解,包括各个模块实现的步骤,思路,项目的配置,为何要这么配置,不要以为你的项目很简单,当你把全部代码都仔细过一遍,你会发现你的项目有不少值得你深刻的地方。

「项目上欠下的技术债,面试大几率会被吊打。」 我此次就深入的意识到了,因此若是你不急着离职的话,打开你项目一点点把业务梳理一边,一点点的过一遍代码,即便是别人写的。分析里面用到的每一个技术点,看一下相关的配置文件,会发现配置也是颇有意思的地方。

「祝你们大能找到本身喜欢的工做。」

相关文章
相关标签/搜索