前戏:
又到了一年中跳槽的好日子,当初的前端开发曾经不像几年前的前端了,曾经越来越内卷化,面试越来越难,大厂越来越难进,毕业生难找到工作且工资低,好公司的前端岗都是宁缺毋滥的状况,让我想起了当年Android和IOS开发衰亡而后到需要饱和的那几年。
想要破局就要一直的打造本人的外围竞争力。我集体通过平时的学习总结出了进阶前端专家同时也是面试中常常会呈现的问题,以下是我集体认为进阶到前端专家(俗称大佬)的必须要懂的前端问题清单,一方面是给本人的指标,一方面是分享给大家,如有不好的中央,大家也能够指出,独特学习:
清单就分模块来列举,为不便大家记忆和篇幅问题对应的答案、口试题目就不去列举了,同时也能考验大家的检索式学习(来自《认知本能》):
JS
- 说一下toPrimitive和类型转换
- 说一下变量晋升和函数晋升的优先级
- 为什么0.1+0.2不等于0.3,如何解决?
- 什么是闭包,闭包有哪些利用场景
- 什么是柯里化,手写一下func(1)(2)(33)...的累加实现
- 对象深拷贝有哪些办法?手写一下对象深拷贝
- 说一下new和.的优先级
- 手写new的执行过程
- 什么是js函数式编程、纯函数、高阶函数
- 防抖和节流函数的区别,手写一个防抖
- bind、call、apply的区别,手写一个bind
- 什么是面向切面编程
- instanceof和typeof能精确判断援用类型么,如何精确判断援用类型?
- 什么是类数组,如何转换成数组
- 讲一下原型链,为什么Function.prototype === Function.__proto__
- 讲一下js继承的几种形式的优缺点,手写一个寄生组合继承
- 讲一下promise原理,实现一个简略的promise
- 讲一下js事件循环,宏工作、微工作的区别
- 手写公布订阅模式
- 箭头函数须要留神哪些问题
CSS
- 行内和块级元素的区别
- css盒模型有哪些和区别
- css选择器优先级
- CSS中哪些属性不能够从父元素继承
- 垂直居中有哪些办法
- 什么是BFC
- CSS 动画实现一个菊花图
- 如何设置小于12px的字体,画一条0.5px的线
- 挪动端1px解决方案
- rem和em和vh的区别
- CSS 实现一个三角形、正方体
- 响应式和自适应的区别
- 如何适配多种设施的屏幕
HTML5
- 什么是HTML语义化、SEO
- 手写一个右边固定左边自适应的布局
- 手写一个圣杯布局、双飞翼布局
- script标签、style标签、link标签哪些会阻塞渲染
- 有做过canvas吗
浏览器
- GET和POST的区别,什么是restfulAPI
- 什么是事件代理、事件冒泡、事件捕捉
- cookie和localstorage、seeionStorage的区别
- 讲一下从浏览器输出url到最终页面出现的过程
- 如何解决列表渲染过多DOM元素的卡顿问题
- 如何解决浏览器缓存问题,强缓存、协商缓存的区别
- 有遇到哪些IE浏览器兼容性问题,如何解决的?
框架(vue)
- Vue的生命周期都干了些什么
- Vue组件通信的形式有哪些
- watch、methods 和 computed 的区别
- 什么是MVVM
- 说一下双向绑定原理,手写个简略的双向绑定
- 你感觉Vue源码中有哪些亮点
- v-for中为什么要应用key
- vue的高级用法有哪些及作用
- vue-Router原理是什么
- vue-Router钩子函数的作用
- Vue的nextTick原理是什么
- 什么是虚构DOM
- 简略说一下Vue和React的意识,之间的区别
- Vue3更新了哪些货色
- 有理解Vite吗
前端工程化
- 单页和多页利用的区别
- 什么是工程化、模块化、组件化
- 写过通用性组件吗
- 你晓得哪些前端性能优化办法
- 简略说一下webpack原理
- 什么是webpack树抖动、scope hoisting
- 什么是sourcemap
- 如何实现多页面打包,挪动端适配打包
- 有写过loader或plugin吗
- 什么是SSR、如何实现SSR
- 有做过跨端开发吗
网络
- 什么是TCP/IP
- 什么是跨域,如何解决
- 为什么要三次握手四次挥手
- 你晓得哪些http响应状态码,别离示意什么
- https为什么平安
- 什么是xss,csrf
其余
- 平时是怎么学习前端的
- 最近在关注哪些新技术
- 有造过哪些轮子
- 为什么抉择前端
- 有做过后端开发吗