js和ts
出现次数 | 题目 | 答案 |
---|---|---|
2 | JS的基本数据类型 | 面试官:说说JavaScript中的数据类型?存储上的差别? |
1 | typescript中对抽象类和interface的理解 | |
1 | 什么时候使用type 什么时候使用interface | |
1 | ts中的可选和必选 | |
1 | ts如何对早期库比如jquery如何补充类型 | |
1 | 动态runtime注入的类型怎样做才能静态不报错 | |
1 | ES5和ES6的继承 | 详解ES5和ES6的继承 |
1 | class里面的方法可以枚举吗,有没有原型对象 | 原型方法不可枚举JS的可枚举性 |
2 | 深拷贝和浅拷贝的区别 | 深拷贝复制堆里的值,浅拷贝只复制引用 |
3 | 深拷贝有哪几种方法 | js浅拷贝与深拷贝的区别和实现方式 |
1 | JSON.parse(JSON.stringify()) 有什么弊端,什么类型的数据是不能拷贝的 | JSON.parse(JSON.stringify(obj))实现深拷贝的弊端 |
1 | 箭头函数和普通函数的区别(只提到this,提示了argument) | 箭头函数与普通函数的区别详解 |
2 | Promise的方法和api | Promise 的各种方法的详细使用 |
1 | Generator、Async之间的区别(不会) | promise,Generator函数,async函数区别与理解 |
1 | 有用过node.js吗,说说你做的脚本 | 用node.js写一个简易脚本 |
1 | cookie和localStorge的api | Document.cookie 和Window.localStorage |
3 | 闭包的理解 | 深入理解JS闭包 |
1 | Map和weakMap的区别 | Set、Map、WeakSet 和 WeakMap 的区别 |
2 | var、let、const,变量提升 | 总结下var、let 和 const 的区别 |
1 | 事件循环,看代码说输出 | |
1 | 讲讲原型链,原型链的终点 | 关于原型链和作用域链的终点问题 |
1 | new函数的时候发生了什么 | JavaScript new对象的四个过程实例浅析 |
1 | == 和 ===的区别 | Js中==与=== |
1 | async await | js中的promise和async await的区别 |
1 | 设计模式 | |
1 | node有哪些创建子进程的方式 | Node.js 子进程:你需要知道的一切 |
1 | 事件循环 | 面试官:说说你对事件循环的理解 |
1 | apply和bind的区别 | 面试官:bind、call、apply 区别?如何实现一个bind? |
1 | 什么叫dom阻塞 | DOM阻塞总结 |
1 | typeof array 返回什么 | 面试官:typeof 与 instanceof 区别 |
CSS
出现次数 | 题目 | 答案 |
---|---|---|
1 | CSS响应式布局的方式有哪些 | CSS实现响应式布局 |
1 | CSS3中的动画怎么用 | animationCSS3动画 |
6 | 文本垂直居中 | 纯CSS实现垂直居中的几种方法 |
2 | 重排和重绘 | 深入理解浏览器的重绘与重排 |
2 | flex解决什么问题 | Flex容器的主要特征是能够调整其子元素在不同的屏幕大小中能够用最适合的方法填充合适的空间 |
2 | css预处理器 | 面试官:说说对Css预编语言的理解?有哪些区别? |
2 | CSS盒模型 | CSS 盒子模型(Box Model) |
1 | css定位&z-index | CSS Position(定位) |
1 | css animate | CSS animation 属性 |
1 | rem和em的区别 | 面试官:说说em/px/rem/vh/vw区别? |
1 | 块级元素和行内元素的区别 | CSS基础-块级元素与行内元素 |
网络
出现次数 | 题目 | 答案 |
---|---|---|
1 | HTTPS的优点有什么 | |
3 | 三次握手四次挥手的过程 | |
1 | XSS和CSRF | xss攻击和csrf攻击的定义及区别 |
3 | 跨域的原因与解决 | 跨域造成原因和解决方法 |
1 | get和post区别 | |
3 | OSI网络七层模型 | |
1 | 应用层协议有哪些 | |
1 | HTTP和TCP分别处于七层模型哪一层 | |
2 | HTTP1.0和2.0 | 面试官:说说 HTTP1.0/1.1/2.0 的区别? |
4 | 解释下http2.0中的多路复用 | 面试官:说说 HTTP1.0/1.1/2.0 的区别? |
4 | TCP和UDP区别 | |
1 | TCP如何保证可靠传输 | |
1 | 开发过程中有什么安全相关的问题, 用token不用cookie,什么是CSP | |
1 | 输入一个URL到页面加载的过程 | |
1 | https是如何保证安全的 | |
1 | 前端路由有哪些 | |
2 | http状态码有哪些 | |
3 | http和https的区别 | |
1 | http建立在什么协议上 | |
1 | CDN | 面试官:如何理解CDN?说说实现原理? |
1 | 为什么会发生丢包 | 网络丢包的四大原因和修复方法 |
浏览器
出现次数 | 题目 | 答案 |
---|---|---|
2 | 浏览器的EventLoop(讲原理、写输出,包含async) | 彻底搞懂浏览器Event-loop |
2 | 浏览器缓存,cookie,localStorage,sessionStorage区别 | 理解cookie、session、localStorage、sessionStorage之不同 |
2 | cookie有没有默认过期时间 | Cookie的过期与删除 |
2 | 输入一个URL到页面加载的过程 | 一个页面从输入URL到页面加载显示完成,这个过程都发生什么? |
1 | 协商缓存的过程 | 网络协议系列 — 强缓存与协商缓存机制 |
HTML
出现次数 | 题目 | 答案 |
---|---|---|
1 | html标签viewport | HTML-Html开发之Viewport的使用 |
1 | iframe标签 | iframe 用于在网页内显示网页 HTML Iframe |
手写题
出现次数 | 题目 | 答案 |
---|---|---|
1 | JS插入排序 | |
1 | JS函数柯里化 | |
1 | JS任务并发器,最多3个任务同时执行,返回promise | javascript 实现一个带并发限制的异步调度器,保证同时最多运行2个任务 |
1 | CSS画一个三角形 | 使用CSS画一个三角形 |
1 | CSS设计封装CSS响应式布局的组件 | 同上面CSS一节,CSS实现响应式布局 |
1 | 每个一秒输出一个数字,1-10 用闭包的方式怎么写 | |
1 | 求两个字符串的最大公共子串 | |
1 | 连续子数组的最大和 | |
1 | 数组中最大值和最小值的差值 | |
1 | 给定str和len,随机返回str中len长度的字符串 | |
1 | 数组拉平 | |
1 | 字符串翻转,一句英文话 整体单词顺序翻转,每个单词的字母顺序不变 | |
1 | 实现两列布局,左列固定宽度,右列宽度自适应。(请给出 flex 的实现方案 和 一种非 flex 的实现方案 | CSS两列布局——左侧宽度固定,右侧宽度自适应的3种方法 |
1 | 正则表达式 数字字母下划线组成的字符串 | |
1 | 找出数组中重复出现过的元素 |
vue
出现次数 | 题目 | 答案 |
---|---|---|
2 | 父子组件挂载生命周期, 更新生命周期 | vue 父子组件的生命周期顺序 |
1 | VUE2.0和VUE3.0差别 | 说说Vue2.0和Vue3.0有什么区别 |
2 | 组件封装是怎么做的 | vue2.0 如何自定义组件(vue组件的封装) |
2 | 设计组件如何保证组件的复用性 比如说一个from表单 | 如何设计一套复用度高、扩展性好的组件系统? |
2 | 具名插槽,插槽作用域 | Vue 作用域插槽 |
1 | 组件能不能用JSON来实现调用 | |
1 | 插件体现的方式,挂载的流程 | vue引入插件时的挂载方式 |
1 | 轮播组件怎么设计和实现 | Vue关于轮播设计与轮播组件的实现 |
1 | vue生命周期 | Vue 实例 |
1 | Vuex的使用场景 | 需要在前端存储的场景Vuex 是什么? |
1 | mutation是同步的吗,可不可以直接改state | vue Mutation 必须是同步函数 |
1 | 讲一下webpack自动化部署 | webpack实现自动构建部署 |
1 | 懒加载的实现 | Vue实现懒加载的基本思路 |
1 | proxy可以监听嵌套对象的变化吗 | 可以Proxy监听对象的数据变化,处理绑定数据很有用 |
1 | vue操作dom在哪个生命周期 | vue 的生命周期?什么阶段才能调用DOM?什么阶段能发起请求? |
1 | v-if和v-show | vue中v-if与v-show的区别以及使用场景 |
1 | vue,react这些框架,对比原生有什么优势 | 开放题,基本同vue和原生JS区别 |
1 | vue和原生JS区别 | 各方面包括虚拟dom,双向绑定、组件复用、路由等 |
1 | Vue双向绑定的原理 | 面试官:双向数据绑定是什么 |
1 | v-for为什么要绑定key | 便于diff算法进行优化 |
1 | computed和watch的区别 | computed和watch的区别 |
其他基础知识
出现次数 | 题目 | 答案 |
---|---|---|
1 | 平衡二叉树的时间复杂度 | |
1 | 无序的数组找一个元素的时间复杂度 | |
1 | Hash存储原理 | |
1 | git操作 git revert 和 git reset区别 | |
1 | git合并多个commit的操作 |
react
出现次数 | 题目 | 答案 |
---|---|---|
1 | react生命周期 | |
1 | useEffect的执行机制和原理 | |
1 | 用过哪些hook,各有什么作用 | |
1 | 介绍几个自己封装的hook |
项目问题
出现次数 | 题目 | 答案 |
---|---|---|
1 | 微前端原理和优势 | |
1 | 如何使用编译和ast的 | |
1 | websocket是如何做的,链接异常和边界问题是怎么处理 | |
1 | 讲一下node写的图片压缩 | |
1 | RN、小程序动态化了解吗 | |
1 | websocket建连过程 | |
1 | 小程序渲染和h5渲染的区别 | |
1 | 讲一下node写的图片压缩 | |
1 | redux _thunk 介绍 | |
1 | Canvas | |
1 | 为什么想做前端 | |
1 | 怎么学习前端,具体学什么呢 | |
1 | 前端现在比较新的技术有了解吗 |