前言
从8月中旬实习结束就开始找工作了,一直到十一,终于尘埃落定,在博客园写文章也有一年了,写博客也真的可以获得很多,这里做一个总结。
非科班,但自己比较喜欢前端,所以最后虽然没有拿到bat的offer,但最后也收到了自己满意的。
比较后悔的时内推比较晚了,之前实习一直没有在意,实习回来内推已经不多了,我笔试也比较菜,所以前期挂到绝望。。。
笔试
笔试没有太多的方法,主要就是刷题,牛客网上的题、剑指offer等等,由于自身不是科班,秋招之前准备的也不是很充分,自学了计算机网络、操作系统、数据结构课程,但是算法一直都是弱项,只是把剑指offer刷了好几遍,才能勉强过一些公司的笔试。
面试技巧
1、多看面经。多看,多总结,很多知识点都是常考的,提前看看没有坏处。
2、多面。对于水平一般的同学,可以在前期多投一些公司,不管大的小的。小的公司可以帮助你积累面试经验,这样,在后面面试大公司的时候心里也就有底了。
3、尽量去表现自己,表现的自信一些。 在后面的面试中,如果你都会,你就可以很自信的去回答,去拓展,这样和面试官交流起来也是非常愉快的。
4、往自己擅长的方向引导。我们不可能对于所有的知识点都掌握的很好,但是可以主动说出自己的想法,主动往自己擅长的方向去引导。不会就是不会,不要说可能之类的不确定的话。 如果是‘可能’,那么就表现的对知识点的不深入,这是面试官所不希望的。我觉得比较好的方法就是直接说不会,然后可以给出自己的思路,即把你思考的过程表达出来; 也可以是我没有看XXX,是因为我觉得YYY更加更重要,优先级更高一些,但计划后期回去看XXX。
之前也记了一些公司的面试,但很多都记不全了,只是把印象比较深刻的列出来。
蘑菇街 (内推一面挂)
1、蘑菇街是内推的,但刚刚实习回来,很多都没有复习,所以一面就挂了。
2、自我介绍
3、如何实现一个倒计时功能,类似于蘑菇街中的秒杀。
4、怎么理解es6箭头函数中的this,它和一般函数的this指向有什么区别呢?
5、一个矩形,里面一个樱桃,过樱桃做一条直线, 并且没有数据和测量工具,如果做到评分矩形呢?
6、说一下同源策略
7、vue中的路由时如何管理的? 你知道他的实现方式吗?
8、提到了我的博客,问我的博客相关问题。
猎豹(内推一面挂)
1、猎豹应该是第二个面试的,当时回答的还可以,整体问的也不深,但莫名其妙的就挂了。。
2、retina屏幕的了解
3、说一说移动端的布局。 flexible。
4、知道原理吗,怎么自己去实现一个flexible。 rem布局的实现原理。移动端的点透是什么,有没有了解
5、说一说异步编程的方式有哪些。
6、项目中的设计是怎么回事,说说设计方面。
7、你博客里的轮播图,如果还要优化,你会怎么去优化。
8、你最喜欢的es6中的特性是什么,为什么。
商汤科技(内推一面挂)
商汤面试还是有一定难度的,之前准备的也不太好,卒。
1、为什么选择前端(不是科班,这个问题经常被问。。。)
2、css布局的属性有哪些。
3、有没有遇到过这样的问题: 一个有border的div,里面有一个图片,发现图片和下面的border有一定的空隙(baseline)。
4、函数调用的方式有哪些。他们的区别是什么。
5、说一说原型链(这个要非常清楚)。
6、用过什么框架。jquery用过吗?
7、你实习公司的前端leader是谁。
8、给你一个项目,你使用jquery还是vue、react。为什么。(这个问题也是会被经常问到的)
9、说一说异步编程。
10、说一说回调地狱是什么,有什么问题。异常捕获怎么做。
11、说一说promise。 一个promise有多个then,如果第一个then出错,后面的还会执行吗,如何捕获异常。 如果第一个then出错了,我还想要后面的继续执行,应该怎么做。
12、你在学习js的时候,遇到过哪些js方面的坑、 你觉得js哪些知识会难一些。
其实到这里就可以看出来很多问题都是重复的了。。。
TP-LINK (走完流程,莫名挂)
tplink整体面的还是比较水的,但最后走完流程就没有消息了,应该是挂了。大概只记得下面这些了。
1、你的成绩怎么样? 为什么不学习原专业?
2、登录状态怎么保持?
3、为什么用本地存储,而不用session,session更加简单啊!
4、http和https的区别是什么? (http、https、http2这些都是经常被问到的)
5、post和get的区别是什么?
6、你会的技术有哪些?
7、你在学校社团是做什么的,你是做什么的?
8、为什么不愿意留在暑期实习的公司?
北京绿盟科技(走完流程,挂)
绿盟是在西安分公司面的,但是投递的北京的岗位,几次面试聊的都很好,问的很多,但也都比较基础,答得不错,最后估计也是挂了。
1、vue和react有什么区别?
2、angular用过吗?
3、说一下同源策略? 说一个JSONP? (同源策略和跨域的多种方式还是要很熟练的)
4、304和200的区别是什么。 (状态码也是必须要掌握的,包括各种区别)
5、你所知道的前端优化有哪些内容? (常考的问题,多多总结就好了)
6、linux知道吗? 你所知道的linux命令有哪些?
7、vue中v-if和v-show的区别是什么? (这个实在是记不住了,但是说明了vue不好就是因为api太多)
8、你看过哪些书? (比如计算机的几门专业课、JavaScript高级程序设计、css揭秘、你不知道的JavaScript、深入react技术栈、图解http等等)
9、你会的技术包括哪些
10、为什么不学习原专业,而是要转行。
11、为什么选择了北京而不是西安。
12、项目问题。
有赞 (走完流程等结果)
还是比较喜欢杭州这个城市的,但阿里、网易笔试就挂了,所以最后投了有赞,目前在等结果。
有赞的前端技术应该还是不错的,问的基础和项目都不错,能学到不少知识。
1、一个DOM树,其中有两个节点,找出这两个节点公共的父节点? (视频面试)
2、说一下二叉树?
3、如果反转二叉树?
5、简洁、对于不同的类型,如何做出对比?
6、说一下vue和react中的路由实现方式?
7、说一下强缓存和协商缓存? (浏览器的缓存机制也需要很清楚)
8、跨域?
9、说一下设计模式?
10、其中的一个项目,你究竟做了哪些优化?
11、websocket聊天室如果发送失败了,你怎么解决这个问题?如何做到发送图片? 有了文字、图片等不同的数据类型之后,你如何实现数据的存储,如何设计,前端如何获取?
12、websocket聊天室有输入框,那么怎么获取的,对于使用div来模仿textarea,我说使用正则去掉div,那么用户输入的也是div呢? 如果发送失败了呢? 究竟应该是先发送,还是应该先存储到redux中,考虑用户体验(仿照微信)。
13、为什么数据库使用的是mongodb而不是mysql。
14、什么是xss,如何防止xss?
15、边边购项目说一下?登录的整个过程是什么? 购物车是怎么存储设计的? 如果LocalStorage中数据的值超过了范围,你该如何去处理这个问题? 如果商品下架了,那么你如何显示这个商品? 登录的过程中,一个用户退出登录,另一个用户登录,那么这个购物车是否还是存在的。 说一下边边购项目的多个不同的模块。
16、说一下你说的项目中遇到的问题,然后你是如何解决这个问题的? (这个可以好好准备一下~)
17、websocket的使用,底层是如何处理的。(类似于xhr的。)、
18、websocket在连接的过程中, 会有新包。。balabala 一堆听不懂的词,非常尴尬,,, 我就直接说的不会。
最后三面就简单的问了一些问题,然后就hr面了。
腾讯(霸面挂)
还是非常喜欢腾讯的,无奈第一次霸面就挂了。。虽然面试官全程黑着脸,但是还是可以感觉出技术实力很强。
1、手写代码 判断是否是浏览器环境。
2、http和https https的整个过程画一下
3、httPS需要多少时间 比http慢多少 怎么优化
4、https有什么缺点
5、手写快速排序 复杂度 最慢是多少 为什么取第一个值作为中间值 如果这个值是最大的或者最小的怎么办
6、http2有哪些特性 头部压缩怎么回事
7、100层 1个花瓶仍 找到n层不碎 n + 1层碎了的情况 2个花瓶呢
8、node了解多少 全局对象是什么
9、事件机制说一下 事件绑定说一下 手写如何把div中的a放在平级其中的事件会怎么样 冒泡会到document还是window
10、推荐一下身边厉害的人,你觉得你比他厉害吗。为什么
11、xss怎么防范 尖括号应该怎么过滤,一直问确定吗,最后也没说清楚
12、用过哪些框架
13、移动端如何真机调试
14、tap是怎么回事、和click的区别。。。
网宿( offer )
网宿面试不难,只有一面,问的恰好都会,给了sp。 但大部分都记不清了。。
1、cookie和session有什么区别
2、说一下浏览器缓存问题
3、动态规划是怎么回事
4、进程和线程的区别是什么
5、说一下restful api吧,
6、说一说post和get的区别,
7、说一下状态码吧
8、你觉得什么样的代码是好的代码 (这个其实还挺考验实力的)
9、说一下position的几个属性吧。
10、typescript你用过吗?
最后又聊了一下部门的情况。
乐信(二面结束,进行中)
1、说一下你做过的几个项目吧。
2、框架对比一下
3、cookie和session有什么区别,cookie的大小是多少。
4、css3了解多少,说到了渐进增强和优雅降级
5、vue接触过多长时间、react接触过多长时间、
6、你对互联网公司怎么看,你想要什么样的公司、未来是怎么样的。
7、乐信你了解多少,你对来深圳工作怎么看。
美团(offer )
美团面试还是有深度的。
1、你还转载过美团的文章?嗯 (很多面试官还是会看博客的,谢谢博客总是好的)
2、cookie和localStorage区别,如何把cookie写在一个对象中,其属性就是键值对
3、实现水平竖直居中的几中方法(高度和宽度不确定)
4、flex是什么
5、深拷贝和浅拷贝的区别,手写深拷贝 (博客里总结过,遂让手撕)
6、Oject的几中方式,如何区分 (这个也是常考的)
7、兼容性说一说,你做的PC端兼容性是到哪的
8、如何看待最近react事件 (百度、wordpress弃用事件。可以多关注前端的一些动态)
9、JQuery和三大框架的区别,react和vue的区别
10、说一说CSS3中的动画,animation中可以取哪些值 (css3动画也很重要)
11、flex布局是什么,默认的方向是什么,如何改变方向
12、你的博客都是自己写的吗? 你所有所学都会写成博客吗?
13、说一说原型和原型链,object是最上面的吗?
14、vue中的数据双向绑定是如何实现的、
15、display有哪些,回答了7 8个,还是不满意
16、你的node项目中有几个线程,有几个进程,如果node进程崩溃了,如何知道
17、node中的process是什么
18、node中如何创建子进程/19讲一讲你遇到的比较困难的事情,问了两个,最后是怎么解决的
19、CSS中的单位有哪些分别说一说 (提到了ex)
20、你未来的发展规划是怎么样的
21、跨域,举一个例子,安全性问题到底在哪里
22、100万个数据中,找出前10大数据,最快的方法是什么,堆排序怎么写
23、登录状态怎么使用cookie保持,最好的方法是什么
24、页面中一个video,可能格式不支持,那么前端如何判断并给出提示?
25、通过比较img的onerror是一种方法, 通过服务器端也可以保存一些属性来标识哪些浏览器支持,哪些不支持
26、为什么要用vue和react,而不用JQuery,给你一个项目,什么情况下使用单页面应用,什么情况下使用多页面应用。
27、你所知道的前端大会有哪些,比如腾讯web前端大会,CSS conf大会,js conf大会。
28、你学习的前端号有哪些,比如前端早读课,那么维护者是谁。
29、前端的表单中如何设置表单的方式,如multipart, www等,对于multipart具体是如何区分其中的不同的格式的
30、http2的所有特性。
31、http2中的头部压缩和多路复用。
三面主要是拓展,会比较难。
迅雷(offer)
1、迅雷一面比较基础,二面会根据项目扩展,体验还是不错的,和面试官聊得很开心。
2、post、put和get的区别什么
3、localStorage和sessionstorage的区别是什么
4、页面加载速度很慢,如何加速页面的渲染
5、输入了一个URL之后发生了什么
6、图片很大,如何进行优化
7、手写二分查找
8、画出TCP三次握手的过程
9、websocket是如何实现服务器端推送的
10、你对迅雷了解多少?
11、websocket和http的区别是什么?websocket的优点是什么?
12、为什么使用websocket? websocket是怎么连接的,一定需要通过http协议吗? 短轮询、commet、长轮训都介绍一下。各有什么优缺点。
13、聊天室如何兼容IE8
14、http1.1中的keep-alive是怎么理解的?
15、setTimeout和setInterval
16、原型、原型链、继承等。
17、http1.0、http1.1、http2 (这三者还是要会区分的,也会经常被问到)
18、css3动画相关
19、html、css、js分别实现一个动画效果。
华为(走完流程,备胎)
华为面试比较简单,就是一些开放性的问题,还有快速排序等等。
CVTE(offer)
cvte是实习转正的。
其实在cvte实习的一段时间里,也是学到了很多东西的,吃住也都非常棒,办公室的环境也都很好,大家都很单纯,加班情况也并不严重,部门也会经常聚餐,至少从一个实习生的角度来说,还是非常推荐的。
今日头条(offer)
今日头条的面试记不清了,整体是技术三面,一个上午就面完了,难度是递增的,最后还是幸运的拿到了offer。
后面还有一些面试也都拒了,秋招到此正式结束。
最后的话
不抛弃,不放弃,足矣。