面试总结1(21年3月下旬至4月底)
主要求职岗位为前端工程师
个人技术(4年开发经验,Java4年,前端两年半):
- HTML、CSS、JavaScript、jQuery
- React、webpack
- Java
面试经历
坐标:上海,线下面试9家,线上面试>10家,没面过一线大厂
个人感受
对面试的认识
- 面试就是实践回归理论
尤其当某一块技术没有经过系统学习,尽管在开发中使用过,很容易出现会做不会说,面试促使我们梳理知识体系,由吸收转为输出;
- 闷头梳理,不如在面试过程中总结梳理
- 有重点的梳理知识,节省时间,提高效率;
- 了解市场需求,对简历进行调整,突出项目中亮点(你认为好的不一定是别人需要的)
- 没建议裸面,前期大致梳理下即可,别拖长准备期的战线(个人实际只准备了一个月,如果要做一个项目来准备,那另说);
- 技术要广,还要深
企业不可能完全对准岗位或者你的层级去问你,只会用更高一层的要求去考查,有些是我们的知识盲点、有些是我们暂时无法达到的,我们能做的就是更广更深;
对招聘市场的感受(技术方向)
- 只会React不够,Vue也得加入到后续学习中
基本都会问到vue,是否了解,是否有使用;
我个人线上初步接触的和面试的企业,纯用React框架的只有两家;
- TypeScript、Node.js也需要加入后续学习中
Vue3是基于TypeScript的,这两个在我近一半的面试中,也都问到,是否有使用,是否有了解;
- Webpack
大多数没有提及,但是提及的,直接拷问灵魂:脚手架原理、项目中脚手架是自己开发的吗…
- 数据结构与算法
少数笔试题会碰,但是3D、人工智能这方向的,算法非常重视;
知识点总结
HTML
内容不多,也很少问,但是你不能不会
题目:
- 块级元素、内联元素分别是哪些?(笔试题)
- 讲讲canvas;(这是H5新特性,可以对比svg讲讲)
CSS
正常2-3题左右,无论是笔试还是面试沟通
题目:
- 讲讲盒模型;
- 介绍下BFC;
- 清除浮动有哪些方式?
- 如何实现水平垂直居中,你知道几种?
- 介绍下响应式布局?(还没遇到将flex布局单独拎出来问的)
- display:none与visibility:hidden的区别?
- Css实现三角形;
JavaScript
JS基础语法+JS-Web-API
原型、闭包、异步必问,虽然每次面试,不会每个都问到;
跨域、Event loop也是必考,有的笔试,有的口头问;
ES6新特性至少有一半问到了
题目:
- setTimeout和new Promise的区别?(这两个放一块有点奇怪,我立马想到的是微任务和宏任务,前者浏览器规定的,后者ES6语法定义的)
- 简单写一个闭包
- JS手写bind函数
- 讲讲跨域,有哪些解决方案?
- JS如何防抖
- 讲讲事件冒泡、事件代理、事件绑定
- 谈谈JS的原型和原型链
- 讲讲JS的闭包
- 实现继承的方式有哪些
- 手写深拷贝
- 谈谈cookies、session Storage、local Storage这三者;
React
还没整理,后续更新