前天晚上,鹅厂hr正式告知发放转正的offer,我的秋招也暂时告一段落。
接下来都是前端视角。
0.找工作前的心态和期望
求职前要先确定自己对未来这份工作的一些期望。
作为一个在广州某985上学的浙江人,对工作的期望地点基本就是锁定在华南地区和江浙沪包邮区。事实上,过去半年多我投递的确实都是这两个地区,这也意味着放弃了帝都这个互联网公司最多的地区,也对之后求职或多或少增加了难度。另外的期望其实不多,工资期望我是觉得中等水平就可以。不同的人对于工作有不同的期望,有人可能希望较高的薪酬,有人可能希望有大公司的稳定,当然也有许多人为了爱情圈定工作地点。
关于心态,找工作对时候我一直都有一个心态:要是真找不到,就回本校读研。其实这个心态对找工作还有利有弊,一方面让我可以有一个相对放松的心态,但另一方面又会懈怠。总之,调整好自己心态吧,别太大压力,一时找不到工作也是正常。求职路漫漫,坚持到底便是胜利。
1.准备简历和面试
对于前端来说,可以有很多种方式写简历,html,ps生成jpg,markdown,word等等。哈哈哈我选了最懒最快的markdwon,其实形式不重要,关键在于内容。
简历最后最好生成pdf格式,以便在不同电脑上是相同的效果,页数最好控制在两页之内。关键的信息一定要放在前面,作为前端来说,应该把项目经历以及你掌握的技能放在前面位置。当然你学校很棒成绩很出色可以在开头显示,但别太长了 。项目经历务必要突出你做了什么最后的结果怎么样。技能啥的,务必谦虚点,不会的就别写了,写上去的技能要保证你一定会的,否则到头来反而减分。==吐槽一点,为什么现在的不同公司都要重新填写简历,就很烦。
准备的话,我主要是准备计算机基础知识,比如计网,操作系统等;因为是前端,算法可能看的比较少,只会一些最基础的。不过要注意的是,算法题在某些厂的笔试当中还是十分重要的。另外就是整理之前的项目,有什么难点和亮点。js和css基础什么的这些对于前端来说自然不用说了,这是根本,必须牢牢掌握。具体的面试在后面讲。
最后说一下我认为的简历加分项:优秀的个人博客和GitHub;丰富的项目经验和实习经历;开源社区活跃者。
2.海投
投简历目前无非几种方式,校招直接投,内推投,leader直推等。
内推这两年进入泛滥趋势,以猪厂为例,内推那几天牛客上内推码满天飞,因此内推远远没有你想像的那么美妙。
因为实习的时候较早拿到鹅厂offer后来并没有继续找实习。这里总结一下秋招校招内推的情况。拼多多学霸批(拼多多似乎内推类型有点多),拿到口头通过offer,尚未正式发放;金山wps内推免笔试,上周四一面;网易内推不免笔试,笔试挂(==编程题3ac都挂);美团内推可能免面试,没免面试则参加笔试,相当于多一次校招机会,我那天实习工作实在太忙,需求没写完,放弃了笔试;滴滴内推不免笔试,听认识的人说滴滴杭州hc很少,3ac的我再次gg;阿里内推直面,一面状态不佳,挂。另外还投了招行信用卡中心和招行技术中心,这些都还在流程,都不免笔试。
leader直推需要缘分,刚好熟悉的师兄师姐所在组缺人,你又符合要求就可能可以直推leader。
正式校招的话就老老实实笔试,面试即可,相比之下,更需要耐心和等待。所以心态真的要好。正所谓,山重水复疑无路,柳暗花明又一村。
3.笔试和面试
实习的时候只笔了美团和猪厂,加上秋招的这几家,我大概总结一下。
接下来笔试都是指前端。美团笔试基本以前端题目为主;猪厂前端选择和简答题,另有编程题(可用js);滴滴的笔试,只想说真不负责,所有岗位一套卷,选择题基本无前端题目,以至于前端卷出现机器学习,编程题可用js;阿里笔试挺不错,全前端选择题和简答题,无编程题;腾讯我没有参加笔试,据同学说,有前端题,但也比较多计算机基础题,整体难度也不低。
面试,不同厂的面试风格不同。阿里算是所有厂中难度较高的一家,比如会问到react和redux等等源码的深入了解,也比较多喜欢问node,若有项目也会问比较深入,普通的CRUD项目面试官可能会瞧不上。
其实除了阿里,个人觉得其他厂都有一定的套路,基础题大家在牛客网或者知乎掘金上搜一下各种面经把基础题过一遍,应该就可以应付95%以上的题了,当然有些厂的有些组可能前后端不分离,因此会对一些后端直知识有要求。
至于项目,则需要深入了解自己所做的一部分,相比于业界有什么优势,自己在项目当中所产出的,遇到的困难和解决方案等。如果有项目,最好把面试官多停留在你的项目,问基础题多少会问出漏洞,而项目则可以处于你的把控之中。
4.实习
大多数童鞋肯定都会在秋招前这个暑假实习。实习除了一些大佬之外,我们更多地可能熟悉流程 ,写一些小需求和修复bug,有些公司是内部自己框架,那你可能还要花一段时间熟悉自己框架。讲道理,这些对我们秋招的帮助并没有那么大。
而我们实习的时候,一般秋招就已经开始。接下来分类讨论:如果你想在实习的公司转正留任,那就好好干活,当然除此之外你最好提前了解hc和转正流程以及试探性地问导师或leader转正可能性;如果你完全不想留,那就提前和leader等说明情况吧,好好准备笔试和面试;当然也有人应该是想两者兼有,既希望留任,也希望尝试下其他公司,那就在做好本职工作的前提下,趁着中午或晚上时间好好准备秋招,这可能会很辛苦,但结果就是你将来有更多的选择,不至于在一条路上走死。
这里讲一下我的实习经历吧,我是3月底收到了鹅厂实习offer,6月底入职正式实习。比较崩溃的是,居然七月初有大厂已经开始校招了。也就是说,其实我开始实习的同时,校招已经开始了。最开始也没有决定准备转正还是好好校招,还是决定最开始一个月好好实习然后再抉择。
实习确实比较辛苦,作为新人,一个完全陌生的环境,大厂相比又有复杂的工作流程,基本每周都是10106。我也不讲具体坎坷的适应过程了,讲几点我学到的:主动交流沟通,要有良好的时间管理,一旦无法按进度完成任务必须要提前告知项目经历或你的导师说明,有问题多问(无论是技术问题还是业务问题),没有必要浪费时间在一些经验主义的问题上(也就是你是因为不熟悉不知道才不会的)。
上述可能更多是职场适应,另外说说技术。很多时候我们都调侃,面试造轮子,工作拧螺丝。虽然作为实习生确实不可能造轮子,但是除了拧螺丝,我们还是会接触到一些可以提升自己的工作的。我最开始主要是写几个小需求,比如修改一些交互,接入权限控制等。不过后期也比较幸运地接手了一个内部运营系统,除了前端之外,也对node和mysql有了深入的使用和理解。自己可以多多和导师交流,有时候可以接触一些更有意思的工作的。
5.方向
大多数前端童鞋应该都是写页面和前端逻辑等,但其实从阿里的前端校招岗位来看,分为web前端工程师,node工程师,数据可视化工程师等。
因此除了传统的web前端之外,也可以剑走偏锋,选择一些较少人的方向。比如数据可视化这块,阿里有挺多业务涉及这一块,之前我认识的人即便简历一般,阿里可视化那边的组也发起面试,可视化这块目前是比较缺人。另外node是一块完全可以深耕的领域,目前有些公司已经会单独招node工程师(校招可能还比较少,社招相对多很多了)。
6.我的一些面试题
最后是一些我被问到的问题:
· 性能优化(几乎每次必问);
· 缓存;
· 如何一张张加载图片(确保前一张加载完后一张再加载,和按需加载不一样)
· 1+2!==3?
· 前端路由实现思路;
· node的sequelize的使用,orm和原生sql的对比;
· webpack的使用,webpack-dev-server热加载更新的原理;
· webscoket的理解;
· 单向数据流;
· xhr的过程;
· react和redux的高阶组件;
· 虚拟dom;
· immutable的数据;
· XX项目选择react的原因(换而言之,也可以是选择vue的原因);
· 你对redux的理解;
· react生命周期;
· redux-saga的理解;
· 实现一个promise;
· arrow function的this;
· redux中间件,以及与koa等中间件的区别;
· tcp和udp,http和https,tcp三次握手和四次挥手,进程和线程;
· cookie和localstroage,sessionstroage;
· 各种居中问题,flex布局,position相关;
· 跨域;
· 排序算法;
· 输入一个url之后发生的;
· 浏览器渲染原理
· 事件机制;
· AMD UMD;
· mysql的left join,inner join,right join;
· mysql的索引;
· nginx相关的;
后续继续补充...
因为题目较多且很多网上有答案,如果有人想要答案可评论留言题目,我周末有空会添加部分答案。
总体感受就是前端甚至互联网从业者的基数越来越大,找工作不易。
最后祝各位好运,秋招加油!