应届渣渣前端的艰难求职之路

本来不准备发的,可是看着自己写了几个月的面经,不发呢就让他烂在电脑里,发的话呢,又给各位大佬献丑,后来觉得还是可惜,那还是发吧。

大学四年,方向都是不固定,身边大部分人思想放不开,永远想着专业对口, 又放任自己,我显得不合群。大一想创业,大二做了数学建模,大三开始做游戏策划,做了几个月又经历了秋招,最后还是做回了前端,现在美滋滋的。

正题

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

自学半年的非科班菜鸡,从游戏策划转行前端,一路过来也许有点顺利,遇到一些不错的人,不过也踩了很多坑。非科班的,又要另外补算法、数据结构、计算机网络、操作系统…差不多这些了。

前端面试


maka

一面:(30分钟)

先做一小时题目,然后来了一个很帅的人来面试,讨论了题目

1.讲一下闭包

2.promise版本的ajax

3.怎么学前端,一般去哪里看文章

4.盒子模型

二面(1小时)

1.看见你会canvas,怎么做的(面向对象、绘制、清除、动画帧)

2.webpack讲讲(loader、pugin、entry、output方面)

3.node错误处理(demo党,讲得比较僵)

4.浏览器从url到页面的过程

5.很多js,要怎么加载(按需加载、动态异步加载,AMD)

6.浏览器页面渲染详细过程

7.node爬虫需要注意什么(操作字符串dom、异步顺序)

hr面:(30分钟)

1.为什么你手写代码就没那么顺手了(编码能力不够扎实,以后会改)

2.说说你家的情况

3.你是不是大家的骄傲

4.大概什么时候来上班

5.我担心你可能觉得一些工作容易而不认真,不能沉下心来

网易

一面:(电话20分钟)

1.怎么学前端

2.jQuery和vue对比

3.webpack的了解,整个流程,插件开发,loader开发

4.性能优化,页面过度渲染怎么办

5.http状态码、缓存

二面:(电话30分钟)

1.vue 整个流程,双绑,complier,htmlparser,render函数

2.开发的流程,从构建、接口、前后端、数据表、ui还原、中间层角度都问一遍

3.css布局,从两列到多列到低版本ie过一遍

4.原形链、闭包、作用域

5.我们正在做一个游戏平台,迭代更新,你觉得平时开发需要做点什么和注意什么细节

hr:(电话20分钟)

1.为什么选择我们

2.对网易有什么看法

3.有玩过什么游戏

4.你觉得乱斗西游怎样,你当初为什么弃坑,你带领的帮派为什么平民玩家都能占排行榜前面

5.加班的问题

cvte

一面(50分钟)

1.怎么学习前端->其中说了社区互相交流->那你有没有参与社区网站的开发和开源项目

2.公司的后端是node中间层,再发到java吗?(直接node的egg框架)那你有搞过这个项目的后端吗?(开一个接口给我自己测试)

3.怎么cors跨域跨域cors的cookie设置,安全性,接下一题(那个地址设置成我们自己那个,'Allow-creadentials’true,)

4.公司的后台对cookie的处理、xss、csrf(我只是说了过滤、反转义、httponly)

5.cookie在多个页面的通信,有效和过期的区别( 单机党这就开始悲剧,反正只说了setcookie和getcookie方法,expire、登录拦截)

6.nginx反代熟悉吗(用过)

7.vuex数据流的理解(把流程图背一遍,然后用原生vue+storage和vuex做比较)

8.vue双向绑定原理(observer,watcher,complier,MV->(文档片段节点劫持)->VM(defineproperty的set和get)->MV(观察者模式,第二阶段导致变化,发布信息publish))

9.promise实现(先try运行一次excute,出错reject,然后then方法给this添加成功和失败的回调,并再返回另一个promise,其他api全是基于then)

10.你擅长什么方面,为什么不去搞算法(因为前端有webrtc、然后到webar,需要很强数学基础,新技术又有pwa、webassembly、css houdini,node又让前端涵盖面更加广)

11.手撕assign的深拷贝

唯品会

一面:

1.看github,问快排

2.如果我第一次不交换会怎样

3.如果是奇数次不交换会怎样,复杂度呢,稳定不

4.为什么是nlogn

5.链表相交点

6.多线程、死锁、竞争、安全(说webworker,他说不讲这个,叫我从操作系统底层讲)

操作系统不熟,他后来说他是安卓的,不懂我们这些,所以我想写代码他叫我不用写,想说webworker也不给我继续说。

看见隔壁桌的聊前端聊得飞起,我是不服的,没办法,刚刚好这问题对于非科班的我没办法,实力不够运气也不够

腾讯CDC:

一面:(电话 50分钟)

1.js基本数据类型

2.闭包、内存泄漏、垃圾回收算法(闭包概念,用于柯里化、缓存、模块化,导致内存泄漏。垃圾回收有新生代的scavenge和老生代的标记清除)

3.js的原形链、继承,es6的class(本来举例子的,他说不用讲那么多,叫我简单讲怎么继承)

4.移动端了解吗

5.浏览器缓存一套(强制缓存、协商缓存、应用缓存)。url到页面的过程。js、css阻塞页面那些问题,异步加载js(async、defer、动态创建)

6.跨域,同一个一级域名不同二级域名低成本跨域(jsonp、iframe桥接)

7.两个网站的js低成本跨域(iframe)

8.完全的跨域,加上后台的(node转发、jsonp、cors)

9.用vue是吧,说一下虚拟dom

10.说一下vuex(复杂关系的组件,统一的状态管理),再说一下单向数据流(类比react的state),那我子父组件通信呢(事件总线)

11.css布局(除了flex、grid还有吗,我说常用就这两个)那么不兼容呢(用回position、float那些,顺便说一下bfc、ifc)

12.你是怎么学习的,你对你自己的评估怎样,职业规划,为什么不满足你的公司

13.xss、csrf,防御措施

14.说一下pwa(server worker,离线或网速慢的情况下正常运行,依靠本地缓存)

15.评价三大框架(针对ng1的di思想、vue的彻底双绑以及学习成本低、react的数据流,虚拟dom)

16.为什么虚拟dom就快了呢(转化为js数据结构,最小化dom操作,最后render插入)

体验很好,会提前打电话叫我准备一下。移动端比较菜,tap怎么实现没有看,css也比较菜,问题是答上来了但不够好

二面: (电话 40分钟)

1.事件模型,事件委托

2.闭包、内存泄漏、浏览器查内存泄漏的方法

3.document.fragement,重绘、重排

4.如果有操作需要频繁重绘,css重绘优化(GPU加速、节流)

5.面向对象、ES6实现面向对象、promise

6.vue原理

7.跨域(特地把iframe随便带过:还有iframe那套),那iframe父子窗口怎么通信

8.nginx相关、webpack、gulp,有自己写过吗

9.vue ssr,vue如何做多页面应用,知道webpack能配这个吗

10.pwa

11.用node干了什么,mvc+模板引擎,多页面应用

12.项目遇到的难点

13.动画处理,怎么优化,动画卡了怎么办

14.xss、防御措施

腾讯课堂:

一面:(几小时)

陪着他们一起下班,挺好的氛围,第一次感觉到上班像玩游戏一样,时间一下就到晚上11点。

还是常规,笔试再面试,不同的是接着就是漫长的电脑操作。

笔试:写一个函数,给dom加遮罩层、文章里面出现频率最高的、正则匹配属于qq.com的、插入1000个li、手写观察者模式、大数相加

看起来都简单,不过你要是无脑做是必死的,追求极致解和考虑所有的情况以及效率,眼高手低的人在这里是死定的。

面试:

1.继承、类,对类的静态、私有、共有什么看法

2.事件模型、重绘重排

3.http2相关

4.说刚刚做的题,文章最高频率单词那道题,考虑多个结果的优化

5.为什么requestAnimationFrame在插入li那道题是一种优化

6.跨域、哈希值你的应用场景、刷新了怎么办

7.大数相加,考虑到9999那种情况,当场写得代码比较冗余

电脑操作:

1.两个盒子,一个盒子能拖动,拖到另一个盒子里面就变色。这里考到事件委托了。不能用drag事件

2.防抖节流、深拷贝

二面:(视频2小时)

1.聊人生

2.项目的难题,现在重复写一遍(border-radius用canvas实现,而且缩放不能是椭圆,其中一个角还要有阴影。用到微积分)

3.三列布局,想表现自己,挑了圣杯布局来写,而且没写好

4.大数相加,因为上次没写好,这次写了一个厉害很多的版本

5.实现一个像百度那样子的搜索框

6.webpack自己写过插件吗?没。计算机网络了解不,协商缓存、强制缓存

7.时针和分针在5点15分和7点45分的夹角

总监面:(视频 1小时)

1.聊人生

2.写快排。10分钟,完美版本,无错误。

“看看哪里错了?为什么要用草稿本,难道自己写的代码不能看出错误来?”

“还有什么可以优化的吗?”

“执行效率上还有问题吗?”

经过中间n多改进与纠缠。。。留下qq继续战。

又战了两三天,最后结果,左中右3管齐下的快排+中间基准值,测试5000个数4000个重复的情况,结果比数组sort方法还要快。兼顾到数组元素的特性以及长度。我那边还要继续准备毕设。

快手:

一面:(视频 1小时)

1.了解前后端交互吗(restful的api)那怎么传数据(跨域、不跨域情况)跨域怎么跨(cors、jsonp)

2.那jsonp原理呢,返回数据格式呢,手写

3.了解js的自定义事件吗。(有一个api的,我忘记了,然后定义了能用eventlistener监听,类似于发布订阅者模式)

4.那写一个发布订阅者模式(成功把他引入我熟悉的坑)

5.非计算机的,那计算机了解吗,tcp3次握手,如何将一个数转16进制,16进制的数是什么样的

6.看来你还是有了解的,那再问你堆和栈(常量池存基本类型、栈存变量和指针、堆存复杂类型)

7.浏览器缓存

最后

小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值