带着问题去学习
2021-04-12 22:24:06 9 举报
AI智能生成
前端面试知识点准备
作者其他创作
大纲/内容
五、框架与类库
React生命周期及自己的理解<br>
使用路由时出现问题如何解决<br>
介绍路由的history
如何配置React-Router
react-router怎么实现路由切换
路由的动态加载模块<br>
redux的设计思想 <br>
接入redux的过程 <br>
介绍Redux数据流的流程
redux请求中间件如何处理并发<br>
柯里化
Redux中异步的请求怎么处理<br>
Redux中间件是什么东西,接受几个参数(两端的柯里化函数)<br>
使用过的Redux中间件
state是怎么注入到组件的,从reducer到组件经历了什么样的过程<br>
React项目的技术栈是怎样的?讲一下 redux-saga 的概念、API 和用法<br>
Redux如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理<br>
中间件是怎么拿到store和action,然后怎么处理<br>
多个组件之间如何拆分各自的state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,如何思考这块
React/Redux中哪些功能用到了哪些设计模式<br>
connect原理 <br>
绑定connect的过程 <br>
介绍react优化
服务端渲染SSR
React组件中怎么做事件代理
React组件事件代理的原理
React怎么做数据的检查和变化<br>
react-router里的<Link>标签和<a>标签有什么区别<br>
<a>标签默认事件禁掉之后做了什么才实现了跳转<br>
import { Button } from 'antd',打包的时候只打包button,分模块加载,是怎么做到的<br>
React中Dom结构发生变化后内部经历了哪些变化<br>
React挂载的时候有3个组件,textComponent、composeComponent、domComponent,区别和关系,Dom结构发生变化时怎么区分data的变化,怎么更新,更新怎么调度,如果更新的时候还有其他任务存在怎么处理<br>
key主要是解决哪一类的问题,为什么不建议用索引index(重绘)<br>
react异步渲染的概念,介绍Time Slicing 和 Suspense<br>
pureComponent和FunctionComponent区别<br>
介绍JSX
介绍虚拟DOM<br>
介绍下React的Filber架构<br>
画Filber渲染树
SSR 是怎么做的;如何优化 SSR 导致的服务器渲染 CPU/Memory 过高问题<br>
React 受控和非受控组件的区别<br>
React Hooks 优点、解决什么问题、useEffect 的调用时机<br>
六、前端工程
介绍pm2
master挂了的话pm2怎么处理<br>
pm2怎么做进程管理,进程挂掉怎么处理<br>
不用pm2怎么做进程管理
使用过webpack里面哪些plugin和loader
webpack里面的插件是怎么实现的
dev-server是怎么跑起来
使用import时,webpack对node_modules里的依赖会做什么<br>
webpack生命周期
webpack打包的整个过程<br>
如何配置把js、css、html单独打包成一个文件<br>
一般怎么组织CSS(Webpack)<br>
webpack和gulp的优缺点<br>
如何实现分模块打包(多入口)<br>
VUE/React diff 算法的大概思路<br>
简易版 webpack 的实现<br>
Babel 的原理、运行过程、如何做 Polyfill<br>
webpack 优化打包的策略、内部的机制和插件开发的原理<br>
webpack 配置可以怎样优化,有哪些策略,如果项目要使用 TS 在 webpack 中需要配置什么<br>
七、项目和业务
如何解决跨域的问题
表单可以跨域吗
jsonp方案需要服务端怎么配合<br>
Ajax发生跨域要设置什么
加上CORS之后从发起到请求正式成功的过程<br>
跨域怎么解决,有没有使用过Apache等方案<br>
抽取公共文件是怎么配置的
项目中如何处理安全问题
文件上传如何做断点续传
整个前端性能提升大致分几类<br>
介绍xss,xsrf<br>
xsrf跨域攻击的安全性问题怎么防范<br>
如何做工程上的优化<br>
前端怎么做单元测试<br>
页面上有1万个button如何绑定事件<br>
页面上生成一万个button,并且绑定事件,如何做(JS原生操作DOM)<br>
循环绑定时的index是多少,为什么,怎么解决<br>
介绍下数字签名的原理<br>
埋点的实现思路<br>
诸如我现在需要监听那种频繁发生的事件,你有那些优化么<br>
文件上传断点、续传<br>
有没有解决复杂问题的能力
拆分问题的能力
如何优化网页上需要展示的超大图片,从请求和性能来解释<br>
项目中的权限系统是怎样实现的<br>
简述思路:在不使用 Promise 或 async/await 等其他 JS 异步控制的情况下,设计一个网络请求 Scheduler 类,确保每个 ajax 请求的回调函数按发起请求的顺序执行<br>
Ts 有什么优势<br>
八、新技术
介绍service worker<br>
Linux 754 介绍<br>
deno
九、通用问题
能否对我的回答做总结性点评、对我有没有什么建议<br>
团队当前的技术栈和业务方向<br>
团队在公司内外维护的公共组件 or 开源产品,和在社区的活跃度<br>
未来加入这个团队后,我的角色、职责和 leader 对我的期望<br>
如何架构项目
将来的职业规划是怎样的,带领团队/下属最重要的是什么<br>
一、JavaScript、HTML和CSS
柯里化函数两端的参数具体是什么东西<br>
怎么实现this对象的深拷贝
Promise有几个状态 - pending,resolved(fulfilled),rejected<br>
介绍Promise,异常捕获-promise.prototype.catch(),try-catch,Promise.try()
介绍下Promise,内部实现 <br>
如何设计Promise.all()
Promise all/race/finally 的原理<br>
promise、async有什么区别
如何用原生 JS 实现 Promise 的 polyfill,需要注意哪些点<br>
对async、await的理解,内部原理 <br>
Promise和Async处理失败的时候有什么区别<br>
Async里面有多个await请求,可以怎么优化(请求是否有依赖)<br>
JS异步解决方案的发展历程以及优缺点<br>
介绍flex布局<br>
其他css方式设置垂直居中
居中为什么要使用transform(为什么不使用marginLeft/Top)
介绍position属性包括CSS3新增<br>
搜索请求如何处理(防抖)
搜索请求中文如何请求
介绍css3中position:sticky<br>
介绍事件代理以及优缺点
介绍this各种情况<br>
清除浮动 <br>
bind、call、apply的区别 <br>
介绍下原型链(解决的是继承问题吗) <br>
两个对象如何比较<br>
防抖和节流的区别<br>
介绍DOM树对比<br>
JS变量类型分为几种,区别是什么<br>
JS里垃圾回收机制是什么,常用的是哪种,怎么处理的<br>
some、every、find、filter、map、forEach有什么区别<br>
对闭包的看法,为什么要用闭包<br>
盒子模型,以及标准情况和IE下的区别<br>
prototype和——proto——区别<br>
介绍JS数据类型,基本数据类型和引用数据类型的区别<br>
栈和堆的区别<br>
栈和堆具体怎么存储<br>
JS执行过程中分为哪些阶段<br>
随机值存在一样的情况,如何避免<br>
使用原型最大的好处<br>
ajax的原理
js的冒泡(Bubbling Event)和捕获(Capture Event)的区别
meta viewport原理
什么是渐进式渲染<br>
举例说明一个匿名函数的典型用例<br>
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)<br>
为什么用requestAnimationFrame来代替setTimeout<br>
Map和Set的区别?<br>
谈一谈CSS重绘与回流/重排?<br>
CSSOM 是如何寻找 DOM 节点并生成 Render Tree 的,CSS 选择器权重优先级<br>
CSS 后处理器和预处理器分别是什么,有什么区别<br>
什么情况下会发生 Ajax 的跨域请求,浏览器是如何处理 Ajax 跨域的<br>
CSS 选择器的权重,使用什么机制来计算的<br>
type 和 interface 的区别<br>
二、计算机基础
常见Http请求头
介绍http2.0
通过什么做到并发请求
http1.1时如何复用tcp连接
介绍观察者模式\中介者模式
观察者和订阅-发布的区别,各自用在哪里
Http报文的请求会有几个部分<br>
cookie放哪里,cookie能做的事情和存在的价值<br>
cookie和token都存放在header里面,为什么只劫持前者<br>
cookie和session有哪些方面的区别<br>
ES6中的map和原生的对象有什么区别<br>
如何设计一个localStorage,保证数据的实效性
http缓存控制<br>
前端开发中用到哪些设计模式<br>
HTTPS怎么建立安全通道<br>
304是什么<br>
介绍SSL和TLS<br>
事件委托<br>
三、数据结构和算法
手写一个Promise(中高级必考)<br>
介绍冒泡排序,选择排序,冒泡排序如何优化<br>
如何判断链表是否有环
介绍二叉搜索树的特点<br>
介绍暂时性死区<br>
项目中如何应用数据结构<br>
取数组的最大值(ES5、ES6)<br>
如何找0-5的随机数,95-99呢<br>
手写数组去重函数<br>
手写数组扁平化函数<br>
算法:前K个最大的元素<br>
介绍下DFS深度优先 <br>
非递归的二叉树遍历<br>
实现一个new操作符
实现一个JSON.stringify<br>
实现一个JSON.parse<br>
实现一个call或 apply<br>
实现一个Function.bind<br>
实现一个继承<br>
实现一个JS函数柯里化<br>
手写防抖(Debouncing)和节流(Throttling)<br>
手写一个JS深拷贝<br>
实现一个instanceOf<br>
coding: 二叉树的遍历和镜像;实现 EventEmitter<br>
编程题:将一个对象中所有值为字符串的提出取出来,拼接成大的字符串<br>
如何判断模块的循环引用(DFS 拓扑排序)<br>
编程题:有一个长度为 32 的数组,如何将它转换为长度为4*8的二维数组<br>
手写发布订阅者模式
创建二叉树
四、运行环境
浏览器事件流向
从输入URL到页面加载全过程 <br>
介绍AST(Abstract Syntax Tree)抽象语法树<br>
tcp3次握手 <br>
tcp属于哪一层(1 物理层 -> 2 数据链路层 -> 3 网络层(ip)-> 4 传输层(tcp) -> 5 应用层(http))
0 条评论
下一页