女王控的博客

面试实录

腾讯

这里是 SNG 部门的面试

一面

今天晚上 7 点左右接到腾讯 SNG 打来的电话,全长 40 分钟

  1. 简要介绍自己
  2. 客服系统采用什么架构?
  3. Ionic 框架是做什么的?
  4. Ionic 前身是解决什么问题的?
  5. 客服系统为什么采用这个框架?
  6. websocket 怎么实现的?还有什么别的方式来实现消息推送机制?
  7. 当时用的 Angular 的版本?双向绑定是怎么实现的?
  8. 301 与 302 的区别?
  9. jquery 中 bind 和 on 的用法?以及他们的区别?优缺点?
  10. 商家后台技术栈?react 是什么东西?react 虚拟 dom 算法的实现方式?虚拟 dom 是什么?
  11. 重绘与重排是什么?他们的区别?有一个动画怎样实现使它的 dom 的重排重绘改变最小?也就是更流畅?
  12. 什么是一级 dom 和二级 dom?
  13. 什么是事件委托?
  14. 跨域的几种实现方式?其中 postMessage 内部的实现方式?调用过程?伪装域名怎么解决?其中服务器端怎么实现 Access-Control-Allow-Origin 的跨域的(怎么拦截跨域的)?
  15. 浏览器事件规则的传递?
  16. 缓存的实现方式?
  17. dns 的查询过程?
  18. 你怎么称呼?
  19. 你主要做什么业务?
  20. 有没有涉及到后台运营一些业务?

以上更新于2018-04-23 19:44:37


SHEIN

一面

  1. react v15 与 v16 的主要变化?
  2. react v15 getChildContext 与 react v16 Context.Provider 优缺点?
  3. redux 与 mobx 的优缺点?
  4. 组件怎么做性能优化?
  5. mobx 怎么做性能优化?
  6. table 的某一行有很多组件,使用起来卡顿,怎么优化?
  7. webpack v2 升级到 webpack v4 你主要做了哪些优化?
  8. 页面性能优化?
  9. react 页面白屏的原因及解决方法?
  10. react 中全局主题色怎么配置?
  11. style 与 className 那种更好?
  12. react 组件最耗性能的地方?怎么优化
  13. 面试需要几轮?
  14. 面试官是做什么业务的?

二面

  1. 介绍自己
  2. 有没有女朋友
  3. 工作经历中隔了一年是什么原因
  4. 为什么跳槽
  5. 为什么要选你
  6. 页面上有图片加载,图片有懒加载,如何计算图片曝光性能更好
  7. 根据上面的条件,除了图片曝光信息之外,还有浏览器上有一些数据要采集,如何发给后端?
  8. 架构组主要做些什么
  9. 上线的流程怎么样

以上更新于2020-5-20 09:17:01


数字广东(拿到 offer)

一面

  1. 输入网址浏览器执行的过程
  2. TCP 连接时为什么三次握手
  3. TCP 断开时为什么四次挥手
  4. vue 用法?
  5. react 16 与 15 的区别
  6. 为什么要加上 react 16 的生命周期?
  7. fiber 原理?底层架构
  8. webpack 原理
  9. webpack 分包机制?webpack 4 与 2 的分包机制有什么区别?
  10. 网页性能优化
  11. 图片格式的选择?
  12. 拿到美工的图片时会怎么选择?做什么处理?
  13. iconfont 字体库原理?
  14. css 选择器优先级?
  15. 对方技术栈?
  16. 对方面试几轮?
  17. 对方做什么业务?

以上更新于2020-5-27 13:34:46


二面

  1. 项目介绍?
  2. 如果遇到 UI 和你的意见不一致你会怎么处理?
  3. 对方的技术栈?
  4. 对方的上线流程?
  5. 对方的架构工作?

三面

  1. 怎么做组件的复用
  2. 项目介绍

腾讯

这里是开发平台运营前端的面试

一面

  1. 项目介绍?
  2. 浏览器缓存介绍?
  3. sw 缓存怎么实现的?原理是什么?
  4. sw 缓存机制是否有了解?如何更新 sw 缓存?
  5. https 原理?中途被篡改的话该怎么预防?
  6. 代码劫持实现 XMLHttpRequest Send 方法,要求每个 ajax 请求把请求参数打印出来?
  7. 叙述一下 js 事件的处理机制?
  8. 实现一段程序,检测括号是否成对出现?例如(())()
  9. 实现一个 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
  10. 求字符串的最长公共前缀,例如输入:["flower", "flow", "flight"],输出:fl

以上更新于2020-6-2 00:17:38


晓教育

一面

  1. 冒泡排序与选择排序的区别?
  2. BFC 与 IFC?
  3. react 生命周期?
  4. 移动端适配的点?
  5. 移动端像素的适配做过没?rem 转 px 之类的方案?
  6. webpack pc/mobile 是怎么多渠道打包的?
  7. 怎么加速 webpack 的构建?
  8. 微前端有做过吗?讲下实践过程及原理?
  9. websocket 做过吗?有自己写过的 socket 库吗?

二面

  1. app 冷启动怎样更快
  2. cdn 原理

果肉教育

一面

  1. react-lite 少了什么东西?
  2. react hooks 原理
  3. react hooks 生命周期类似实现方式
  4. 后端服务
  5. 文件 hash 算法原理?

青鹿教育

二面

  1. 个人介绍?
  2. 项目介绍?
  3. 你搭建的脚手架或者说技术方案会带来什么商业价值?
  4. 负责产品的用户规模?
  5. 未来规划?
  6. 你如何达到前端架构师/架构师的高度?
  7. 如果带人你会怎么去带人?

三面

  1. 期望薪资?
  2. 未来期望?
  3. 来到这个团队希望担任的角色?

腾讯

这里是 QQ 邮箱架构组前端的面试

一面

  1. 合并两个升序链表。比如:L1={1, 3, 5}, L2={2, 4}, L1.merge(L2)后,L1={1, 2, 3, 4, 5}

    js 复制代码
    /**
    * function LinkNode(val) {
    *     this.val = val;
    *     this.next = null;
    * }
    *
    * @param {LinkNode} headL2
    */
    LinkNode.prototype.merge = function(headL2) {};
  2. 给定一个递增的循环数组,从里面找出最小的元素。比如:[50, 52, 63, 90, 3, 8, 15, 44],最小元素为 3,要求时间复杂度尽可能小。

    js 复制代码
    /**
    * @param {number[]} nums
    * @returns {number}
    */
    const findmin = function(nums) {};
  3. 找出二叉排序树中第 3 大的节点,要求空间复杂度为 O(1)。

    js 复制代码
    /**
    * function TreeNode(value) {
    *     this.value = value
    *     this.left = null
    *     this.right = null
    * }
    *
    *
    * @param {TreeNode} root
    * @returns {number}
    */
    const find = function(root) {};
  4. 完成函数 inherit,使得函数 Child 继承函数 Parent,这里的子类为什么能访问到父类中的变量 a?

    js 复制代码
    /**
    * function Parent() {
    *     this.a = 'a'
    * }
    *
    * function Child() {
    *     Parent.call(this)
    *     this.b = 'b'
    * }
    *
    * inherit(Child, Parent)
    */
    const inherit = function(a, b) {};
  5. 将一个带 callback 参数的函数 promise 化

    js 复制代码
    /**
    * const callbackFunc = function (callback) {
    *     callback()
    * }
    *
    * promisify(callbackFunc).call(this).then(() => {
    *     // after callback() called
    * })
    */
    function promisify(original) {}
  6. 项目难点介绍

  7. 微前端是什么?解决什么问题?

  8. https 原理?如果中间人伪造了权威机构的 ca 证书的话,有什么办法解决?

  9. 兼容性平时怎么做的?做过一体化的解决方法没?

  10. 对方人员构成?

  11. 对方技术栈?

头条

一面

  1. 写出执行结果

    js 复制代码
    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();
  2. 实现以下函数,失败时重试次数为 retryTime,延时执行的时间 delay

    js 复制代码
    fetchTry(url, retryTime, delay);
  3. 实现一个函数 add 3 个数相加, add(1, 2, 3), add(1)(2)(3), add(1, 2)(3), add(1)(2,3) 都返回 6

  4. react fiber 架构,如何实现不影响 ui 主线程并顺序更新?

  5. async 如何实现 promise?

  6. redux 结构怎样?api 有哪些?写过 redux 中间件吗?connect 原理?

  7. webpack 加速构建?

  8. webpack 的 loader、plugin 是什么?写过 plugin 吗?

酷狗

一面

  1. try catch 能捕获什么,不能捕获什么
  2. mobx 与 redux 区别
  3. mobx 使用了什么设计模式
  4. webpack4 之前使用了什么做 treeshaking
  5. webpack4 优化步骤
  6. 小程序是否有做过
  7. 跨端是否有做过
  8. nodejs 服务搭建过吗?
  9. 一个嵌在 app 内,背景图为视频不支持苹果端怎么办?gif 图片过大,怎么提高首页加载速度?怎么监听 gif 图片加载完成?
  10. 中台是否有做过?
  11. 对我的评价
  12. react hooks 怎么写自定义的 hook?如果要写一个 fetch 有什么要注意的点?是否考虑全局化的比如埋点操作?
  13. 打包时间怎么算的?首屏时间怎么算?
  14. 编译时间节省了什么?是否考虑放到自动化编译工具上?在 nodejs 链路上需要注意什么?

文远知行

二面

  1. webpack plugin 的介绍及生命周期?
  2. css 优先级?10 个类的优先级会比 1 个 id 的要高吗?
  3. IM 除了 websocket 的长连接外还有那些方式可以建立长连接?或者说 webSocket 如何兼容低版本浏览器?
  4. 怎么实现一个深拷贝?

三面

  1. qiankun 切换页面时怎么保存原来的状态?
  2. 如何更简单的实现表单?表单间的联动怎么处理?
  3. eggjs 如何实现网络响应?(select/epoll)
  4. midway 如何实现注解?注解原理?
  5. redis 有哪几种类型?
  6. 表连接有哪几种?
  7. left join 与 inner join 区别?
  8. left join 的性能优化?
  9. MySQL 有哪几种锁?
  10. 数据库四种隔离级别?

阅读上一篇

涂波涛的个人简历
2021-03-18 10:26:31

阅读下一篇

反向面试
2020-06-02 03:44:58
0%