前端面试题 · 2021年4月12日 0

给公司面试了100多个前端,心态差点给爷整崩了

页面上部广告

公司最近在做扩招,从去年到现在给公司面试前端,到现在大概面了100~200个,给我整哭了

简历简历不带,问点基础题,一问三不知,

问个水平垂直居中布局,支支吾吾半天说不出来,

还有个弟弟说你这样问我不知道怎么回答,累了。

我只想说,这真的有三年的经验嘛?

下面我总结一下前端面试的知识点,希望能对即将面试和未来面试的小老弟们,有所帮助!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认识?(是什么,为什么)
  • 对WEB标准以及W3C的理解与认识?
  • ……

CSS

  • 解释一下CSS的盒子模型?
  • 请你说说CSS选择器的类型有哪些,并举几个例子说明其用法?
  • 请你说说CSS有什么特殊性?(优先级、计算特殊值)
  • 常见浏览器兼容性问题与解决方案?
  • 列出display的值并说明他们的作用?
  • 如何居中div, 如何居中一个浮动元素?
  • 请列举几种清除浮动的方法(至少两种)?
  • block,inline和inlinke-block细节对比?
  • 什么叫优雅降级和渐进增强?
  • 说说浮动元素会引起的问题和你的解决办法
  • 你有哪些性能优化的方法?
  • ……

JavaScript

  • js的各种位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的区别?
  • js拖拽功能的实现
  • 异步加载js的方法
  • js的防抖与节流
  • 说一下闭包
  • 说说你对作用域链的理解
  • JavaScript原型,原型链 ? 有什么特点?
  • 请解释什么是事件委托/事件代理
  • Javascript如何实现继承?
  • 函数执行改变this
  • babel编译原理
  • 函数柯里化
  • 说一下类的创建和继承
  • 说说前端中的事件流
  • 如何让事件先冒泡后捕获
  • 说一下图片的懒加载和预加载
  • js的new操作符做了哪些事情
  • 改变函数内部this指针的指向函数(bind,apply,call的区别)
  • Ajax解决浏览器缓存问题
  • ……

由于文章篇幅有限,只能展示部分面试题,有需要的点击这里免费领取题目+解析PDF

Vue

  • Vue中 key 值的作用
  • Vue 组件中 data 为什么必须是函数?
  • vuex的State特性是?
  • 介绍一下Vue的响应式系统
  • computed与watch的区别
  • 介绍一下Vue的生命周期
  • 为什么组件的data必须是一个函数
  • 组件之间是怎么通信的
  • Vue.cli中怎样使用自定义的组件?有遇到过哪些问题吗?
  • Vue如何实现按需加载配合webpack设置
  • 简单描述每个周期具体适合哪些场景
  • scss是什么?在Vue.cli中的安装使用步骤是?有哪几大特性?
  • 聊聊你对Vue.js的template编译的理解?
  • Vue 路由跳转的几种方式
  • Vue如何实现按需加载配合webpack设置?
  • Vue的路由实现:hash模式和history模式
  • Vue与Angular以及React的区别?
  • Vue路由的钩子函数
  • 什么是Vue的计算属性?
  • ……

React

  • 介绍一下react
  • React单项数据流
  • react生命周期函数和react组件的生命周期
  • react和Vue的原理,区别,亮点,作用
  • reactJs的组件交流
  • 有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢
  • 项目里用到了react,为什么要选择react,react有哪些好处
  • 怎么获取真正的dom
  • 选择react的原因
  • react的生命周期函数
  • setState之后的流程
  • react高阶组件知道吗?
  • React的jsx,函数式编程
  • react的组件是通过什么去判断是否刷新的
  • 如何配置React-Router
  • 路由的动态加载模块
  • Redux中间件是什么东西,接受几个参数
  • redux请求中间件如何处理并发

浏览器

  • 跨标签页通讯
  • 浏览器架构
  • 浏览器下事件循环(Event Loop)
  • 从输入 url 到展示的过程
  • 重绘与回流
  • 存储
  • Web Worker
  • V8垃圾回收机制
  • 内存泄露
  • reflow(回流)和repaint(重绘)优化
  • 如何减少重绘和回流?
  • 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
  • localStorage 与 sessionStorage 与cookie的区别总结
  • ……

服务端与网络

  • HTTPS和HTTP的区别
  • HTTP版本
  • 从输入URL到页面呈现发生了什么?
  • HTTP缓存
  • 缓存位置
  • 强缓存
  • 协商缓存
  • 缓存的资源在那里
  • 用户行为对浏览器缓存的影响
  • 缓存的优点
  • 不同刷新的请求执行过程
  • ……

算法与数据结构

  • 二叉树层序遍历
  • B树的特性,B树和B+树的区别
  • 尾递归
  • 如何写一个大数阶乘?递归的方法会出现什么问题?
  • 把多维数组变成一维数组的方法
  • 说一下冒泡快排的原理
  • Heap排序方法的原理?复杂度?
  • 几种常见的排序算法,手写
  • 数组的去重,尽可能写出多个方法
  • 如果有一个大的数组,都是整型,怎么找出最大的前10个数

由于文章篇幅有限,只能展示部分面试题,有需要的点击这里免费领取题目+解析PDF

掌握如上基本可以横行了,如何霸道呢,那就是框架和打包工具的使用和原理知识了~~~后续详解

透漏几个面试小技巧

(1)简历写的贼**,看了简历各种框架会用,什么webpack/vue全家桶、react全家桶、rollup/node都有,一问基础就凉了。 ~~~~框架的底层还是js基础,基础不扎实,面试两行泪。

(2)简历的技术点要写自己擅长的,面试一妹子,2年工作经验,写着深刻了解vue原理,一个问题nextTick是怎么可以获取到更新后的DOM的,很简单,不知道~~当然会扣分。问基础很多不知道,凉~~

(3)面试要诚实,不可以浮躁,不会一些知识点也没什么问题。一精神小伙,问rem响应式布局原理,js判断怎么实现的,不知道~~_~~,问我可不可跳过这个题,最近没怎么看。 我:最近在看哪方面?jsxh:前端工程化东西? 我:心里想很浮躁~~~,说一下common.js/es6模块化方案的不同?多个项目文件共nodeModules如何做工作区间?如何监听git提交?ts解决哪些问题? 凉~~~~ 工程化是个很大的一个问题,从开发,编译,部署,上线都是有很多的点

(4)项目说的很到位,手写一个节流emmm,手写一个深拷贝emmm,手写一个promise.all,~~emmmm

(5)遇到几个不错的候选人,虽然一些知识点和手写代码能力差一些,人很靠谱很nice,看到了以前初级开发工程师的我,我会给机会通过,不是技术会把人卡的死死的。

总结下来基础和手写代码能力很重要很重要很重要~,框架做的再好底层也是基于基础去做的,整个了各种知识点、设计模式等。至于框架问哪些问题,如何准备,下回分解。

粤ICP备18017334号
粤ICP备18017334号
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress