
{:align=left}
一般流程
一般先从简历入手,问简历上的项目涉及的知识点和一些开放式问题,然后问一些开放式问题,比如:
- 前端在学校一般没有开设相关课程,你是怎么学习的
- 前端的框架你是怎么学习的
- 描述一下接手一个项目到项目开发完成的完整流程
接下来就会提问 js、CSS 基础知识,框架、网络等,可能会涉及到算法题目,一般不会很难,掌握高频的,基本的即可。
关于前端中的编程问题,已经汇总在
问完技术问题之后一般会再拓展问一些其他问题,比如:
- 你加入字节跳动想要收获什么呢?
- 为什么加入字节跳动?
- 有没有了解过大公司是怎么开发的?
- 你的职业规划是什么?
注:如果你是一名转行的同学,几乎 99% 的面试官都会问到一个问题:
你为什么转行学前端?
以上开放式问题一定要好好准备,面试官的每一个问题都是有目的的——考察你是否能胜任这份工作。
JavaScript
- 如何判断一个对象是不是空对象?
- 0.1+0.2 == 0.3 ? 原因是什么
- Number() 的存储空间是多大,如果后台发送了一个超过最大字节的数字怎们办
- 聊聊 Proxy
- 几乎必考原型链问题:
JavaScript
JavaScript
var a = {x:1}
var b = a;
a = a.x = {x:1}
console.log(a); // {x:1}
console.log(b); // {x:{x:1}}- 异步问题,说出输出结果顺序
JavaScript
JavaScript
console.log(1)
new Promise((resolve)=>{
resolve();
console.log(2)
}).then(()=>{
console.log(3)
})
setTimeOut(function()=>{
console.log(4)
},0)
console.log(5)CSS
- 垂直居中如何实现
- align-center 中适配 ios8(
-webkit-align-item: center) - rem 的理解
.div和div > div > div的优先级display:none,visibility:hidden,opactiy:0的区别。- BFC,如何形成 BFC
- BFC 与 IFC 的区别
- BFC 会与 float 元素相互覆盖吗?为什么?举例说明
框架
Vue
- vue@3.0 中的 preset 配置
- 父组件 A 和其子组件 B/子组件 C,B / C 进行通信的方式
- 组件中 eventbus 的实现
- 组件如何设置并被使用
- 如何来创建多个项目?
- 多个组件 $message 如何实现最后触发的在最上面
- 如何实现在图片被加载之前的占位符一个 image,宽高比 16:9
React
- 为什么要使用 Redux,是不是所有项目都必须要使用 Redux?
运行环境
- 讲讲回流和重绘
- 如何解决页面卡顿(前端性能优化是一个永恒的话题,综合性很高的一个问题,尽可能回答)
- 浏览器从输入 url 到页面渲染的整个流程(同样是一个很综合的问题,有很多细节值得深入理解)
- ssr 和前后端分离的区别
- 如何实现 list 的无限滚动(节流?)
- 如何处理跨域
- git 使用过吗?用过哪些指令?git 具体工作流是什么?(问 git 时必问的一个问题)
- git merge、git rebase 的区别
HTTP
- POST 一般可以发送什么类型的文件
- http 缓存了解哪些?
- post 和 put 的区别是什么?
- Cookie 中的操作以及
httponly - 如何判断一个 IP 是不是国内 IP?
- 说一说你了解的 express 中间件
- 浏览器请求数据问题,请求数据到请求结束与服务器进行了几次交互
- TCP为什么要四次挥手
- cookie有哪些属性、大小、浏览器如何禁止别人访问 cookie
- localStorage,sessionStorage 的区别
- 在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么维持
- websocket 与 ajax 的区别
- fetch API 与传统 request 的区别
手撕代码
- 实现一个 tab 组件
- 剑指 Offer 56 - I. 数组中数字出现的次数
- 206. 反转链表,用原地解法。(很简单却难倒了大批面试者的题目)
参考文章
评论 (3)



