2024-面试记录
1、Pixocial 像素互联
面试日期:2024-08-07
面试过程:
- 自我介绍
- 在职还是离职?为什么考虑换个工作?
- 询问工作经历
- 为什么要从成都往深圳跑?
- 对下一份工作的期望
- 拿之前工作经历中最有挑战的事情讲一下
- 假如让你负责一个项目,如何进行技术选型?
- 在之前的工作中有没有线上事故?如何去解决和定位的?
- React 技术了解程度
- node 有接触和了解吗?
- express 的中间件是如何实现的?
- node 事件循环和浏览器事件循环有什么差异?
- 如何用 node 注册一个命令行?
- 前端是如何进行性能检测的?
- 前端是怎么检测首屏加载性能的?
- 浏览器两个 tab 页面如何进行交互?比如 A 页面的按钮点击后,B 页面立刻进行响应
- 手撕代码 - 控制并发请求
- 反问环节
岗位需求:全栈(用 node)
2、字节跳动(火山引擎,云相关)
面试日期:2024-08-14
面试过程:
- 自我介绍
- 在现在的公司待多久了?主要做些什么事情?
- 除了业务相关,还参加过什么前端工程化的事情?
- ESLint 和 Prettier 作用有啥不一样
- ESLint 如何检测语法错误的?
- 抽象语法树的大概结构有了解过吗?长啥样
- 数组和单链表数据结构有啥不同?业务场景有啥不同
- 业务上控制台有多云多语言的描述是什么,能解释下吗?具体方案是怎么样的
- 该怎么缩短词条整个流程?
- 词条的打包部署流程是怎么样的?如何进行切换?
- webpack 打包速度优化有哪些?
- 打包的多线程是 nodejs 的多线程吗?有了解过怎么实现的吗?
- 进程和线程有啥区别?资源共享的范围和能力
- 进程之间的通信该怎么做?
- 手撕代码:

- 接口请求慢可能的原因是什么?
- 业务上接口请求的过程是怎样的?权限认证是怎么做的?
- 业务上有自己的 node 服务吗?BFF
- SSO 登录有哪几方参与?过程是怎么样的?
- 百度网页样式是怎么兼容的?在电脑上和在手机上是怎么做的
了解公司的技术栈、技术细节
3、瀚博半导体
面试日期:2024-08-16
面试过程:
- 自我介绍
- 做过的项目中,承担哪些角色?亮点有哪些?
- 前端开发产出的文档有哪些类型?
- nodejs 中主要流的类型(Stream)
- nodejs 热更新是怎么实现的?
- nginx 如何实现跨域操作的?实现的原理、步骤?
- echarts 如何进行优化?
- css 预处理器用哪个比较多?平时常用的特性有哪些?
- 闭包的用途是什么?
- JS 中的宏任务和微任务有哪些?
- 讲一下事件循环的机制?怎么去执行的?
- react class 组件生命周期有哪些?
- react hooks 有哪些?
- react useEffect 的作用有哪些?
- 虚拟 DOM 有了解吗?工作的原理讲一下
- react 和 vue 相同点、区别
- vue2 是怎么去实现双向绑定的?
- 打印 vue2 属性的结果是什么?
- 讲一下计算属性、普通属性和方法的区别
- css 选择器的优先级从高到低讲一下,
!important和内联哪个高?内联和 id 哪个高? - css 常用的布局有哪些?flex 和 grid 布局一些常见的属性
- 常用的工具库有哪些?(loadash 常用的方法有哪些)
- JS 的基本属性,
undefined和null有啥区别?NaN用 typeof 检查会是啥结果 - 简单看下一个 react 优化的题目
- 反问环节
4、德特赛维
面试日期:2024-08-21
面试过程:
- 自我介绍
- 为什么想换公司?
- 讲一下工作中做的比较好的应用或产品
- 公司项目语言切换是怎么实现的?
- 讲一下自己做过哪些用户体验的优化?
- 讲一下自己做过的性能优化
- 表格编辑器如何进行优化?比如 100 个表头
- css 预处理器用过哪些?有哪些比较好用的点?
- 一键换肤方案?像 element-ui 定义了多套主题,如何进行切换?
- flex 布局熟不熟?
flex: 1代表什么?flex-shrink: 0代表什么? - 常用的 flex 属性有哪些?
- 写样式会单独一个一个写 class 吗?(想问的是是否使用 tailwind-css)
- grid 布局用过没?
- reduce 方法用过没?
- 如何快速创建长度为 30 的有效数组?
new Array(30)表示什么?是不是已经有 30 个内存空间?只是一个声明吗? - forEach、map、filter 的区别,如何中断?
- created、watch 执行顺序,如何让 watch 先执行?
- vue 源码有看过吗?
- 有多久没做 vue 项目了?
- webpack 使用过吗?怎么动态引入组件?(有某个方法)
- 反问环节
5、探迹科技(一面)
面试日期:2024-08-25
面试过程:
- 自我介绍
- 工作中有用到 react 吗?
- 工作中用到的 Angular 版本有哪些?
- 工作中的工作内容分为哪些部分?
- 前端开发中有哪些操作会导致内存泄露?
- 前端开发中有哪些缓存?
- Angular 路由中 hash 路由和 history 路由两者的区别、优劣势
- 浏览器两个标签页如何进行通信?
- 前端进行接口请求时,cookie 需要我们手动加上去吗?谁帮我们加上去的?
- 跨域情况下,cookie 会被携带吗?如何拿到对应的 cookie?
- webpack loader 和 plugin 的区别
- webpack plugin 能做 loader 的工作
- webpack 如何提升构建速度?如何进行优化?
- 本地开发 webpack 热更新原理
- 本地文件改变文本,为什么在页面上能响应更新?怎么知道改变的是具体哪个文件?
- 如何用 JS 实现二叉树的广度遍历?
- 项目上的技术攻坚(难点)有吗?讲一讲
- 换工作的原因
5、探迹科技(二面)
面试日期:2024-08-25
面试过程:
- 自我介绍
- 如何实现
Promise.race()方法 - 写 JS 时,如何避免内存泄露?
- 都有用过哪些 Chrome 浏览器开发者工具
- 实现一个方法,实现版本号排序(v1.0.1, v1.0.2),方法的复杂度是多少?
- http2.0 有哪些新的特性?工作中有用到过、配置过没有?
- 简历中有提到后端知识,实际工作中有用到过吗?
- 为什么 nodejs 是单线程的却能够处理高并发场景?
- nodejs 单线程和 java 多线程的对比
- 最近在学些什么?看哪些方面的知识?
- IntersectionObserver 底层原理有了解吗?
- 反问环节
6、UMU
面试日期:2024-09-05
面试过程:
- 简单的自我介绍
- ts 中 infer 的使用场景
- 实现一个类型体操运算,求出 Promise 携带的类型(手写代码)
- Vue,React,Angular 框架的使用经验
- ES6 Symbol 了解吗?如何使用?
- ES6 新增的数据类型有哪些?
- null 和 undefined 有什么区别?
- 基础数据类型存放在内存哪里?
- 函数调用的临时变量,入参是存放在内存哪里?
- 非原始值类型是存放在哪里的?
- JS 垃圾回收机制是怎么样的?
- Map 和 Set 了解吗?Map 和 Object 有啥区别?
- let,const 和 var 有啥区别?
- 箭头函数和普通函数有什么区别?
- 构造函数的执行过程?
- arguments 和数组有啥区别?如何进行 forEach 进行调用?列举所有可能方式
- 有哪些场景也有类数组
- getElementsByClassName 获取的单个元素是什么类型?
- 在 css 里隐藏某个元素有哪些方式?
- visibility 和 opacity 隐藏元素有啥区别?
- 用 css 如何屏蔽鼠标事件?
- css 选择器的优先级?
- 如何选择元素的相邻元素?
- HTTP 的缓存策略?
- webpack 打包后的文件一般用什么缓存?
- option 请求有了解吗?跨域预请求
- 跨域是怎么样的概念,父域和子域 cookie 如何处理的?
- 最近的学习方向?学习分享?
- 反问环节?
7、百度(爱企查)
面试日期:2024-09-11
面试过程:
- 自我介绍
- 手撕代码 - CSS 实现布局(见布局场景题-1)
- BFC 是什么?怎么实现?
- 行内元素和块级元素的区别
- 行内元素外边距、内边距的设置情况
- JS 事件循环机制
- 手撕代码 - JS 事件循环机制场景题(见事件循环机制-场景题-场景题三)
- 手撕代码 - 实现 firstUniqueChar 方法
- 在 vue2 中
$route、$router的区别 - vue2 在循环中写不写 key 的区别(虚拟 DOM)
- vue3 相对于 vue2 的区别
- 用
Proxy替换Object.defineProperty解决了什么问题? - 响应式原理是什么?有看源码吗?
- 离职原因是什么?
- 返回环节
8、京东(人资系统)
面试日期:2024-09-14
面试过程:
- 自我介绍
- 现在岗位负责哪些业务?聊项目
- vue2 数据双向绑定是怎么实现的?
- 什么情况下更新数据会失效?在运行过程中添加一个属性,能被监听到吗?
- vue3 Proxy 方案能介绍一下吗?
- vue computed 如何知道自己的依赖项是什么?
- 发布订阅的过程是怎么样的?
- 依赖收集具体是怎么做的呢?
- 排序知道的有哪些?
- 冒泡排序的时间复杂度?快排的时间复杂度?
- 堆本质上是什么存储结构?
- 二叉树和平衡二叉树有什么区别?
- 重新换工作的原因?
- 对于职业的规划是怎么样的?
- 反问环节
9、HABBY(游戏公司)
面试日期:2024-09-14
面试过程:
- 自我介绍
- 在公司的工作经验介绍
- JS 有哪些基本数据类型
- 有个变量代表金币,随着时间的增加一直无限增加,用哪种类型存储合适?
- setTimeout 第二个的时间会在什么时候执行?
- 如何让代码执行等待 2 秒钟,你如何实现?
- 如何实现事件监听类,用什么结构实现?
- 如何函数中 this 上下文不丢失?
- 移动端屏幕自适应如何实现的?
- 前端网络安全相关的需要考虑哪些?
call和apply有什么区别?0.1 + 0.2为什么不能执行判断是否等于0.3?==和===的区别?- 你作为一个团队负责人?团队技术选型从哪些方面考虑?
- JS 是单线程,
Promise.all传入的数组中,前两个操作都是发 http 请求,js 是单线程的,为啥可以并发 3 个操作? - 手撕代码 - 求 n 的阶乘
- 手撕代码 - 冒泡排序
- 手撕代码 - 二叉树(先、中、后序)非递归遍历
- 反问环节
10、快手(效率工程部)
面试日期:2024-09-18
面试过程:
- 自我介绍
- 判断函数执行结果 - 原型链
Details
说出以下代码的输出结果:
js
function Foo() {
this.a = 1;
return {
a: 4,
b: 5
};
}
Foo.prototype.a = 5;
Foo.prototype.b = 7;
Foo.prototype.c = 8;
const o = new Foo();
console.log(o.a); // 4
console.log(o.b); // 5
console.log(o.c); // undefined手写 new 的过程:
js
function myNew(Obj, ...args) {
const obj = Object.create(Obj.prototype);
const res = Obj.apply(obj, args);
return typeof res === 'object' ? res : obj;
}- 判断函数执行结果 - 函数作用域链
Details
js
var count = 10;
function a() {
return count + 10;
}
function b() {
var count = 20;
return a() + 10;
}
console.log(b()); // 30- 判断函数执行结果 - 函数原型、对象的关系
Details
js
Function.prototype.a = () => console.log(1);
Function.prototype.b = () => console.log(2);
Object.prototype.a = () => console.log(3);
function Foo() {}
const o = new Foo();
o.a(); // 3
o.b(); // TypeError(o.b 是 undefined)- 手撕代码 - TS 类型运算
Details
ts
// 实现 Pick
type MyPick<T, K extends keyof T> = {
[key in K]: T[key];
};
// 实现 Last:找到数组中最后一个类型
type MyLast<T> = T extends [...unknown[], infer R] ? R : never;- 手撕代码 - 用二分查找方法,找到第一个等于给定值的元素索引,数组有重复值
Details
js
function searchFirst(nums, target) {
let left = 0;
let right = nums.length - 1;
while (left < right) {
const mid = (left + right) >> 1;
if (nums[mid] < target) {
left = mid + 1;
} else if (nums[mid] === target) {
right = mid;
} else {
right = mid - 1;
}
}
return nums[left] === target ? left : -1;
}- 介绍一下工作经历
- 当前工作中,前端工作量主要做什么?
- 介绍一下项目国际化方案,有了解过业界国际化方案是怎么做的吗?i18n 只是运行时
- 项目中的页面性能优化有做过哪些事?
- 页面中列表数量特别大,如何防止页面滚动?虚拟滚动具体是怎么实现的?
- 虚拟列表执行后 DOM 树少了,在页面调试时如何搜索那些没有渲染的项?
- 项目选型为什么使用 E2E 作为自动化测试?
- UI 变动后,测试用例就得重写?用例测试的稳定性如何保障?为什么不使用单元测试?
- 反问环节
11、SLB(外企)
面试日期:2024-09-19
面试过程:
面试官 A:
- 英语自我介绍
- 和面试官英语口语问答
- Angular 组件和指令的区别
- Angular 有哪些类型的指令,在项目中写过哪些?
- Angular 组件 standalone 用过没,和普通组件的区别是什么?带来了什么好处?
- Angular 布局组件设计,讲讲设计思路
- Angular Service 如何放弃单例,分别给组件提供不同的示例?父子组件如何独立?
- Angular 脏数据检测,如何让组件避免不必要的检测?如何通知组件进行变更?
- 对 Angular Zone 的理解,新版本准备用什么来替换它?
- Angular 如何对组件进行样式隔离的?如何 override 组件下的样式,避免全局影响?
- css 字体大小单位 em 和 rem 是什么?做响应式设计的话?需要做些什么效果?
- Angular Router 生命周期有了解吗?
- 进入页面如何提前拿后端数据?
- Angular 有用过 ngrx,redux 状态管理三方库吗?
- RxJS 冷、热状态概念了解吗?平常经常用哪些操作符?使用时如何避免内存泄露?
- 对 MVVM 模型的了解是什么?带来了哪些好处?模型中 VM 对应的是什么?
- 平常开发过程中有写过用例吗?用了哪些技术栈?如何保障用例的稳定性?
面试官 B:
- 日常开发中对数据的处理多吗?日常工作流程是怎么样的?
- Angular 开发中有用过哪些持久化三方库没有?
- 项目开发中有做过单元测试、端到端测试吗?技术栈是怎样的?
- 项目代码安全、质量值是怎么保证的?
- 项目中有用到过算法吗?
- Angular 子组件和父组件通信怎么操作的?
- 讲一下 RxJS Subject
- 反问环节
12、猫眼娱乐(一面)
面试日期:2024-09-24
面试过程:
- 自我介绍
- 讲一下项目架构
- 是前后端分离的吗?跨域问题是怎么解决的?讲一下前端是如何处理跨域的
- shell 了解的怎么样?能够写 shell 脚本吗?
- linux 用哪个命令判断某个端口被占用?
- 平时有排查过前端问题吗?比如页面报 502,504 如何排查?页面调试排查?
- 除了浏览器断点调试,还有其它调试方式可用吗?比如 NodeJS 如何调试?
- css 预渲染器和原生 css 的区别?
- 今年新发布的 css,js api 有了解过吗?简单介绍一下
- 如果项目想要用新的 JS 语法,有什么办法?
- webpack 了解程度,自己有配置过吗?
- loader 的作用是什么?加载解析顺序是怎么样的?
- vite 有了解过吗?
- Three Shanking 知道是什么吗?
- 自己在项目中封装过组件吗?
- 讲一下自己做过的技术分享
- 组件开发中如何避免样式冲突?
- 如何监听页面性能?如何提升页面的性能?
- 讲一下 CDN 服务,平时是怎么使用的?
- 深拷贝和浅拷贝有什么区别?如何实现深度拷贝
- 手撕代码
13、微派网络(青藤之恋,一面)
面试日期:2024-09-25
面试过程:
- 自我介绍
- 讲一下项目中的技术难点
- 讲一下项目的国际化方案
- 开发项目过程中,做过哪些性能优化?
- SSR 了解多吗?从发起请求到生成 html,这个过程是怎样的?
- 对 TS 的了解程度?写过复杂的类型没有?
- 介绍下 JS 的原型链
- 讲一下闭包
- 讲一下 JS this 的指向
- 讲一下前端安全
- 讲一下前端缓存(cookie,storage,强缓存、协商缓存)
- 如何使 localStorage 具有失效时间?
- 讲一下浏览器的事件循环机制
- 给出代码输出结果
- 手撕代码 - 无重复最长子串长度
- 反问环节
16、猫眼娱乐(二面)
面试日期:2024-09-26
面试过程:
- 自我介绍
- 换工作的原因?
- 介绍一下现在的薪酬待遇、述求?聊聊职业述求
- 讲一下做的业务是干什么的?
- 讲一下自己封装的组件
- 讲一下项目国际化方案
- 讲一下三大框架的区别,讲一下虚拟 DOM,变更检测
- 围绕业务的一系列问题
- 反问环节
15、高途(产研,一面)
面试日期:2024-09-27
面试过程:
- 自我介绍
- 介绍一下最近的项目
- 有做过 ECharts 图表的封装吗?
- 介绍一下新老代码兼容性问题是如何处理的?
- 介绍一下你对微前端架构的了解
- 有了解过 qiankun 是如何做 JS 隔离和 CSS 隔离的?
- 对打包工具的使用情况,webpack 具体使用过哪些?
- 为什么 vite 比 webpack 更快?
- 介绍一下最近一两年遇到过最有挑战的事情
- 需求中拖拽功能有了解过三方库吗?为什么没有选择使用三方库?
- 项目中做过的性能优化方式有哪些?webpack 有哪些配置?比如包体积
- 最新有学习比较新的技术吗?
- react 了解程度,和 vue 框架对比
- 给出代码输出结果
Details
js
function foo() {
console.log(a);
}
function bar() {
var a = 3;
console.log(this.a);
foo();
}
var a = 2;
bar();
// 2
// 2js
var pro = new Promise((res, rej) => {
res(1);
});
pro.then((res) => {
console.log(res);
});
console.log(2);
pro.then((res) => {
console.log(res);
}).then((res) => {
console.log(res);
});- 手撕代码 - 倒计时
Details
js
// 组件接收的参数为秒,展示效果为“剩余:HH:MM:SS”
// 剩余:00:01:40
// 剩余:00:01:39
// 剩余:00:01:38
// ...
function printTime(n) {
const s = n % 60;
const m = Math.floor(n / 60) % 60;
const h = Math.floor(n / 3600) % 24;
const format = (a) => (a < 10 ? `0${a}` : String(a));
console.log(`剩余:${format(h)}:${format(m)}:${format(s)}`);
}
function countDown(n) {
let cur = n;
const timer = setInterval(() => {
printTime(cur--);
if (cur < 0) {
clearInterval(timer);
}
}, 1000);
}- 反问环节
16、微派网络(青藤之恋,二面)
面试日期:2024-09-29
面试过程:
- 自我介绍
- 详细介绍百度低代码配置平台的功能
- 平台配置到页面输出,这个过程是怎么实现的?
- 低代码配置平台是怎么做版本管理的?
- 讲一下最近项目遇到的难点,怎么去解决它的?
- 自定义标注怎么保证右边渲染数据和渲染页面是保持一致的?
- Angular 数据更新的 api,最新特性有了解过吗?
- 有了解过 vue3 源码 patch 过程有什么提升、优化?
- 手撕代码 - 进程优先级调度
- 反问环节
17、高途(产研,二面)
面试日期:2024-10-09
面试过程:
- 自我介绍
- 是否在职,换工作的原因?
- 最近在做什么项目?
- 介绍下项目的背景?主要的功能是什么?
- 项目中遇到的技术难点?
- 项目中自定义标注的拖拽能力?为什么最终选择自研没有选择三方库?
- 技术难点细节探讨
- 反问环节
18、元保数科
面试日期:2024-10-10
面试过程:
- 自我介绍
- JS 的基础类型有哪些?
- Symbol 类型是用来干啥的,平时开发有用到过吗?
!x, x 什么情况下为 true,选择题(注意!NaN结果为 true)- 说一下对 this 的理解
- this 指向题目,说一下输出结果
- 说一下对作用域的理解
- 介绍下闭包,实际开发中有用到过闭包吗?如何避免内存泄露
- 闭包应用,看代码说下输出结果
- JS 是一个单线程语言,它是如何实现异步的?讲一下事件循环的机制
- 讲一下 ES6 经常使用的语法
- 浏览器渲染网页流程
- css 选择器的优先级从高到低讲一下
- 两个相同类名的样式,最终应用结果是怎样的
- react 缺乏实际工作经验,澄清一下
- 讲一下三大框架的区别
- 百度工作中的 SSR 渲染是怎样的?
- 渲染结果是完全渲染的 html 还是哪种方式?
- 百度 SSR 渲染状态管理是怎么处理的?
- 低代码 SSR 渲染的页面是怎么调试的?
- 低代码配置页面从 H5 到 PC 是怎么适配页面的?
- 项目做过的体验优化、性能优化讲一下
- SSR 渲染比 SPA 渲染的优势有哪些?怎么查看渲染指标?
- 项目开发中对 webpack 做过的配置有哪些?
- 如何使用双栈模拟队列?
- 如何在不使用第三个变量的情况下交换两个变量的值?
- 反问环节(当前团队主要做哪些业务?团队规模有多大?需求的迭代速度是怎样的?)
19、天润融通(一面)
面试日期:2024-10-16
面试过程:
- 自我介绍
- 讲一下 css 盒模型
- 如何实现双飞羽翼、圣杯布局(左中右)?
- 有三个 div,如何实现前两个 div 居左,第三个 div 居右?
- 如何实现字体小于 12px?设置以后的占位情况是怎样的?
- css 大量数据、高频动画会导致重绘,如何提升页面的性能?
- es6+ 语法特性有哪些?
- 讲一下 call、apply、bind 方法的区别
- Symbol 是否可以被序列化?
- js 基础类型有哪些?
- 简单说下防抖、节流的原理以及应用场景,搜索框应该用防抖还是节流?
- 讲一下事件循环的机制
- 哪些场景下会用到递归?递归有什么缺陷?有哪些替换方案?
- 具体讲一下如何使用栈实现二叉树的非递归遍历
- 讲一下“跳台阶”的算法实现方案
- 前端有哪些常用的设计模式?
- 有了解过 websocket 吗?
- 开发过程跨域问题是如何解决的?
- 讲一下前端的性能优化方案
- 有具体了解过 Angular 解析、渲染原理没有?
- Angular 哪些写法容易导致性能问题?
- 讲一下项目中做的比较有成就感的东西
- Vue 使用经验怎么样?
- 讲一下低代码平台的理解
- 反问环境(公司团队规模和分布情况、出差情况、技术基建情况、工作时间)
20、高途(运营平台,二面)
面试日期:2024-10-17
面试过程:
- 自我介绍
- 讲一下简历上各个经历换工作的原因
- 讲一个比较有成果支撑力度的项目
- 大文件如何实现断点续传?整个过程是怎样的?什么情况下会中断大文件上传?
- 当前用的组件库是哪个?自己有封装过通用的组件吗?封装组件会被很多人使用,如何保证组件的质量?
- 网页如何控制广告 24 小时只弹出一次?页面中是否需要轮询或者定时器?
- 手撕代码 - 实现数组的 reduce 方法
Details
js
// TODO 请在这里编写代码
const arr = [1, 2, 3];
const sum = arr.reduce((prev, curr) => prev + curr, 0);
Array.prototype.myReduce = function (fn, init) {
let prev = init;
this.forEach((item) => {
prev = fn(prev, item);
});
return prev;
};- 手撕代码 - 打印星期几
Details
js
// 现有一个数组dateList,形如[1,2,3,4],将其转化为汉字星期 分段数组。
// 例如: [1,2,3] => ['周一至周三'],[1,3,4,6,7] => ['周一','周三至周四', '周六至周日']
function convertWeekPeriodToDays(weekPeriods) {
const weekDays = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'];
// weekPeriods 形如 [1,2,3]
// 返回 ['周一至周三']
const res = [];
for (let i = 0; i < weekPeriods.length; ) {
let start = i;
let end = i;
i++;
while (weekPeriods[i] === weekPeriods[end] + 1) {
end = i++;
}
if (start === end) {
res.push(weekDays[start - 1]);
} else {
res.push(`${weekDays[start - 1]}至${weekDays[end - 1]}`);
}
}
return res;
}- 最近有学什么知识吗?通过什么方式来学?
- 反问环节
21、天润融通(二面)
面试日期:2024-10-25
面试过程:
- 自我介绍
- 说一下最有成就感的项目?哪些功能做的比较好
- 讲讲自己的优势和不足?
- 讲一下 Restful 接口设计
- 讲一下自己的职业规划
- Angular 和 Vue 有什么优缺点?
- 简单说下 Vue 的 diff 算法
- diff 算法的时间复杂度是多少?
- 在当前公司的有哪些经验积累?
- 各个工作段换工作的原因?
- 对下份工作的行业、技术的期望
- 反问环节