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年底前端面试总结

相关文章
梳理前端开发使用eslint-prettier检查和格式化代码
问题痛点 在团队的项目开发过程中,代码维护所占的时间比重往往大于新功能的开发。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。 对于代码版本管理系统(svn 和 git或者其他)...
2018-05-07
Bootstrap table简单使用总结
最近接触一个很棒的插件,Bootstrap table没做过前端的表示对table的印象还只停留在html的table标签那一套,用过bootstrap table之后不得不说真的很实用。 构造方式 1 、HTML <div clas...
2017-03-17
五个值得尝试的前端开发工具
在过去的几年时间里,出现了许多全新的网页应用程序,不过,由于应用程序的功能越来越丰富,也导致了前端开发的复杂度大幅增加。 现在也有不少前端开发工具,比如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
前端开发领域推荐关注的微信公众号
这篇文章分享了前端领域的多个值得关注的技术、设计、极客、创业相关微信公众号。其中有最受欢迎的热门公众号、也有专注某个技术或设计的公众号,涵盖:算法、JavaScript、Nodejs、程序员、Web前端、Linux、数据库、创业、UI设计和...
2017-03-23
优化RequireJS项目的相关技巧总结
本文将演示如何合并与压缩一个基于RequireJS的项目。本文中将用到苦干个工具,这其中就包括Node.js。 因此,如果你手头上还没有Node.js可以点击此处下载一个。 动机 关于RequireJS已经有很多文章介绍过了。这个工具可以将...
2017-03-27
JAVA四种基本排序方法实例总结
本文实例讲述了JAVA四种基本排序方法。分享给大家供大家参考。具体如下: JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法.其中选择法是冒泡法的改进,SHELL排序法是 插入法的改进.所以从根本上来说可以归纳为两种不同的排...
2017-03-27
JavaScript数据类型判定的总结笔记
用typeof 来检测数据类型 Javascript自带两套类型:基本数据类型(undefined,string,null,boolean,function,object)和对象类型。 但是如果尝试用typeof 来检测对象类型都一律返回&...
2017-03-27
Vue.js bootstrap前端实现分页和排序
写之前先抱怨几句。本来一心一意做.net开发的,渐渐地成了只做前端。最近项目基本都用java做后台,我们这些.net的就成了前端,不是用wpf做界面,就是用html写web页面。 深知自己前端技术不足,以前虽说用asp.net前后台都做,但...
2017-03-14
回到顶部