Skip to content

面试真题

不完全记录

公司1

一面

  1. 自我介绍

  2. 介绍项目哪个是对接外面的,哪个是校园的,介绍项目的背景. 难点,遇到的问题及解决方案

  3. css八股,元素居中,没有给定宽高的情况,盒模型,页面渲染

  4. js,let/const,Promise,Promise.all

  5. 网络,TCP/UDP,TCP稳定传输的机制,websocket用到的场景,断开了怎么办

  6. 代码,层序遍历,二分查找,讲思路

  7. 反问

一面

  1. 自我介绍

  2. 比较有挑战性的项目中一些复杂的技术点

  3. 封装组件

  4. 难点

  5. 有涉及表单联动相关的东西吗?

  6. mobx的原理,监听变化的逻辑是怎么实现的

  7. proxy里面,比如他触发get,set,get做什么,set又做什么,里面的细节

  8. 数组和链表的区别,查询和操作的效率分别是什么样的

  9. 队列和栈的区别,使用场景有哪些

  10. 设计模式

  11. 实现一个观察者模式

  12. 进程,线程,协程的区别

  13. useState是怎么实现的?为什么使用链表而不是数组

  14. let/const/var的区别

  15. css优先级规则

  16. 页面突然白屏了,哪些排查手段?

  17. css实现垂直居中

  18. 跨域及解决方案

  19. 学习前端的渠道

  20. 开源框架的源码

  21. 代码:反转字符串,二分查找,正则表达式

公司2

一面

  1. 自我介绍

  2. 介绍项目,统一身份认证如何实现的,,,cookie存储token,二级域,失效时间配置

  3. css八股,元素居中,flex常用属性,flex子级属性,flex:1的作用

  4. js,let/const/var;防抖和节流;数组常用操作;事件循环;

  5. 网络,TCP,三次握手,两次不行吗

  6. url输入到浏览器发生了什么

  7. 代码,防抖,数组按给定层级flat

  8. 事件循环输出题并解释

  9. 反问

一面

  1. 自我介绍

  2. 介绍项目,项目中遇到的难点

  3. 项目中 ,用户操作同一篇文档冲突怎么办?

  4. React性能优化的地方

  5. React diff,没优化之前复杂度,为什么是o(n3),优化之后多少

  6. 组件通信的方式;React状态管理,全局数据,Redux和Mobx的区别

  7. url输入到浏览器发生了什么;浏览器有多少进程;不同的tab页有不同的进程还是同一个;DOM树是怎么生成的

  8. 网络,DNS前端性能优化:prefetch,link

  9. 智力题:四个罐子,算法:全排列

  10. 反问

二面

  1. 自我介绍

  2. 统一身份认证

  3. 聊天功能实现逻辑

  4. 开源项目python和go怎么用的

  5. HTML5新增

  6. 介绍Promise,,Promise.all的实现思路

  7. 深拷贝的实现方式,JSON实现的限制

  8. HTTP常见状态码

  9. 实现GPT那种光标闪动,一个个弹出字怎么实现

  10. 同源限制,解决方案

  11. cookie,怎么不被读取,其他浏览器的存储机制

  12. 负责一个项目,怎么弄

  13. css的动画效果,transform

  14. 代码题,一个滑动窗口最大不重复字符串长度,一个数组排序的

  15. 反问

一面

  1. 自我介绍

  2. git操作,git rebase在分支上有什么效果

  3. PC还是移动端为主,PC端怎么适配

  4. 水平居中的方式,text-align使用的限制

  5. 固定左侧宽度,右侧自适应(width:auto和100%的区别)

  6. position几个属性的不同点

  7. 父元素子元素都使用absolute有什么问题?

  8. 字符串反转怎么做?

  9. let/const/var

  10. 判断数组的方式

  11. websocket和http的区别

  12. new 构造函数内部发生什么事情

  13. 闭包,适用场景,问题

  14. 垃圾回收机制?

  15. 了解过新生代和老生代吗?

  16. 事件循环,常见的宏任务和微任务

  17. setTimeout的时间准确吗?

  18. 代码,URL取出来参数

公司3

一面

  1. TCP/UDP

  2. 加密,对称,非对称加密

  3. HTTPS,websocket

  4. 进程线程,关系

  5. 死锁

  6. 介绍react,常用钩子,单页应用

  7. 状态管理,回答的Mobx,介绍一下

  8. webpack和vite

  9. 算法:中序遍历

一面

  1. 项目难点

  2. 水平垂直居中的几种方法

  3. flex实现n行3列,最后一行会有什么问题

  4. React生命周期分为几个阶段

  5. 项目用到什么生命周期

  6. setState是异步还是同步的

  7. HTTP状态码

  8. 算法:三数之和

二面

  1. 项目难点,项目多少页面

  2. Mobx演变,装饰器写法和最新的写法

  3. 组件的props设计

  4. antd组件的高级封装

  5. ==判断true or false

  6. promise.all返回值,其中一个是settimeout(reject('world'))

  7. react写一个倒计时

  8. 算法:给定一串字符串,判断合法IP地址的个数

公司4(阿里)

一面

  1. 自我介绍

  2. 项目,封装通用组件

  3. 平时怎么学习前端

  4. css 定位,绝对和相对都相对于哪里

  5. JavaScript let/var/const

  6. url输入之后发生什么

  7. 介绍react

  8. 反问

一面

  1. ci/cd,nginx配置

  2. 组件封装暴露出来的配置

  3. 性能优化相关

公司5

一面

  1. 自我介绍

  2. 怎么学习,为什么选前端

  3. js数组的一些操作

  4. css水平居中

  5. BFC

  6. React组件通信方式

  7. 数据分析的操作

  8. 无代码

二面

  1. 开源项目介绍,vitepress原理,怎么转换成html的

  2. 问题:github搭建个人网站自动化遇到一些问题

  3. npm打包发布的流程

  4. React的hooks,memo和callback的区别,useEffect,副作用

  5. React的fiber架构

  6. ES6新特性

三面

  1. 自我介绍

  2. 社团活动

  3. 个人胜任的优缺点

  4. 为什么选择前端

  5. 工作地点

  6. 前端对于部门和企业的作用

  7. 前端应该具备什么能力

  8. 开发中遇到的难题

  9. 做过最印象深刻的事情,为什么是这件事?

公司6

一面

  1. 自我介绍

  2. 箭头函数和普通函数的区别

  3. 宏任务,微任务

  4. 数组去重

  5. 内存泄漏

  6. Map和Object的区别

  7. 浏览器存储

  8. 跨域解决方案

  9. React key

  10. React diff算法

  11. 业务场景:主题色全局更改

  12. 业务场景: JavaScript中有10个异步请求,但每次最多并发三个,怎么最快处理

二面

  1. 自我介绍

  2. 项目,都问了一点,技术选型考虑的地方

  3. 水平垂直居中

  4. 主题切换(css的写法)

  5. 闭包

  6. 多个标签页之间的通信

  7. react合成事件,函数组件hooks相比class的优缺点,setState是同步还是异步

  8. 实现深拷贝的方法,一串字符串,四则运算

  9. 前端路由实现方案

  10. 0.1+0.2精度问题

  11. e2e测试为什么能保证页面的稳定性和可靠性,测试出来的问题是什么,怎么解决优化的

  12. 响应式布局

  13. 反问

公司7

一面

  1. 自我介绍

  2. mvvm

  3. css的table优缺点

  4. css可继承的属性

  5. http 和 https

  6. 浏览器渲染

  7. 浏览器内核

  8. HTML5语义化

  9. xhtml 和 html 的区别

  10. this

  11. new关键字

  12. iframe的优缺点

  13. vue3

  14. 性能优化的指标

  15. 项目难点,怎么解决;碰到问题怎么解决

  16. 反问

公司8

一面

  1. 前端攻击

  2. 数组操作,实现reduce

  3. flex

  4. promise,promise.all,promise.race

  5. css bfc

  6. ES6

  7. 代码输出,快排

二面

  1. 执行上下文和执行栈

  2. JavaScript异步循环机制的原理,怎么实现的

  3. this

  4. 原型和原型链

  5. 技术沉淀,思考

  6. 前端性能优化

  7. 为什么选择前端

  8. js基本类型,引用类型,深浅拷贝

  9. react用到的

  10. 性能优化方案

  11. 进程和线程

公司9

一面

  1. 重绘和回流

  2. HTTP缓存

  3. 跨域问题:服务器配置字段

  4. sessionStorage,localStorage,cookie

  5. 数组操作

  6. commonjs和es6的区别

  7. 实现一个任务调度器(scheduler)

公司10

一面

  1. 自我介绍

  2. 垂直居中

  3. BFC解决什么问题

  4. TCP/UDP

  5. 0.1+0.2 实际怎么做的

  6. 自适应布局怎么实现的

  7. React的钩子,分别什么时候使用,useRef

  8. 算法:斐波那契非递归/窗口最大不同元素的长度

二面

  1. 自我介绍

  2. 博客的搭建

  3. TCP队头阻塞

  4. HTTP的发展

  5. HTTP2解决了什么问题

  6. HTTP的变化对前端的影响

  7. QUIC介绍

  8. HTTP2多路复用

  9. sql查询

  10. input。按钮怎么自适应,按钮宽度是写死的

  11. css写兼容性的东西

  12. 父级对象添加方法,已经声明的实例怎么调用

  13. 公司实习做的项目背景,遇到的问题以及怎么解决

  14. gitlab怎么实现自动化发布和部署的

  15. 为什么选择前端?

  16. 前端大牛的博客都有哪些?

  17. React相比原生写法有什么不同

  18. 最近有学什么新的东西?

  19. 倒计时功能。手机软件切屏,停止,怎么保持正确

公司11

一面

  1. 自我介绍

  2. TS类型有哪些

  3. PDF.js怎么实现的,如果要实现编辑怎么做?

  4. 封装组件需要考虑的问题

  5. 组件的扩展性问题

  6. 怎么学习前端

  7. React源码,diff算法

  8. 项目

公司12

一面

  1. 自我介绍

  2. 项目是自己的还是实际的

  3. 项目的难点

  4. 遇到的问题

  5. 原型链,JavaScript的类继承怎么实现的,给对象新增方法

  6. GitHub基于什么搭建的

  7. git冲突使用什么指令

  8. 参加过什么大型的竞赛

公司13

一面

  1. Mobx怎么实现数据变化更新到视图上的

  2. 打包工具

  3. 事件循环输出题

  4. settimeout(()=>{while(1){}},500)会卡死吗

  5. const arr=["a","b"]; arr.push(12)可以push吗,怎么阻止他push呢?

  6. axios.get(“xxx”);console.log(12);axios会阻塞下面的吗

  7. 斐波那契(1. 递归写法;2. 缓存;3. 闭包;4. 装饰器)

  8. sql哪些字段可以做索引

  9. 反问

公司14

一面

  1. 难点

  2. 封装组件会考虑哪些?

  3. websocket实时聊天,数据怎么定义的,有哪些字段

  4. websocket出现异常的情况,如何处理

  5. 重连之后考虑哪些操作?

  6. 怎么判断哪些消息需要拉取,哪些消息已经拉取过了呢?

  7. post请求,浏览器会自动发起一个option的请求,目的是什么?

  8. 打开网页,请求资源的时候,有时候浏览器会取各种各样的缓存,它的策略是怎么样的?

  9. 设计强缓存和协商缓存的目的是什么,如果只用其中一种,会怎么样

  10. 项目中的设计模式

  11. 事件循环输出

  12. 描述二分查找

  13. 节流和防抖

  14. Promise的方法

  15. 一段文字,控制文字为颜色的字显示对应的颜色该怎么实现

  16. 网页编辑PPT的功能怎么实现

二面

  1. websocket是群聊那种吗?

  2. 如何保障检测它的连通,如果有一些断联,一些异常的处理怎么做?

  3. 断线的时候是怎么监听的?哪种方式监听的,断开的API是什么?

  4. CI/CD流程,代码自动审核自动构建,merge等相关流程

  5. 算法题:岛的数量--时间复杂度?

  6. 数据结构有哪些?

  7. React数据流,自定义hook,如何自定义hook

  8. 使用hook有什么限制

  9. ts提升了js哪些方面

  10. 用过ts泛型吗

  11. 进程和线程

  12. 设计模式

  13. 前端安全相关的内容

  14. 如果部署了一个项目,用户打开是旧的内容,怎么排查

  15. 打包工具了解哪些

  16. 如果设计一个扫码登录,应该怎么去设计,流程是什么样的

  17. 移动端适配布局

公司15

一面

  1. 自我介绍

  2. 什么时候接触前端,什么原因前端

  3. 学习途径和路线

  4. 学习过程中遇到过比较深刻的问题,怎么解决的

  5. 实习

  6. 需求分析阶段有没有遇到什么分歧?

  7. 自动化部署这块是怎么做的?

  8. 环境有几套? 有没有分测试和上线环境?

  9. 有没有什么灰度测试的环境,或者开发的环境,然后比如说联调环境这种,是自动化做的还是人工做的?

  10. CI/CD细节讲一讲

  11. 配置文件具体是哪个文件在gitlab上

  12. 如果要运行yml文件,gilab上需要做什么配置

  13. 封装了那些组件

  14. 子系统的交互或者样式是统一的吗?有没有冲突解决方案?

  15. 组件复用,封装组件

  16. 多个子系统是如何组装的?

  17. 有没有更好的方式

  18. 多个项目怎么集成到一个系统的?

  19. git冲突了怎么办

  20. 聊天功能

  21. 项目最大的收获是什么

  22. 博客

二面

  1. 项目遇到的问题

  2. 难点,遇到的问题

  3. 性能优化

  4. 框架带来的帮助是什么,帮助解决什么问题

  5. react兼容性的例子

  6. 怎么看待react需要状态管理

  7. 状态管理的场景,并不是所有的库都会用状态管理的

  8. 如果想做一个扫一个代码仓库里面代码的重复度,怎么做?

  9. websocket实现在线聊天,如果不使用websocket,该怎么实现?

  10. ts,介绍ts

  11. interface和type的区别

  12. 泛型,为什么要存在泛型

  13. 用AI干什么

  14. 反问

公司16

一面

  1. 自我介绍

  2. 项目遇到什么问题

  3. 组件封装

  4. 视频播放有没有遇到什么问题

  5. 视频没有播放之前,展示的是什么?

  6. 在线聊天遇到什么问题

  7. 如何判断用户在线的状态,怎么处理这些问题

  8. 怎么约定消息结构?

  9. css不同定位的特点

  10. 绝对定位父级是绝对,爷爷级是相对,那它参考谁

  11. css浮动,对浮动产生的影响有哪些解决办法,不同解决办法的优缺点

  12. js跨域如何产生以及如何解决跨域问题?

  13. 如果域名的多个域名,后端如何配置

  14. jsonp跨域

  15. js中,函数内部有局部变量,想通过外部取访问到函数内的局部变量,有多少种方式?

  16. 反问

公司17

一面

  1. 自我介绍

  2. Java做的客户端,实现了哪些东西

  3. 实习,用到的技术栈,做了什么东西

  4. DOM运行机制,浏览器怎么把网页渲染出来

  5. 宏任务和微任务

  6. ES6新的特性

  7. 箭头函数作用域

  8. 判断对象还是数组的方法

  9. 浏览器缓存机制

  10. localstorage/sessionstorage

  11. 发送一个请求,拿到数据之后渲染整个流程

  12. 数组方法

  13. 和后端合作的过程,比如怎么提供接口,怎么去调用他的东西,会不会有一些阻塞的事情发生,怎么去解决的

  14. 如果后端提供的接口返回的数据不对,怎么解决

  15. 排序,经常使用的是哪一种

  16. 反问

公司18

一面

  1. 介绍项目

  2. 针对某一个功能具体说一说,比如像表单或者表格,或者目录树等等这些相关的

  3. 封装的理解,思路,拿一个封装的组件展开说说

  4. 封装表单,有些页面的表单项大部分有30%相同,但有20%是不同的,针对这种情况怎么去考虑?

  5. 遍历的方法,包括数组/对象

  6. forEach针对数组,如果想要对象可以forEach的话,可以怎么去做

  7. this的理解

  8. es6新增特性

  9. weakmap的作用,跟一般的对象有什么区别

  10. 用weakmap实现过什么功能?

  11. 路由的理解,路由有哪几种模式

  12. 平时的项目当中用哈希模式多还是history模式多

  13. 有没有考虑为什么这样用

  14. promise的理解

  15. 用处是什么

  16. promise.all执行,如果有一个失败,但我不想失败的影响其他接口,该怎么做

  17. 浏览器输入地址到页面渲染期间经历了哪些东西

  18. css树,在css渲染解析的时候,可以做哪些优化,就是在写css的时候,或者在加载的时候

  19. 反问

公司19

一面

  1. 自我介绍

  2. 最近一份工作或实习,项目是什么样的,担任的职位,遇到哪些问题

  3. react项目使用mobx状态管理,提供一个场景,并说明如何通过它解决复杂状态的问题

  4. 权限,鉴权;返回的权限在前端是如何做管理的,路由如何管理的,下面的资源是如何做管理的

  5. 资源级别呢,路由到了界面,资源就是比如说图片级别,按钮级别

  6. 前端性能优化

  7. 指标

  8. 指标如何计算的

  9. Windows平台上编译运行的项目,为什么要做这个事情呢?怎么做到的

  10. 科研项目

  11. 反问

公司20

一面

  1. 知识库是怎么录进去的

  2. 录入的时候是一个富文本编辑器吗?

  3. 知识库展示的时候,后端给你一个富文本的HTML字符串,怎么样去做渲染呢?怎么保证这个渲染跟原来录入的时候样式是一致的,不受公共样式的干扰呢?

  4. 封装通用组件,怎么设计封装

  5. 搜索的关联

  6. 基于用户去配置表格显示哪些列

  7. 存储的话应该存哪些内容,当用户已经自定义一个列表状态,存在哪里,用接口存还是怎么存?数据结构是怎么样的?

  8. PDF遇到什么坑或者不太好解决的地方

  9. 遇到的有挑战,复杂的功能

  10. 比较擅长做哪一块相关的功能

  11. 怎么学习前端,为什么找前端

  12. 开源项目

  13. 前后端开发能力

  14. 遍历js数组的方式

  15. JS事件循环

  16. JS内存溢出

  17. 反问

喜欢这个项目?

如果这些内容对您有帮助,请考虑给项目一个⭐