关于2020年的最后一个面试总结

278 阅读4分钟

20年的最后一个月我去面了京东,虽然最后知道没有转正资格但这也是我第一次面大厂,就记得面试的时候全程紧张,面完后整张脸滚烫。话不多说先看看两次技术面都问了些什么问题吧!

一、面试流程

1.1 一面

  • 自我介绍
  • 如何对代码进行管理的
  • 哪些属于不规范的代码(因为前个问题回答到了对于不规范的代码需要打回修改)
  • 有哪些首屏优化方案
  • 如何减少重排重绘(因为前一个回答涉及到了)
  • less和sass的区别(这个点没答出来还试图乱扯蒙混过去,不要学我)
  • 讲讲vue2.0底层原理
  • 怎么对代码分支进行管理的
  • 服务器浏览器的工作流程(回答了输入url后发生了什么)
  • 浏览器缓存有了解过吗(本想结合到http协议进行回答但是记不清楚了只大概讲了两句然后说了下cookie和两种Storsge)
  • 如何禁止携带cookie
  • 同源策略有了解过吗(回答了同源策略导致的跨域,跨域解决)
  • 捕获和冒泡
  • addEventLister事件有了解过吗

1.2 二面

本来以为一面问了些基础知识,二面应该会问到项目了,结果二面并没有涉及到

  • 自我介绍

  • 什么时候开始接触的前端

  • 怎么去学的前端(回答了前期主要通过教学视频,后来主要是文档书籍和博客)

  • css3有去系统的学习吗

  • translate和translate3d有什么区别(只回答了个二维和三维,用的不多也没去深入了解过)

  • 简单讲下flex布局(回答里有提到个flex=1然后面试官问了它有什么意义,没答出是flex-grow, flex-shrink 和 flex-basis的简写这点)

  • 能大概说下flex,浮动布局和定位布局的区别吗?(没回答到点上)

  • (上题回答被打断)这三种布局的使用场景,比如拿到设计稿怎么去确定哪一部分用什么布局

  • 有看过像babel、webpack这些东西吗?(没答上)

  • 能大概说下原型继承吗(之前红宝石复习过但是具体忘得差不多了)

  • js闭包,作用域和执行上下文有什么关系吗?

  •  为什么闭包会造成内存泄漏(没答到点)

  • let有变量提升吗,如果在let定义之前去使用变量会报什么错

  • 输入一个url到浏览器中浏览器会发生什么问题(和一面问重了)

  • 技术栈是一直用的vue是吧?vue3知道Composition吗?(vue3底层原理一直没去怎么看)

  • vue2和vue3的区别

  • vue3好好的defineproperties不用为什么要换成proxy呢(因为上问回答了涉及到了数据监听的区别)

  • 以后的前端规划是什么呢

二、面试总结

其实自己回过头去看两次技术面问的问题都没有比较偏的东西都是些基础的前端知识,而且还没问到自己最怕的数据结构部分(也可能是非转正实习生要求比较低吧),自己对知识的掌握也的确不牢,深度没有达到。一面回答的虽然不是很好但是也没有太差,二面的话就崩得有点厉害了,最后总结了以下几点

  1. 回答内容相对比较杂,就当时脑袋里想到什么说什么,一面好几次面试官都以为我要说完了,回答的不太系统,然后回答的内容和内容之间衔接不行

  2. 自己把知识点都给独立起来了,没有考虑过它们之间的联系,没有思考过为什么会引出这么个东西,和相同的实现方法比优缺点是什么

  3. 还是有点惰性思维吧,比如像babel其实在很多地方都看到过es6转es5的提示比如开发微信小程序的时候生成预览二维码会有这么个提醒,但从来没去想过es6如何进行es5的转换呢,潜意识里还是觉得这个东西是不需要去知道的

  4. 感觉自己最大的问题就是之前准备面试太过于机械像应付考试一样,导致复习的像js什么的转身就忘了,就像高考后马上把语文背的东西全忘光了,还是得多思考多练习来加深印象

总的来说虽然结果暂时未知但还是很感谢这次面试,让我找到了自己的问题所在,也发现了自己平时没注意过的知识,学海无涯,最后祝自己明年春招能够顺利上岸吧!