腾讯
这里是 SNG 部门的面试
一面
今天晚上 7 点左右接到腾讯 SNG 打来的电话,全长 40 分钟
- 简要介绍自己
- 客服系统采用什么架构?
- Ionic 框架是做什么的?
- Ionic 前身是解决什么问题的?
- 客服系统为什么采用这个框架?
- websocket 怎么实现的?还有什么别的方式来实现消息推送机制?
- 当时用的 Angular 的版本?双向绑定是怎么实现的?
- 301 与 302 的区别?
- jquery 中 bind 和 on 的用法?以及他们的区别?优缺点?
- 商家后台技术栈?react 是什么东西?react 虚拟 dom 算法的实现方式?虚拟 dom 是什么?
- 重绘与重排是什么?他们的区别?有一个动画怎样实现使它的 dom 的重排重绘改变最小?也就是更流畅?
- 什么是一级 dom 和二级 dom?
- 什么是事件委托?
- 跨域的几种实现方式?其中 postMessage 内部的实现方式?调用过程?伪装域名怎么解决?其中服务器端怎么实现 Access-Control-Allow-Origin 的跨域的(怎么拦截跨域的)?
- 浏览器事件规则的传递?
- 缓存的实现方式?
- dns 的查询过程?
- 你怎么称呼?
- 你主要做什么业务?
- 有没有涉及到后台运营一些业务?
以上更新于2018-04-23 19:44:37
SHEIN
一面
- react v15 与 v16 的主要变化?
- react v15 getChildContext 与 react v16 Context.Provider 优缺点?
- redux 与 mobx 的优缺点?
- 组件怎么做性能优化?
- mobx 怎么做性能优化?
- table 的某一行有很多组件,使用起来卡顿,怎么优化?
- webpack v2 升级到 webpack v4 你主要做了哪些优化?
- 页面性能优化?
- react 页面白屏的原因及解决方法?
- react 中全局主题色怎么配置?
- style 与 className 那种更好?
- react 组件最耗性能的地方?怎么优化
- 面试需要几轮?
- 面试官是做什么业务的?
二面
- 介绍自己
- 有没有女朋友
- 工作经历中隔了一年是什么原因
- 为什么跳槽
- 为什么要选你
- 页面上有图片加载,图片有懒加载,如何计算图片曝光性能更好
- 根据上面的条件,除了图片曝光信息之外,还有浏览器上有一些数据要采集,如何发给后端?
- 架构组主要做些什么
- 上线的流程怎么样
以上更新于2020-5-20 09:17:01
数字广东(拿到 offer)
一面
- 输入网址浏览器执行的过程
- TCP 连接时为什么三次握手
- TCP 断开时为什么四次挥手
- vue 用法?
- react 16 与 15 的区别
- 为什么要加上 react 16 的生命周期?
- fiber 原理?底层架构
- webpack 原理
- webpack 分包机制?webpack 4 与 2 的分包机制有什么区别?
- 网页性能优化
- 图片格式的选择?
- 拿到美工的图片时会怎么选择?做什么处理?
- iconfont 字体库原理?
- css 选择器优先级?
- 对方技术栈?
- 对方面试几轮?
- 对方做什么业务?
以上更新于2020-5-27 13:34:46
二面
- 项目介绍?
- 如果遇到 UI 和你的意见不一致你会怎么处理?
- 对方的技术栈?
- 对方的上线流程?
- 对方的架构工作?
三面
- 怎么做组件的复用
- 项目介绍
腾讯
这里是开发平台运营前端的面试
一面
- 项目介绍?
- 浏览器缓存介绍?
- sw 缓存怎么实现的?原理是什么?
- sw 缓存机制是否有了解?如何更新 sw 缓存?
- https 原理?中途被篡改的话该怎么预防?
- 代码劫持实现 XMLHttpRequest Send 方法,要求每个 ajax 请求把请求参数打印出来?
- 叙述一下 js 事件的处理机制?
- 实现一段程序,检测括号是否成对出现?例如
(())()
- 实现一个 sum 函数,要求:
sum(1, 2).result = 3;sum(1, 2)(3).result = 6;sum(1, 2)(3, 4).result = 10;sum(1, 2)(3, 4)(5).result = 15
- 求字符串的最长公共前缀,例如输入:
["flower", "flow", "flight"]
,输出:fl
以上更新于2020-6-2 00:17:38
晓教育
一面
- 冒泡排序与选择排序的区别?
- BFC 与 IFC?
- react 生命周期?
- 移动端适配的点?
- 移动端像素的适配做过没?rem 转 px 之类的方案?
- webpack pc/mobile 是怎么多渠道打包的?
- 怎么加速 webpack 的构建?
- 微前端有做过吗?讲下实践过程及原理?
- websocket 做过吗?有自己写过的 socket 库吗?
二面
- app 冷启动怎样更快
- cdn 原理
果肉教育
一面
- react-lite 少了什么东西?
- react hooks 原理
- react hooks 生命周期类似实现方式
- 后端服务
- 文件 hash 算法原理?
青鹿教育
二面
- 个人介绍?
- 项目介绍?
- 你搭建的脚手架或者说技术方案会带来什么商业价值?
- 负责产品的用户规模?
- 未来规划?
- 你如何达到前端架构师/架构师的高度?
- 如果带人你会怎么去带人?
三面
- 期望薪资?
- 未来期望?
- 来到这个团队希望担任的角色?
腾讯
这里是 QQ 邮箱架构组前端的面试
一面
-
合并两个升序链表。比如:L1={1, 3, 5}, L2={2, 4}, L1.merge(L2)后,L1={1, 2, 3, 4, 5}
/** * function LinkNode(val) { * this.val = val; * this.next = null; * } * * @param {LinkNode} headL2 */ LinkNode.prototype.merge = function(headL2) {};
-
给定一个递增的循环数组,从里面找出最小的元素。比如:[50, 52, 63, 90, 3, 8, 15, 44],最小元素为 3,要求时间复杂度尽可能小。
/** * @param {number[]} nums * @returns {number} */ const findmin = function(nums) {};
-
找出二叉排序树中第 3 大的节点,要求空间复杂度为 O(1)。
/** * function TreeNode(value) { * this.value = value * this.left = null * this.right = null * } * * * @param {TreeNode} root * @returns {number} */ const find = function(root) {};
-
完成函数 inherit,使得函数 Child 继承函数 Parent,这里的子类为什么能访问到父类中的变量 a?
/** * function Parent() { * this.a = 'a' * } * * function Child() { * Parent.call(this) * this.b = 'b' * } * * inherit(Child, Parent) */ const inherit = function(a, b) {};
-
将一个带 callback 参数的函数 promise 化
/** * const callbackFunc = function (callback) { * callback() * } * * promisify(callbackFunc).call(this).then(() => { * // after callback() called * }) */ function promisify(original) {}
-
项目难点介绍
-
微前端是什么?解决什么问题?
-
https 原理?如果中间人伪造了权威机构的 ca 证书的话,有什么办法解决?
-
兼容性平时怎么做的?做过一体化的解决方法没?
-
对方人员构成?
-
对方技术栈?
头条
一面
-
写出执行结果
function a() { console.log('a'); Promise.resolve().then(() => { console.log('e'); }); } function b() { console.log('b'); } function c() { console.log('c'); } function d() { setTimeout(a, 0); var temp = Promise.resolve().then(b); setTimeout(c, 0); console.log('d'); } d();
-
实现以下函数,失败时重试次数为 retryTime,延时执行的时间 delay
fetchTry(url, retryTime, delay);
-
实现一个函数 add 3 个数相加, add(1, 2, 3), add(1)(2)(3), add(1, 2)(3), add(1)(2,3) 都返回 6
-
react fiber 架构,如何实现不影响 ui 主线程并顺序更新?
-
async 如何实现 promise?
-
redux 结构怎样?api 有哪些?写过 redux 中间件吗?connect 原理?
-
webpack 加速构建?
-
webpack 的 loader、plugin 是什么?写过 plugin 吗?
酷狗
一面
- try catch 能捕获什么,不能捕获什么
- mobx 与 redux 区别
- mobx 使用了什么设计模式
- webpack4 之前使用了什么做 treeshaking
- webpack4 优化步骤
- 小程序是否有做过
- 跨端是否有做过
- nodejs 服务搭建过吗?
- 一个嵌在 app 内,背景图为视频不支持苹果端怎么办?gif 图片过大,怎么提高首页加载速度?怎么监听 gif 图片加载完成?
- 中台是否有做过?
- 对我的评价
- react hooks 怎么写自定义的 hook?如果要写一个 fetch 有什么要注意的点?是否考虑全局化的比如埋点操作?
- 打包时间怎么算的?首屏时间怎么算?
- 编译时间节省了什么?是否考虑放到自动化编译工具上?在 nodejs 链路上需要注意什么?
文远知行
二面
- webpack plugin 的介绍及生命周期?
- css 优先级?10 个类的优先级会比 1 个 id 的要高吗?
- IM 除了 websocket 的长连接外还有那些方式可以建立长连接?或者说 webSocket 如何兼容低版本浏览器?
- 怎么实现一个深拷贝?
三面
- qiankun 切换页面时怎么保存原来的状态?
- 如何更简单的实现表单?表单间的联动怎么处理?
- eggjs 如何实现网络响应?(select/epoll)
- midway 如何实现注解?注解原理?
- redis 有哪几种类型?
- 表连接有哪几种?
- left join 与 inner join 区别?
- left join 的性能优化?
- MySQL 有哪几种锁?
- 数据库四种隔离级别?