2018年底前端面试总结

2018-12-08 admin

主要是整理一些自己还记得的面试题。很多题目会根据项目内容提问,现在只记得一些比较常规的问题,后面想起来会做一些补充。标注重点的是频繁出现的,也确实很重要的知识点。

css

  • 盒子模型:ie与其他浏览器的区别,如何改变盒子模型
  • 图形:实现扇形/圆环/梯形/三角形等(建议掌握常见图形实现)
  • 定位:position有哪些值并描述作用,z-index使用条件以及优先级
  • flex:有哪些属性并描述作用,如何实现栅格/圣杯布局/流式布局等(重点,建议记住所有属性并掌握常见使用场景)
  • 布局:垂直居中/九宫格/固定某个自适应某个的方法有哪些(建议每个常见布局多了解几种方法)
  • 使用过哪些css3特性
  • 动画:animation有哪些属性值及其基本使用,实现一个上抛后下坠的动画,jquery中是如何实现动画的,知道或使用过哪些动画库
  • 转换:transform有哪些属性值以及基本使用

js

  • 基本数据类型和引用数据类型分别有哪些及其区别
  • 原型/原型链是怎么样的,分别使用es5和es6实现继承,继承方法有哪些并各有什么优缺点,你在项目中哪里使用到原型链/继承(重点)
  • 有哪些设计模式,你在项目哪里使用到
  • 说说闭包和链式调用,你在哪里使用到闭包
  • this指向问题(一般会有具体的代码)
  • 说说JS的内存机制及垃圾回收机制
  • call/apply/bind的作用与区别
  • 有哪些遍历数组的方法及其特点
  • 实现一个深拷贝的方法
  • 函数节流和防抖的实现
  • 数组去重的实现方法(建议掌握多种方法,并知晓其特点)
  • 数组的排序,乱序,找出中位数(建议掌握多种方法,并知晓其特点)
  • 二叉树的三种遍历方法
  • 使用es6实现一个工厂模式
  • 实现一个观察者模式(重点)
  • 实现一个lazyMan(请自行搜索)
  • 线性数据结构转换成树形结构
  • 求数组中最大和的连续子数组
  • 封装一个只能执行一次的函数 once(fnc),后面执行返回undefined
  • 如何解决数字运算精度问题,比如0.1+0.2!=0.3
  • 使用过哪些es6特性
  • let/const/var的区别
  • 普通函数和箭头函数的区别
  • Promise和async/await的使用及其异同(重点,最好能使用es5实现Promise)
  • 运算结果:true == ‘1’, 3 + ‘2’, 3 * ‘2’, a=1;b=a++ 等等

通信协议

  • http状态码有哪些及其含义(重点,建议除了404和200再至少记住常见的10个)
  • http控制缓存的方法以及区别,什么情况会出现304,你的项目中是如何配置的(重点)
  • https与http的区别,https的原理及其局限性,说说http2
  • 请求方法有哪些及其区别,请求报头/响应报头有哪些
  • 登录注册除了https还有哪些可以增强安全性
  • WebSocket是什么及其特点

vue/react

  • vue的内置组件有哪些,nextTick有什么用
  • vue/react组件生命周期(重点,建议描述完整的过程,并描述各个钩子函数可以做哪些事情,而不仅仅是说出钩子函数)
  • vue的双向数据绑定原理(重点,除了监听数据变化,建议再了解一下数据变化后到更新dom的过程,主要是发布-订阅者模式)
  • vue的virtual-dom原理及其更新算法
  • vue-router路由的两种模式有什么区别
  • 在vue中数组的哪些操作方法可以触发vue视图更新,为什么
  • vue父子组件之间如何通信
  • vuex的基本使用原理,你在哪些项目的哪些地方使用到
  • 开发过哪些组件,依据什么理念或方法去设计开发组件
  • spa有什么特点,服务端渲染有什么特点
  • vue和react有什么区别(如果使用过不止一个框架,那么很可能会问类似的问题)
  • 最近react更新了哪些内容(主要是新版本的特性,可以适当跟之前版本对比)

浏览器及其他

  • 浏览器输入url到显示出页面内容的过程(重点,建议至少要从建立通信和浏览器解析渲染角度去说)
  • Dom 插入/删除/查找/移动操作,分别有哪些方法
  • gulp与webpack的区别
  • webpack的基础配置有哪些(重点)
  • 项目中你在webpack做了哪些优化,项目中你打包成哪些文件,有哪些加快build的优化方法(重点)
  • 有哪些优化网站性能的方法,有哪些图片优化方法(重点)
  • 一个页面有非常多内容的时候如何优化,比如一个非常长的列表
  • 同源策略是什么,跨域有哪些解决方法,jsonp原理是什么(重点)
  • 如何实现上报js报错,如何监听js报错
  • Hybrid App实现Native与H5交互的方法有哪些,需要注意什么事情,你在项目中是怎么做的
  • Hybrid App如何调试,如何定位问题
  • Service worker是什么,有什么特点,HTTP缓存与Service worker缓存有什么区别
  • 图片上传前怎么实现图片预览,上传中怎么获取进度
  • 后台系统怎么设计权限控制
  • 遇到过哪些兼容性问题(有时候会针对pc、移动端问)

常规题

  • 你做的最满意/最复杂的一个项目是哪个,你遇到最难/最棘手的问题有哪些,是如何解决的
  • 最近有在研究什么东西
  • 平时的学习计划是怎样的
  • 技术上想从哪些方向发展/学习
  • 你的职业规划是什么
  • 为什么从上家公司离职

总结

上面遇到的问题有些是笔试,有些是交谈问的,也有些都出现过。笔试的时候建议先易后难,尽量不要留白,可以描述一下思路,或者写几个关键点,也比留白好很多,因为面试官未必会针对你没答出来的题目再次进行提问。另外,一些单词要记得如何读写,不然很多时候你知道这个东西,但是你却表达不出来,也是要扣分的。总之要深度理解、举一反三、逻辑清晰、表达流畅


以上,仅供参考。

[转载]原文链接:https://segmentfault.com/a/1190000017306442

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-47641.html

文章标题:2018年底前端面试总结

相关文章
面试官:谈谈你对 CSS 盒模型的认识?(你确定会?)
题目:谈谈你对 CSS 盒模型的认识 涉及知识点(层层递进): 基本概念:标准模型+ IE模型(区别) CSS如何设置这两种模型 JS如何设置获取盒子模型对应的宽和高 实例题(根据盒模型解释边距重叠) BFC(边距重叠解决方案) 1...
2018-06-09
Bootstrap table简单使用总结
最近接触一个很棒的插件,Bootstrap table没做过前端的表示对table的印象还只停留在html的table标签那一套,用过bootstrap table之后不得不说真的很实用。 构造方式 1 、HTML <div clas...
2017-03-17
前端工程师应该具备的三种思维
如果你是一个天才等级的工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一个人不会不佩服你。但现实归现实,多数人都不是天才,而我们在职场上也不是单打独斗,我们需要团队合作,需要协调和配合,需要考虑除了代码以外...
2016-01-13
前端开发领域推荐关注的微信公众号
这篇文章分享了前端领域的多个值得关注的技术、设计、极客、创业相关微信公众号。其中有最受欢迎的热门公众号、也有专注某个技术或设计的公众号,涵盖:算法、JavaScript、Nodejs、程序员、Web前端、Linux、数据库、创业、UI设计和...
2017-03-23
五个值得尝试的前端开发工具
在过去的几年时间里,出现了许多全新的网页应用程序,不过,由于应用程序的功能越来越丰富,也导致了前端开发的复杂度大幅增加。 现在也有不少前端开发工具,比如Backbone和EmberJS框架都能提供稳定的App开发解决方案。同时,Javasc...
2015-12-23
javascript 中的try catch应用总结
<script language="javascript"> try { throw new Error(10,"asdasdasd") } catch (e) { alert(e.mes...
2017-04-05
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
大家在做些页面的时候,很多都是用ajax实现的,在显示的时候有很多表单提交的add或者update操作,显然这样很烦,突然想到了一个比较好的方法,下面给大家分享下如何用js 实现依赖注入的思想,后端框架思想搬到前端来。 应用场景: 前后端一...
2017-03-29
优化RequireJS项目的相关技巧总结
本文将演示如何合并与压缩一个基于RequireJS的项目。本文中将用到苦干个工具,这其中就包括Node.js。 因此,如果你手头上还没有Node.js可以点击此处下载一个。 动机 关于RequireJS已经有很多文章介绍过了。这个工具可以将...
2017-03-27
JavaScript数据类型判定的总结笔记
用typeof 来检测数据类型 Javascript自带两套类型:基本数据类型(undefined,string,null,boolean,function,object)和对象类型。 但是如果尝试用typeof 来检测对象类型都一律返回&...
2017-03-27
ES6笔试面试题总结
收集整理的一些ES6的笔试面试题,出处在最底部标明 把以下代码使用两种方法,来依次输出0到9? var funcs = [] for (var i = 0; i < 10; i++) { funcs.push(functi...
2018-04-22
回到顶部