五年经验三年前端面经,阿里腾讯头条全Offer,回馈牛友

混迹牛客好几年,今年终于拿了个认证头衔,特来回馈牛友,把压箱底的面试记录都翻出来了。

时间和公司跨度很大,按数量来说应该有成为爆贴的潜力吧 :p

希望各位看过之后小手指占赞收藏回复哦!

2017

3 月

美团一面

  1. 元素居中问题
  2. 动态规划

美团二面

  1. 项目经验
  2. 二阶动态规划

11 月

头条深圳一面

  1. 元素 A 垂直水平居中,高度始终为宽度 50%

  2. == 符号规则

    1. [] == false
    2. {} == false
    3. [1] == [1]
  3. aync, setTimtout, Promise 之间先后顺序

    async function async1() {
     console.log('async1 start');
    
     await async2();
    
     console.log('async1 end');
    }
    
    async function async2() {
     console.log('async2');
    }
    
    console.log('script start');
    
    setTimeout(() => {
     console.log('setTimeout');
    }, 0);
    
    async1();
    
    new Promise((resolve) => {
     console.log('promise1');
     resolve();
    })
     .then(() => {
       console.log('promise2');
     });
    
    console.log('script end');
  4. for 循环 var 与 let

  5. monkey patch Funcion.prototype.bind 方法,让其满足 bind 构造函数时自动创建原型链

  6. 手写节流函数

  7. (data - 原始数组, n - 取出的数量, sum - 取出数量的求和值): boolean, 找到加和等于 sum 的一个子数组

  8. react setState 是否异步,状态和 setTimeout 先后关系

头条深圳二面

  1. 上一次面试的评价,你是怎样回答问题的,自评
  2. 项目经历
  3. 实习经历
    1. 做了哪些事情?
    2. 自评实习表现?
    3. 出了怎样的问题?
    4. 学到了什么东西?
    5. 对方给的引导如何?
  4. HTTP 协议
    1. 缓存控制
    2. Cookie 相关问题
      1. 如何鉴权,如何设计 Cookie 结构?
      2. Cookie 的 http-only 属性
  5. 网络安全
    1. XSS,XSS 能用来做什么,预防
    2. http-only 可以预防 XSS,但有什么问题?
  6. 如何实现微信扫码网页端登录的功能?
  7. 有哪些良好的工作习惯?

2018

2 月

腾讯云一面

  1. 比较复杂的项目?
    1. 如何改进项目?
    2. 使用 TS 带来的成本在哪里?
  2. CSS3 和 CSS2 的区别和改进?
  3. 移动端布局使用的适配方案?
    1. 等比缩放解决不了高度上的适应,怎么办?
  4. ES6 和 ES5 的区别?哪些改动涉及到语言层面相对来说比较复杂?
    1. let 与 var 的区别?
      1. 函数级和块级作用域的区别?
      2. 变量查找的过程?
      3. 什么是父作用域?
      4. 什么是闭包?
      5. 闭包如何访问到函数内部的变量?
      6. 变量声明解析发生在编译的什么阶段?(词法分析)
    2. Promise 是什么?是函数式编程中的什么东西?
      1. IO 是什么?
      2. 函子是什么?
    3. 用可理解的语言描述 Generator
    4. Proxy 应用场景?
    5. Async 语法带来了什么?
  5. Vue 和 React 的状态管理有什么区别?
  6. 如何解决单一状态树带来的重复组件状态管理冲突问题?
  7. 描述 Webpack 进行打包阶段
    1. Webpack 生成的是什么东西?大概描述其原理
  8. Gulp 做了什么事情?与 Webpack 你觉得有什么区别?
  9. HTTP 协议
    1. 1.0 和 1.1 有什么区别?
    2. 避免 TCP 三次握手?
    3. HTTP/2 提供了什么特性?
    4. 为什么 HTTP 1.1 还会有连接的闲置?(因为必须顺序发送响应)
    5. 描述 HTTPS
    6. HTTPS 为何能保证安全?其加密的是什么部分?(非对称加密部分内容,大多数是对称加密,答的不好感觉产生了歧义)
  10. node 的内存垃圾回收机制?
  11. 对于函数式和响应式编程的理解?
  12. 以前是不是做过交互?

蚂蚁金服 一面

  1. 专业课程体系?
  2. 一堆 ES6 相关基础问题
  3. 基本排序算法和数据结构
    1. 找第几大的数字(提示快排)
    2. 链表怎样判断有环,为什么
  4. 个人性格?

蚂蚁金服 二面

  1. 二叉树遍历
    1. 递归遍历
    2. 非递归遍历
  2. 严格等于与不严格等于的区别
  3. 前端模块化的理解,优势
    1. AMD 和 CMD
    2. Webpack
    3. 组件化理解?
  4. Webpack
    1. 实现原理
    2. CSS Loader 实现方法?
  5. 熟悉的开源库?参与的开源项目开发??
  6. ACM 经历
  7. React
    1. 虚拟 DOM 优势?
    2. 如果不用虚拟 DOM 其他实现方式?
  8. Redux 理解?
  9. 自己的最好的项目?难点?
  10. 个人性格?

腾讯云 二面

  1. 自我介绍
  2. 介绍 ES6
  3. HTTP 协议
    1. 报文结构
    2. 有连接?
    3. 常见头
    4. 缓存相关
      1. 缓存相关头识别顺序和优先级
  4. 安全方面

蚂蚁金服 三面

  1. 自我介绍,专业介绍,学习经历
  2. Java 熟练度
  3. JS 异步编程模型
    1. Event
    2. Cb
    3. Promise
  4. 数据库经验
  5. 项目框架,选型
  6. 推动后台做过什么?
  7. 其它人评价
  8. 个人规划
  9. 其它优点

腾讯云 三面(笔试)

  1. 写一个正则来验证url的合法性

  2. 完成方法count(str),传入字符串,返回字符串中出现次数最多的字符及次数

  3. 完成方法subset(arr1,arr2),传入两个数组,判断数组arr1是否为数组arr2的子集

  4. 完成方法shuffle(arr),传入数组arr,返回随机打乱后的数组

  5. 书写一次POST请求过程可能的HTTP请求报文和响应报文

  6. 假设你有一个函数,产生[0, 5)之间的随机整数,每个数字概率1/5,如何使用这个函数产生[0, 7)之间的随机整数,每个数字概率1/7

  7. 现在有一个基准数组 records,先要求你维护其子集 selection 数组(初始为空),维护操作包含删除和插入。

    插入:给定 records 数组中的一个元素,插入到 selection 中
    删除:给定 records 数组中的一个元素,把它从 selection 中删除
    现在要求你: " 实现 insert() 和 remove() 方法来实现以上操作。
    "设计一个算法,保证每次维护操作后,保持 selection 数组中的元素的偏序关系与 records 数组中的保持一致,分析你算法的复杂度。 请实现:

/** 请自行设计函数的参数 */
function insert() {
}
function remove() {
}

腾讯云 四面

  1. ES6,7
    1. await 做了什么?
    2. async 函数取消?
  2. 302 过程
  3. websocket 建立过程
  4. TCP 三次握手
  5. -Vue diff 算法
    1. -元素类型替换的意义?
  6. 事件流程
    1. 鼠标相关事件
  7. koa-router 原理(不懂意思...应补 mt 经验)
    1. 路径匹配,静态资源,协议什级
  8. linux 常用命令
  9. react props 流程
  10. 实习相关
  11. 个人优点
    1. 如何证明学习能力?

腾讯云 五面

  1. 自我介绍
  2. 怎么学习的?
  3. 项目?
  4. 看了哪些书?
  5. 专业?
    1. 计算机相关课程?
    2. 基本排序算法,快排
    3. 基本查找算法,二分
  6. 网络
    1. TCP 三次握手
    2. 网络分层,TCP 层?
  7. 个人发展规划

小米 一、二面

  1. 自我介绍
  2. Ajax, Promise, Generator(return?), ES6 常规
  3. jQuery() 查询顺序(逆 CSS)
  4. CSS
    1. 盒模型
    2. Background 到 Border 的内?外?
    3. absolute 到 Border 的内?外?
    4. margin 合并
    5. margin 基于什么计算?why?

2018 秋招

蚂蚁金服 风控 一面

  1. 专业相关问题
  2. 实习经历
  3. 对不同公司的感受

头条 一面

  1. 自我介绍
  2. 观察者模式实现(就要个 unsubscribe)
  3. Promise 原理?
  4. koa next()
    1. 怎么 next() 等待的?
  5. 事件循环
  6. 如何继承两个类

头条 二面

  1. 自我介绍
  2. chainPromise
  3. throttle
  4. 搜索框实现
  5. 前端搜索算法(模糊拼音匹配)
  6. 正方形
  7. bind
    1. 同时继承

头条 三面(Offer)

  1. 自我介绍
  2. 项目 -> 讲的小程序
  3. 小程序的原理
    1. 前端怎样与 native 交互的?
  4. Babel 配置
  5. React diff 算法
  6. 系统设计:资源离线化
  7. 如何按使用和设备需求来引入 polyfill

美团 一面

  1. React 生命周期,Diff
  2. Gulp
  3. Webpack Plugin 原理?
  4. 安全
  5. HTTP Header,常用

美团 二面

  1. 测试框架
    1. 你会选哪种测试框架?
    2. Jest 的缺点?
    3. 遇到哪些问題?- 老代码写测试
    4. 怎样保证未来的人写你老代码测试时不痛苦?
  2. 构建系统
    1. 自动化?
    2. 构建?
    3. 优化点
  3. Vim 相关
  4. 算法
    1. 2n + 1 个数字,只出现一次的数,M = O(1/lgn), T = O(n).

快手 一面

  1. C++ 与 JS 的区别
    1. 编译过程
  2. 同步,异步
  3. HTTP 协议
    1. 报文
    2. 无狀态
  4. 数据库
  5. 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中所有重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是 [2,3]
    1. 负数
  6. 进程和线程

快手 二面(Offer)

  1. 文字,一行才居中,二行居左
    • inline-block, margin-auto, outer text-align: left;
  2. 25 匹马,五个跑道,前 3
  3. n 个球,1 个不一样重

微信 一面

    1. 有序数组合并
    2. 手动实现 querySelector
    3. 画布迷官
    4. 待做
    1. 題(1) 像什么?
    2. 快排,归并的
      • 区别(时空复杂度)
      • 能否原地进行修改?
      • 归并不能原地保持 nlogn,尽量少的空间实现?
    3. querySelector 简单谈谈
      • 怎么实现属性选择器?
    4. 画布
      • 两个方法,你选哪个
      • 你觉得那个快?
    5. 遇到的最难的问题?
      • Eslint 熟吗?
    6. React 你觉得出彩的地方?
      • vdom
      • state
      • diff
      • immutable
      • pure
      • fiber

微信 三面

  1. 一维空间 n 个点,找 x 的最近的
  2. 二维空间 n 个点,打 x 最近的(R 树)
  3. 常用的库?
    • React, Redux
      • Redux 基本概念?
      • Math.random 应該放在哪?
    • TS
  4. 跨域的概念?
  5. 什么样的请求会发两次请求?
    • Preflight 请求及其触发条件
  6. XSS 和 CSRF
  7. 印像最深的项目(重点在推动)
  8. 个人优点、缺点

微信 面委会 一面

  1. 专业是啥?学了啥课?
  2. 在学校时候做的项目里最难的是?
  3. 如何实现一个俄罗斯方块?
    1. 边际条件?
    2. 优化体验?
  4. 有没有在项目中对某个东西的深挖?(答:Promise,但不够好)
  5. 前端优化性能?

微信 面委会 二面(Offer)

  1. 説一个你比较满意的项目
    1. 你解决的问题?
    2. 怎么推动的?
    3. 技术细节?
  2. React 的优、缺点,与 Vue 的差别
    1. 要细节
    2. 出现的原因
  3. 浏览器兼容性问题
    1. Polyfill
    2. 如何实现一个 fixed 的兼容?
  4. node 的异步是怎么实现的?
  5. 如果有一个操作一定要同步,怎么办?
  6. HTTPS 握手过程?了解 RSA 算法吗?
  7. 你其它技术上的优点?

淘宝(Offer)

淘宝是我最后选择的地方,原因应该不用说了,至于面试题嘛……

有不少,非常多,但是!现在有个大活人在你面前,还不赶紧加起来?趁着阿里内推还没开始,现在还能 ”提前沟通“ 帮你提前看看简历和与我一起工作的机率(已经有非常多同学得到了和技术大佬/网红的一对一简历修改机会)!还可以内推今年的 2021 届实习!

另外网红 @小胡子哥 就坐在我旁边,有对他感兴趣的也可以加我,我帮你引荐!

为了识别身份防止广告,回贴再加楼主微信备注牛客 id,楼主才会加你!

另外产品、Java 后端、测试、运营的同学也可以找我内推~

========================================

图片说明

希望各位看过之后小手指占赞收藏回复哦!

其实我就想招几个小鲜肉过来实习解解闷

加我聊骚也是可以的。

#阿里巴巴##腾讯##字节跳动##前端工程师##实习##内推#
全部评论
期待交流,已加微信
点赞 回复 分享
发布于 2022-06-24 22:40
您好请问微信事业部的gm/evp/面委会您是参加了两次吗,正常是要参加两次吗?还是被加面了?
点赞 回复 分享
发布于 2020-04-02 09:32
感谢大佬分享,tql
点赞 回复 分享
发布于 2020-03-09 19:34
学弟太强了!
点赞 回复 分享
发布于 2020-02-28 22:55
求大佬指导
点赞 回复 分享
发布于 2020-02-27 15:34
 好优秀
点赞 回复 分享
发布于 2020-02-27 08:14
感谢大佬分享!受益匪浅!
点赞 回复 分享
发布于 2020-02-27 08:12
干货 👍
点赞 回复 分享
发布于 2020-02-26 17:06
硬核干货帖子,+10086
点赞 回复 分享
发布于 2020-02-26 16:59
想问下淘宝是几轮面试之后收到offer的呢?
点赞 回复 分享
发布于 2020-02-26 16:58
学长好厉害
点赞 回复 分享
发布于 2020-02-26 16:53
经历可以的,希望深入交流
点赞 回复 分享
发布于 2020-02-26 16:43
学长太优秀了!
点赞 回复 分享
发布于 2020-02-26 16:34
if not now, when😀
点赞 回复 分享
发布于 2020-02-26 16:30
面经很详细,很受用,感谢!
点赞 回复 分享
发布于 2020-02-26 16:23
沙发占位,我想进淘宝
点赞 回复 分享
发布于 2020-02-26 16:08

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
12-24 20:52
武汉大学 Java
点赞 评论 收藏
分享
评论
12
58
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务