网易,腾讯,阿里前端面筋

背景:广东某本,前端学了一年左右
从二月底开始投简历,陆陆续续投了二十多家,最后只面了三家,有些是简历被筛了,有些是笔试挂了,有些是石沉大海,还有一些是因为太晚不想面拒掉了,最后只面了阿里,网易,腾讯这三家,网易,腾讯都拿offer了,阿里面完hr面后没消息了,不过也不咋重要,因为自己本来也不想出省,下面就发一下面筋,因为太久了很多都忘了,将就看。

淘系前端一面(1h)

  • 自我介绍
  • 了解哪些ES6的内容
  • promise用过哪些方法(then,all,catch)
  • all方法是干啥的(记串了,记成了race方法,面试官纠正)
  • 低版本浏览器怎么兼容这些ES6的代码
  • vue响应式原理
  • diff算法
  • 使用vue遇到的比较难的问题
  • 说一下webpack的常用配置
  • 用过哪些loader
  • 兼容低版本的CSS用什么(autofix)
  • babel的了解
  • 有没有写过plugin或者loader
  • 说一下实践过的性能优化
  • 路由懒加载怎么实现的(这个不知道是想问webpack的魔法注释还是啥,我只说了cli自带处理)
  • 设计模式有哪些,在实践中使用过哪些,详细说说适配器模式(说了几个,然后面试官补充了一个他们做工程的一些例子,但是我一脸懵逼 )
  • 深入讲一下项目(凉透了,项目深度不够,流水线式介绍,难点不知道咋表述出来,后面面试官还教我怎么描述一个项目的难点)(后面我终于会描述了)
  • 反问

    阿里拍卖一面(50min)

  • async await的ES5怎么实现的
  • vue 的响应式原理
  • vue在哪个阶段取消监听,将内存清掉(?啥意思)
  • HTTP缓存有哪些字段,有啥区别
  • 状态码有哪些,400是啥,500是啥
  • HTTP2 的新特性
  • 用户页面遇到白屏问题,解决问题的思路
  • JS代码报错,后续代码还会执行吗
  • JS某个地方出错,怎么让页面正常显示
  • websocket怎么去判断用户是登录状态(通过发送用户ID去识别,在连接时可以在url后面接参)
  • 发送用户ID这种做法有什么危险
  • 使用HTTP为什么会有频繁握手问题
  • websocket给项目带来了什么好处
  • HTTP是单工的还是双工的还是半双工的
  • 项目中用到的设计模式(面试官:就这些?)
  • 性能优化你做了哪些

    阿里钉钉一面(45min)

    • 说下项目中的难点
    • 说下diff算法
    • 做的项目优化
    • HTTP,HTTPS,websocket的区别
    • SSR
    • SSR的具体用法
    • SSR怎么保证客户端和服务端的数据同步
    • 用SSR遇到过什么难题
    • 为什么使用redis
    • 闭包
    • 原型链
    • 阿里伯乐做了个版本号比较问题
    应该还有其他的,不过我忘了,问的都不是太难

    阿里钉钉二面(40min)

    • 自我介绍
    • 讲项目
    • 什么专业,学过什么课程
    • 讲讲三次握手四次挥手
    • 三次握手发生在内核态还是用户态
    • 内核态和用户态的区别
    • 电信号在网络中怎么传输的
    • 模拟信号和数字信号的区别
    • 描述拨号上网到前端页面显示的整个过程,越详细越好
    • 垂直水平居中的多种方法
    • 说下异步
    • 说下generater和yield
    • generater的本质是什么,或者说下generater执行时操作系统中发生了什么(不知道是不是想问进程协作啥的,我也不太了解)

    阿里钉钉三面(30min)

    • 学过哪些基础课程
    • 操作系统本质是什么
    • 你觉得操作系统这门课在讲什么
    • 说说数据库的索引
    • 数据库事务是什么,有什么特性
    • 有没有自己设计过数据库表(实践不多,说了下学校的数据库课设)
    • 用过哪些数据结构
    • 说说你了解的树有哪些,B+树了解吗
    • 平衡二叉树是什么,你觉得它有什么优点,应用场景在哪
    • 讲一下网络请求到渲染的全过程
    • 重排和重绘
    • 对MVVC的理解,有什么好处,除了MVVC还了解过其他模式吗
    • 软件工程和设计模式有什么区别,说说几个了解的设计模式

    微信开放平台一面(40min)

    • 自我介绍
    • 讲项目
    • 说说ES6的一些新特性
    • 如何实现一个web端的JS断点调试功能
    • vue的优缺点
    • web缓存
    • web安全
    • 讲讲https
    • 写代码:1.leetcode670;2.实现一个JSON.stringfy(),要支持循环引用,并记录循环引用的路径
    这一面感觉面试官对我没啥兴趣,最后算法题也没全A,不出意料的挂了

    网易有道一面(50min)

    • 自我介绍
    • 介绍项目
    • 说说项目做过的一些优化
    • 你觉得webpack 是干什么的,为什么需要webpack
    • webapck的loader和plugin有什么区别
    • ES6学了哪些
    • 搞了个作用域的题目,具体忘记了
    • 跨域知道哪些,详细说说
    • CSS写得多还是JS写得多
    • 两个div,父元素移入子元素,子元素样式发生变化,共享屏幕写代码
    • mouesemove,mouseleave,mouseup等等几个API的区别
    • 哪些方法不能冒泡
    • 纯CSS解决上面那个问题
    • 伪类和伪元素的区别,都分别有哪些
    • 在浏览器渲染层面上面两者有什么区别
    • 为什么用SSR
    • SSR用什么做的
    • ssr处理数据和SPA有什么区别
    • 为什么用redis
    • 反问

    网易有道二面(35min)

    • 人在广州?
    • 直接项目展开,问了很多发散性问题,比如下面几个
    • 如果浏览器进程突然奔溃,纯前端怎么保证数据的安全(定时存储到localstorage)
    • 数据传输过程有无做压缩
    • 为什么要使用websocket,解决了什么问题
    • http缓存
    • http状态码
    • SSR怎么保证数据的同步
    • 使用SSR有无遇到什么坑
    • 多页应用怎么打包
    • 说下webpack的预渲染怎么做的
    • 拆包是用什么方式
    • 你这种方案第一次渲染时间会比较久,有什么方法让首次渲染更快吗
    • 等等。。。。
    这一面参考性不大,基本都是围绕项目在讲,面完下午hr打电话随便聊聊说口头过了,第二天就发了offer

    腾讯CDG一面(1h40min)

    • 没让自我介绍,直接问你是广工的?我们这边也有不少同事是广工的,我上一个面试的同学也是广工的,balabala,魔幻开局
    • 让我详细讲讲项目,讲了比较久
    • 详细讲讲性能优化,分几个方面讲,也讲了比较久
    • web缓存有几种,分别说下
    • 你说了性能优化,那你有了解过webpack里面的拆包吗,说一下你的拆包策略
    • 你觉得拆包的意义在哪,结合http的缓存详细说下拆包
    • 拆包过程有遇到过什么坑吗,如何解决的(有个webpack的bundle和module的id自增导致缓存失效的问题)
    • 上面两个讲完差不多都五十分钟了,接着问问题
    • 为什么项目选用vue,如果要把项目迁移到React怎么办
    • 为什么要使用vuex
    • 如果要复用项目中的某一块逻辑,你怎么做,我答的是mixin,后面面试官说了其他方法
    • 用过nginx吗,说说干嘛的
    • 如果我从前端要请求一张图片,你觉得从前端到后端的整个流程是怎样的,详细讲讲在后端的处理流程,随便扯了点路由匹配啥的
    • 共享屏幕搞了几道题:1.说说几种实现数组去重的方法
    • 2.给了一个代码片段,大概就是一个产生随机数的for循环,然后把这个随机数当作参数传到一个异步函数,问怎么保证输出顺序也是有序的,其实就是类似于同时发送几个http请求,怎么保证响应顺序也按照请求顺序依次返回
    • 看你有写过一些偏后端的应用,说说你了解后端的哪些知识
    • koa的洋葱模型,和express有什么区别
    • 说说不用nuxt框架怎么实现SSR,数据预取怎么实现的
    • 微信为什么会挂掉,说说那两道笔试题的题目和你的解法
    • 平时怎么学习的,学前端多久了
    • 如何学习一个新的知识
    • 你在学校的实验室名称是什么,学校有哪些实验室比较出名,推荐点实验室的同学来面试
    只记得这些了,应该还有其他的,面试过程评价都比较正面,面完就直接口头给过了

    腾讯CDG二面(30min)

    • 自我介绍,我上个刚面的也是广工的同学,你认识他吗(为啥每个面试官都喜欢问这个,我咋认识)
    • 高并发场景下前端的优化方案
    • 前端安全了解哪些
    • 说下快速排序的思想
    • 写CSS喜欢用什么布局
    • 几种垂直水平居中的方案
    • 浮动布局和flex布局相比有什么优缺点
    • 三栏布局有哪些写法
    • BFC
    • 做过移动端吗
    • 了解PWA吗,webpack怎么做PWA
    • 知道什么最新的前端技术没,跨端开发如何做
    • 讲讲http
    • 说下几个常用的状态码
    • 讲讲事件循环是什么东西
    • 在QQ丢了个移动端的小项目给我做,让我做完第二天接着面
    • (第二天来了),问一些实现,主要还是偏向CSS的,然后说我的实现没亮点,没注意语义化什么鬼的
    这一面主要是偏向CSS的考察吧,可能是因为一面没考CSS的原因,面完也是口头给过了

    腾讯CDG三面(35min)

    • 自我介绍
    • 前两轮面试觉得自己在哪些方面表现不好,分别说说
    • 三次握手四次挥手
    • web安全
    • 讲讲https的握手过程
    • https为什么会出现,https一定安全吗
    • 用过websocket吗,websocket是哪一层的协议
    • 详细说说websocket的各个方面(可以讲讲升级握手过程,什么类型的通信,优缺点,传输格式啥的)
    • 有看源码的习惯没,看过哪些源码
    • 说说vue源码印象比较深刻的地方
    • 说说koa的源码
    • 为什么要学前端
    • 你觉得前端的发展路线是怎样的,各个阶段分别需要掌握哪些技术,你觉得自己处于哪个阶段
    • 反问

    阿里钉钉四面(40min)

    • 自我介绍
    • vue和react的区别
    • 事件循环
    • 浏览器渲染过程
    • html解析具体过程
    • 详细讲讲项目
    • 介绍vuex的各个模块和简单讲讲原理
    • 虚拟dom存在的意义
    • vue里面的key有什么作用
    • 在海量字符串中统计处出现频率最高的单词,有什么思路
    只记得这些,项目讲解占了一半时间,基础问的不怎么多,也比较简单

    腾讯CDG四面(40min)

    • 自我介绍
    • 讲项目
    • 你在项目中是什么角色,了解项目的后台架构吗
    • 说说你在项目中做过的性能优化
    • CDN的原理是什么
    • Linux常用指令
    • 说说前端工程化
    • 除了你简历上写的这些,你还在什么技术上深入研究过没吗
    还有不少忘记了,四面是通道面,类似阿里的交叉面,问的都是大方向上的问题,看你回答的深度怎么样

    阿里钉钉HR面(19min)

    • 学校是211吗
    • 在学校的成绩怎么样,拿过奖学金吗
    • 高考分数多少
    • 父母是干嘛的
    • 说一下学校的经历
    • 遇到过的挫折感最大的事情
    • 最自豪的一件事
    • 坚持最久的事
    • 坚持的事情有无和其他事发生过冲突,怎么解决的
    • 和其他人合作过程发生冲突怎么解决
    • 如果让你领导项目一个复杂模块的开发,怎么去做
    • 好像没了


    腾讯HR面(26min)

    • 自我介绍
    • 人在广州?
    • 校园经历,当过班干部没
    • 说下团队的规模,在团队的角色
    • 说下团队的协作流程
    • 觉得自己技术怎么样
    • 参加过什么比赛,拿过什么奖
    • 你学过JAVA吗,你对JAVA熟悉吗
    • 什么时候开始用GitHub,更新频率怎么样
    • 介绍了下部门,好像就没了

    差不多就这些了,相当于给自己做个总结吧,从小白摸爬滚打成为了一名菜鸟,技术的学习不能停止,对我而言,总的来看前端基础问的倒是不怎么多,大部分时间可能是问计算机基础和项目,我在学校做的项目还OK,能磨掉不少时间,需要注意的是项目自己要包装一下,我刚开始投简历的时候被淘系的面试官说过项目比较单薄,然后重新深入挖掘了下,反而项目成了后面面试中的一个亮点,很多人被问到项目亮点或者难点的时候不知道怎么说,这个其实可以结合你学过的基础知识来讲,比如项目某个地方用到了某种设计模式,达到了什么效果,或者用到了某种数据结构或算法,或者是写了什么webpack插件来辅助项目开发,又或者是遇到了某些性能问题,排查之后怎么去解决,等等这些都可以去讲,如果这些都没有,可以强行加上一些通用问题,比如长列表优化,列表基本上每个人的项目上都有,可以去网上看看常见的长列表优化方案,为什么要优化,怎么去优化,优化有哪些方案,每个方案的优略,优化之后带来的成果等等。
    总的来说就是至少让自己有一个值得面试官留意的点,背前端的基础知识可能比较难和其他同学拉开距离,因为基础知识比较简单,基本都是必备技能,在这个基础上,要让自己有些与众不同的点,比如技术栈广泛;对某个方面研究深入;项目经验比较丰富或者复杂;逻辑思维比较活跃;审视问题角度新奇等等,这些都可以成为让人印象深刻的点,具体到每个人都不太相同,就说这么多,祝大家求职顺利!

    #面经##前端##面试题目##阿里巴巴##腾讯##网易##前端工程师#
  • 全部评论
    楼主太强了,工作室还招人不?带带我
    1
    送花
    回复
    分享
    发布于 2020-05-03 19:58
    校友,哪个工作室的😁
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 09:54
    滴滴
    校招火热招聘中
    官网直投
    过来膜拜一下校友
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 10:52
    大佬,这是实习吗?
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 14:06
    校友强的一批
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 14:54
    大佬好强,好棒,好赞,好厉害,好牛逼,我好崇拜你啊
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 17:09
    大佬,你是真的牛逼,带带我
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 17:13
    广工tql
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 17:17
    大佬太强了,带带我😅
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 17:20
    点赞
    送花
    回复
    分享
    发布于 2020-05-03 23:23
    大佬牛逼(尖叫)
    点赞
    送花
    回复
    分享
    发布于 2020-05-04 01:22
    看了这么多,我时时刻刻都知道自己是个废物,会的只有楼主的10分之一
    点赞
    送花
    回复
    分享
    发布于 2020-05-05 10:06
    问题都好难吖,终归还是自己太菜了😤
    点赞
    送花
    回复
    分享
    发布于 2020-05-05 22:53
    为啥选择有道......去腾讯实习更好
    点赞
    送花
    回复
    分享
    发布于 2020-05-10 11:36
    有想来字节实习的么?急需前端实习生 https://www.nowcoder.com/discuss/418084 期待大家加入
    点赞
    送花
    回复
    分享
    发布于 2020-05-11 10:21
    同校友同腾讯,楼主怎么不去腾讯
    点赞
    送花
    回复
    分享
    发布于 2020-05-11 11:16
    校友强的一批
    点赞
    送花
    回复
    分享
    发布于 2020-05-12 00:04

    相关推荐

    一面问的八股都很基础,最常规的数据类型数组方法vue全家桶promise跨域问题那些,就先不整理了。二面被佬狠狠爆杀,深刻地感受到了自己对js的了解有多么浅薄。不能说问的有多难,但确实是平时准备的死角…被精准踩中了🙂‍↔️-1.js有很多版本,你可以说说这个过程更新了什么吗 (这问题有点宽泛,说了一堆2.es6新特性3.es6新引入的对象类型4.说说symbol值5.let和const的区别6.promise7.async用generator怎么实现? (直接懵了,es6只看了阮一峰的文档,不记得里面写没写这个。只知道async是语法糖,具体怎么包装的还得再了解一下。8.深拷贝一个数组对象需要注意哪些点?(扯了一堆循环拷贝,结果没踩到面试官心巴上。9.这个过程中可以怎么遍历对象属性 (for of,但是for of不能遍历不可迭代的普通对象。又没踩到心巴上10.对象里的不是每个属性都能被遍历到吧,有很多不可读的属性。怎么遍历到这些属性(说了使用object.key,又没踩到面试官心巴上。面试官把话题向iterator引导11.iterator返回值具体是什么 (忘了,凉了12.说说css。你用css写过最复杂的布局是什么(三栏圣杯算吗13.css动画用过吗 (憋了几句transition相关的14.可以作为动画的图片格式了解吗 (先说了个gif,然后不确定canvas和svg算不算,面试官说这俩不算图片格式-然后是一些聊天。反问环节向面试官寻求建议,面试官说虽然现在都用框架,但很多边界情况如果不懂原生会很难处理,在公司里业务会更复杂。而且js的这些底层的东西还是很有趣的,看着他最初作为脚本语言的诞生而产生的特性,然后一步步变化到现在的样子,这个过程很值得研究。-学无止境啊……
    点赞 评论 收藏
    转发
    34 126 评论
    分享
    牛客网
    牛客企业服务