“寒冬”三年经验前端面试总结(含头条、百度、饿了么

  • sleep函数

  • 实现promise

  • 实现promise.all

  • 实现promise.retry

  • 将一个同步callback包装成promise形式

  • 写一个函数,可以控制最大并发数

  • jsonp的实现

  • eventEmitter(emit,on,off,once)

  • 实现instanceof

  • 实现new

  • 实现数组flat、filter等方法

  • lazyMan

ES6

现在基本上都会使用ES6开发。ES6也成为了一个面试必考点。一般面试官都会问用过ES6的哪些新特性,再针对你所回答的进行深入的提问。

  • let、const、var区别

  • 箭头函数与普通函数的区别

  • 变量的结构赋值

  • promise、async await、Generator的区别

  • ES6的继承与ES5相比有什么不同

  • js模块化(commonjs/AMD/CMD/ES6)

浏览器相关知识

浏览器相关知识几乎是每个公司都会问到的考点,里面涉及的东西也比较多。其中缓存、http2、跨域必问。

  • 从输入URL到呈现页面过程

  • 强缓存、协商缓存、CDN缓存

  • HTTP2

  • HTTP状态码

  • 三次握手与四次挥手

  • 跨域(JSONP/CORS)

  • 跨域时如何处理cookie

  • 垃圾回收机制

web安全

一般我都会从xss和csrf说起。

  • https

  • 什么是xss,如何预防

  • 什么是csrf,如何预防

  • 为什么会造成csrf攻击

事件循环

事件循环绝对是一个必考题。其中涉及到宏任务、微任务、UI渲染等的执行顺序,浏览器端的必须要掌握,node端的有精力的最好也能掌握。

框架(vue)

因为我一直用的都是vue框架,所以问的也都是跟vue相关的。vue中的高频题也不外乎双向绑定、虚拟dom、diff算法这些。

  • watch与computed的区别

  • vue生命周期及对应的行为

  • vue父子组件生命周期执行顺序

  • 组件间通讯方法

  • 如何实现一个指令

  • vue.nextTick实现原理

  • diff算法

  • 如何做到的双向绑定

  • 虚拟dom为什么快

  • 如何设计一个组件

webpack

webpack也基本上成了必考的内容,一般会问是否配置过webpack、做过哪些优化之类的。

  • 用过哪些loader和plugin

  • loader的执行顺序为什么是后写的先执行

  • webpack配置优化

  • webpack打包优化(happypack、dll)

  • plugin与loader的区别

  • webpack执行的过程

  • 如何编写一个loader、plugin

  • tree-shaking作用,如何才能生效
    其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年

真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲
详情关注公中号【编程进阶路】

里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值