为公司面试了100多个前端,心态对我来说都快崩溃了。没有简历,问一些基本问题,问三个问题,问横向和纵向居中布局,半天说不出来,小弟说不知道怎么回答你,我累了。我只想说,这真的是三年经验吗?下面我将前端面试的知识点总结一下,希望对以后即将面试面试的小弟有所帮助!skr~~skr前端基础知识:(1)css盒模型(老生常谈)、BFC理解、选择器、层级上下文、三列布局(position、flex、float等)的多种实现、自适应布局rem原理(如何兼容不同的手机dpi),font-size10px如何实现,移动端一个像素,媒体查询等基础问题都是知识点。(2)html基本问题很少,重要性不重要,就是标签的一些语义理解,h5的新特性,storage/cookie(3)js是重点,会从基础。从浏览器返回html到渲染页面,再到中间涉及的优化点。面试题分享HTML浏览器页面的三层是什么,分别是什么,作用是什么?HTML5的优缺点?Doctype的作用?如何区分严格模式和混合模式?他们的意思是什么?HTML5中有哪些新内容,删除了哪些元素?您在哪些浏览器上测试过您的网页,这些浏览器的核心是什么?每个HTML文件的开头都有一个很重要的东西,Doctype,你知道这是干什么用的吗?说说你对HTML5的理解?(what,why)对WEB标准和W3C的理解和理解?……CSS解释一下CSS的盒模型?请告诉我CSS选择器有哪些类型,并举几个例子来说明它们的用法?请告诉我CSS有什么特别之处?(优先级,计算特殊值)常见的浏览器兼容性问题及解决方法?列出显示值并解释它们的作用?如何居中一个div,如何居中一个浮动元素?请列出几种(至少两种)清除浮动元素的方法?块、内联和inlinke-block细节的比较?什么是优雅降级和渐进增强?谈谈浮动元素带来的问题和你的解决方案。你有哪些性能优化方法?......JavaScriptjs的各种位置,比如clientHeight、scrollHeight、offsetHeight,以及scrollTop、offsetTop、clientTop的区别?js拖拽功能的实现js的异步加载js防抖节流的方法说说闭包说说你对scopechainJavaScriptprototype,prototypechain的理解?有什么特点?请解释一下什么是事件委托/eventdelegationJavascript如何实现继承?函数执行改变了thisbabel的编译原理函数currying说说类的创建和继承说说前端的事件流如何让事件先冒泡再捕获说说图片的懒加载和预加载jsnew操作符是干什么的?改变函数内部this指针的指向功能(bind、apply、call的区别)Ajax解决浏览器缓存问题...由于文章篇幅有限,只能展示部分面试题。如果您需要,请单击此处获取免费问题+解析PDF。VueVue中键值的作用为什么Vue组件中的数据一定要是函数呢?vuex的State特性是什么?介绍一下Vue的响应式系统computed和watch的区别。介绍一下Vue的生命周期。为什么组件的数据必须是一个函数?组件如何通信?如何在Vue.cli中使用自定义组件?你遇到过什么问题吗?Vue是如何实现按需加载和webpack设置的?简述每个周期适用于哪些场景。什么是scs?Vue.cli的安装步骤是什么?有哪些主要特点?谈谈你对Vue.js模板编译的理解?Vue路由跳转的几种方式Vue是如何实现按需加载和webpack设置的?Vue的路由实现:hash模式和history模式Vue、Angular、React有什么区别?Vue路由的钩子函数Vue的计算属性是什么?......React介绍reactReact单数据流react生命周期函数和react组件生命周期reactJs组件通信的原理、区别、亮点、作用你了解过react的虚拟DOM吗?VirtualDOM是如何比较的?项目中用到了react,为什么选择react,react有什么好处?如何获得真正的dom?选择React的原因?React的jsx,函数式编程react的组件是通过什么来判断刷新与否如何配置React-Router路由的动态加载模块什么是Redux中间件,接受几个参数Redux请求中间件如何处理并发浏览器跨标签页面通信浏览器Architecture浏览器下的事件循环(EventLoop)从输入url到显示过程重绘和回流存储WebWorkerV8垃圾回收机制内存泄漏回流(reflow)和重绘(repaint)优化如何减少重绘和回流?一个页面完成从输入URL以加载和显示页面。在这个过程中会发生什么?localStorage和sessionStorage以及cookies的区别总结...服务器和网络HTTPS和HTTPHTTP版本的区别从输入URL到页面渲染发生了什么?HTTP缓存缓存位置强缓存协商缓存资源用户行为影响浏览器缓存缓存的不同优势刷新请求执行过程...算法和数据结构二进制树序遍历B树的特点,B树和B+树的区别尾递归大数阶乘怎么写?递归方法会出什么问题?多维数组转一维数组的方法说说冒泡快排的原理堆排序方法的原理?复杂性?几种常见的排序算法,手写数组去重,方法尽量多写如果有一个大数组,里面全是整数,怎么求最大的前10个数由于文章篇幅有限,只讲了一部分可以展示面试题,点此获取免费题+分析PDF掌握以上基本就可以横冲直撞了,怎么霸道,就是框架和打包工具的使用和原理知识~~~后续详解揭示几个面试技巧(1)简历是贼**,看完简历各种框架都会用,比如webpack/vue全家桶,react全家桶,rollup/node,基础会冷到什么时候你问。~~~~框架底层还是js为主,基础不扎实,面试泪流满面。(2)简历的技术点要写自己擅长的,面试一个妹子,2年工作经验,写对vue原理的深刻理解,一个问题nextTick怎么获取更新的DOM,很简单,不知道~当然会扣分。基础知识不懂很多,爽~(3)面试要诚实,不要浮躁,有些知识点不懂也没有问题。一个精神小伙,问rem响应式布局的原理,js判断是怎么实现的,不懂~_~,问能不能跳过这道题,最近没怎么看。我:你最近在哪儿看?jsxh:前端工程的东西?我:我很浮躁~,说说common.js/es6模块化方案的区别?多个项目文件如何将nodeModules共享为一个workspace?如何监控git提交?ts解决什么问题?酷~~工程是个大问题。从开发、编译、部署、上线都有很多点。(4)项目写的不错,手写了一个节流emmm,手写了一个深拷贝emmm,手写了一个promise.all,~~emmmm(5)遇到了几个不错的人选。虽然有些知识点和笔迹功底很差,但是人很靠谱,nice。之前看我是初级开发工程师,给个通过的机会,这不是技术会杀死人。总结一下,基础和写代码的能力很重要~很重要~很重要~,再好的框架,底层也是基础,还有整个知识点,设计模式,等被整合。至于框架问了哪些问题,如何准备,下次再细说。
