女王控的博客

面试实录

腾讯

这里是 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}

    /**
     * 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,要求时间复杂度尽可能小。

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

    /**
    * 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?

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

    /**
    * 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. 写出执行结果

    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

    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 链路上需要注意什么?

阅读下一篇

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