前端秋招面试总结

前言

秋招宣告结束,面试了接近20家公司,有幸拿到offer,感谢这段时间一块儿找工做面试的朋友和陪伴个人人。这是一段难忘的经历,相信不亚于当年的高考吧,也许如今想起来高考不算什么,也许只有经历过秋招的人才懂得找工做的艰辛,offer的来之不易。秋招值得回忆,故借写此篇文章来整理一些资料和心得。前端

知识点

数据结构和算法

数据结构和算法是不用多说了,基本上好一点的公司都会问。git

  • 堆栈、二叉树、平衡二叉树、链表
  • 图的暂时还没遇到过,可能问的比较少吧
  • 哈希表
  • 各类基本排序算法(准备过程尽可能能手写出来,尤为注意快速排序、归并排序、堆排序),它们的最优、最差、平均复杂度

计算机网络

前端方面重点准备TCP/IP协议,HTTP协议,HTTPSes6

  • 前端缓存:强缓存,协商缓存,各类字段的理解和区别
  • HTTP的各类请求头含义和做用。
  • HTTP各类版本的优缺点,应用场景,及对应的优化。如针对http1.0的优化
  • TCP三次握手,四次挥手,最好能记住每一次握手和挥手包含哪些字段,为何要第三次握手和四次挥手。
  • 一道常考的题目

HTML

  • 了解HTML语义化
  • HTML各类新特性
  • HTML4.0和HTML5.0的区别,如何解决HTML5的兼容性问题

CSS

CSS这里主要会问布局相关,了解各类CSS3新特性,CSS3动画等github

JavaScript

这部分的内容比较多,也是本身准备得比较多的部分,不具体罗列,直接上本身准备过的资料面试

前端安全

  • XSS攻击
  • CSRF攻击
  • 浏览器渲染原理、js执行机制这两部分也要重点准备,相关资料忘了

错误监控:这里有总结过:ajax

  • 即时运行错误:(1)使用try...catch捕获;(2)使用window.onerror方法捕获;
  • 资源加载错误:1)使用object.onerror方法捕获,为何不能用window.onerror呢?由于资源加载错误不会冒泡到window对象;2)使用performance.getEntries,使用该方法获取全部已经加载的资源,跟全部资源对比,看哪些没有加载成功;3)Error事件捕获;
  • 跨域js报错怎么捕获?即“Script error”,解决方法1.script标签添加crossorigin字段,2.添加跨域 HTTP 响应头,Access-Control-Allow-Origin: *
  • 错误上报:1.采用ajax技术;2.利用Image对象上报错误(面试应该把这个答到)

前端性能优化

  • 这方面是重点,但好像没有看过特别的文章,“雅虎35条军规”,能背多少就背多少,理解最好。能够扯上浏览器渲染原理。

其余资料

心得体会

前面的都是一部分资料,可能有点乱,但有些也记不住了。不少时候都看论坛和博客,和面试以前突击相关公司的面经。接下来总结一下面试过程当中的心得和体会算法

  • 当面试官问你一个问题时,不要只回答一个问题,而应该尽量把跟这个问题相关的知识点都说出来,前提是你了解的,懂的。好比面试管问你React,你能够把React的相关特性,应用场景和局限性,和其余框架之间的区别,甚至React全家桶均可以说。再好比面试官问你前端缓存,那你应该把你知道的前端缓存相关的都说出来,好比强缓存,协商缓存,缓存头,no-store和no-cache区别等等说出来,也许面试官就不会再继续问你相关的问题了,这种状况我确实有遇到过。
  • 面试过程必定要自信,在前期面试的时候,因为心理有压力面试不是很自信吃了很多亏,面试官也有提醒过
  • 关于实习和项目,这两个能够说是重点,必定要提早整理好在实习或项目过程当中遇到的难点。在述说过程当中必定要展示你发问题,思考问题和解决问题的过程。说话模式简单总结相似为:在实践过程当中我使用XX工具或者经过XX方法,发现了XX问题,经过xx方法解决了这个问题。而后经过对比说说为何用这个方法,例如由于这个方法跟其余方法相比有xx优点,另外若是用到了库,那么也要说说这个库的实现原理是什么。总之,要体现你发现问题和解决问题的能力。
  • 整理难点问题,能够写在一张纸上,在面试前本身想好面试官可能会问你什么问题,而后查找相关资料,把答案整理一遍,每次面试完后不断反思完善本身的答案。必定要提早准备好,否则面试官叫你说遇到的难点,或者直接问问题时可能会懵逼。
  • 务必记住:在准备过程当中,多思考应用场景,优缺点,局限性等。回答问题时能答上这些最好。好比你项目用来mongodb,那面试官极可能就会问你为何要用mongodb,它的优缺点是什么,跟MySQL相比有什么优点。
  • 多思考更好的解决方案,好比React使用redux状态管理,那么若是不容许使用redux,或者感受redux太麻烦了,你会有什么方案替代它?再好比Vuex呢?
相关文章
相关标签/搜索