@veightz
2015-05-10T05:04:55.000000Z
字数 3399
阅读 1703
就业指导作业
就招聘经验说起来,我应该比现在大部分同届生丰富许多。本文涉及行业利益相关信息较多,未经商酌,请勿外传。
第一次实习是在大二的暑假,也就是差不多在一年前。第一家公司P,是一家阿里系的初创企业。当我加入的时候,才运作三个月左右,基本上没有什么人。后端,前端都只有一个人。App也是一个系统平台一个人。我一开始是以为各个方向上有一个有经验的前辈把握好方向的,实习生在正确上的方向发力就行。结果。。。不过也好,也带来一些方面的自由。基于初创公司的人员匮乏,加之本身P公司也想打造学生团队,整个招聘入职没有太大的门槛,简历都没写。面试也就两轮,也没有太多技术面,主要是了解下面试者过去的经历,从而了解下潜能。毕竟没有经验可以用实践补,没有自学能力和责任心,就比较难办了。
第一家公司给的待遇,的确比较低,每天吃吃黄焖鸡就没了。不过在自己没什么能力的时候不要好高骛远,有人要你就不错了。最重要的,是这个环境给自己带来的成长。这一段实习经历虽然以自学为主,不过公司的业务需要,推动了自己的快速成长,也初步完成了自己现在所从事方向的快速入门。那段时间早则一两点睡,晚则五六点睡,也是我这一年中体重最轻的时候。完成了基本的入门后,也看到了公司缺乏CTO导致的问题,努力和效果的转化率不太理想。另外自己也开始主动思考设计模式和整体架构的问题,这种经验没有人直接带来,初创公司也不会给自己太多时间在实践中,错误中去感悟。
后来加上大三事情比较多,因此离开了第一家公司。离开后进行了一阵子的闭关修炼。实习中发现了不少技术上的空白区域,现在终于有时间格物致知。期间还穿插做了个外包。
大约在14年十一月,加入了一家智能硬件公司B。也是机缘巧合,一开始是成为他们的用户,后来发现他们招人,然后就加了CEO的微信表达意愿。由于是一家还处在天使轮的创业公司,因此也比较随意。微信群里和主程交换了电话,开始电话面试,没错,我又没写简历。还清楚地记得,在一个寒冷的风雨交加的下午,我在寝室楼顶哆嗦着打完电话面试。电面很细,从底层的内存管理实现机制,到上层的动画实现基本都问到了。底层的很多东西,幸好我在之前的查漏不缺中细究了很多,上层的也就用过的才清楚。其实基础掌握的熟练,这些问题回答起来很快,加起来技术问题就说了15-20分钟。不知道谁起了头,两个开始说些有的没的,讲起了短期,黑起了PHP。不过也发现之前的其他方向的学习或者是实践经验,对方不是太car进阶e,(虽然聊还是聊起了)不过后期工作中却是有很大帮助。
这段实习也比较艰苦,前期远程工作(还有期末考,通信原理你懂得),寒假后远赴公司。不过我如愿以偿地大量学习架构和设计模式的知识,靠的是实践和大量阅读代码。大概三个月左右,我们生产环境(对外发布的环境)的代码量就从3W翻到了6W+,开发线上还有七八千在测试(忘了说,负责的方向,加上我也就两人)。
这段经历对我的成长相当大,实力从新人到了略能独当一面的小将,后面各场校招顺利,得益于此。不过我对技术上一直没什么安全感的,所以喜欢不停深挖。也开始留意内存泄露和内存峰值的问题,也开始追求算法和思路带来性能的数量级提升。所以开始留意更大的地方。
15年三月底, 后知后觉地发现阿里的实习生招聘已经接近尾声了. 虽然有在阿里的学长可以内推, 但是由于时间已经太晚, 内推通道都已经关闭.抱着顺便对自己知识体系查漏补缺的心态,报名阿里的网上校招,走个传统路线的校招。
第一轮是海选的笔试,分为选择题和简答题。简答题和大部分的招聘的基础类笔试题差不多。概率论自己一直比较不错,做做题没什么压力,估计自己拉分全是在这里了。智力题也问题不大,比较有压力的是数据结构,基本上大家都学得不咋地,做得比较梦幻。
由于阿里的尿性实在拙计,笔试之后长期没有下一步。
四月上旬的某个周五,蘑菇街也来校园招聘。蘑菇街的效率还是蛮高的,周五下午笔试,周五晚连夜通知我第二天去古墩路面试,下一周的周一就发了offer。
蘑菇街的笔试也比较中规中矩。如果你连简单的递归都不会写,还是比较着急的。。。如果连内存管理的只是听说过,那也是比较着急的。。。蘑菇街的笔试有面向不同方向的题目,稍微接触过,有开发经验的,在题目中还是容易比较表现出来。比如有一道题,是讲有大量网络图片需要在滚动视图上加载显示,需要注意哪些问题。如果没有类似经验,可能只能想到异步加载以及分批读取。实际上问题就比较多了,比如单个cell对象的复用,数据源的管理,大量图片产生的内存管理,还有图片缓存之类的。如果上真机,可能还有卡顿需要解决。如果考虑不太严谨,可能会说什么一个图片一个线程之类的,实际上这么处理还是细思极恐的。。总的来说,这种题目很容易暴露实际经验。
然后第二天我就去面试了,比较尴尬的是没想到蘑菇街会当晚就出成绩,所以那晚我出去喝多了,后来发现8个未接电话和一条短信通知。第二天我虽然早期,可是我还是迟到了,周六又天气好,堵车堵得一团糟。由于去面试也要排队, 所以迟到点也没有什么大问题。一般在杭州,不会有脑残的面试官逮着堵车迟到这种问题死磕,面试的办公室里, 也不用去留意有没有废纸团要主动去扔。。
面试一共三轮, 技术面, HR, 最后创始人之一也出来面了我一发。
技术面里提的大部分框架和问题, 我基本上也遇到过,主要还是看看你是不是真的有相关经验。所以我们很愉快地又开始瞎聊讲段子了。由于我比较明确自己想要的提升方面,所以瞎聊的时候也试探了蘑菇街技术团队和项目里面的一些情况。
HR面嘛, HR历来话多,说话一定要轻柔,反正我说的喉咙都痛了。一般面到HR, 都不用慌的。
最后一轮是创始人来面的, 一开始讲段子, 我是拒绝的。。。谈了点创业的情怀,然后两个人开心的聊起了女朋友什么的,蘑菇街的男女比例你懂得。
后来阿里终于来通知了,预约了一个周一的面试。总体来说,阿里的面试流程还是比较混乱的,可能是人太多。一般都是三到四轮,我是四轮。一轮技术初面,两轮技术终面和一轮HR。
其实一轮面的挺凶的,面了很久,而且全程一直被问,没有任何岔开话题和反问的机会。问的类型包括一些框架细节,某些场景下的接口设计思路。除了对口知识相关的也问了很多。比如Git,不要以为会用几下Git就沾沾自喜。问了我半天Git的实现原理。面试一直顺溜的我,面完都有点慌。。好像一轮刷掉了好一批人。。。
然后就是二轮,比较和善,风格像聊天,聊出他是客户端架构师后我就放心很多,毕竟远离了一线后,没那么多细节问题会来问你,毕竟细节是无穷多的。不过他问的也不随便,看似东拉西扯,实则在试探一些平时的反思。聊了很多比较流行的话题,函数式编程,响应式编程,native/web/hybird 的取舍,SVN某些场景下的价值,如果降低团队沟通成本,ObjectiveC 的陷阱与缺陷, 优势与黑魔法,项目越写越大后的新问题,一些开源库的内部实现之类的。一般面试时,实力我还是有所保留的,或者说没把我的技术探到底,这家伙差不多把我到底几斤几两全弄清楚了。。。服
然后又有三轮技术面了。一开始我是很紧张的,一个同行的朋友第三轮就是HR了。我二轮看到拍子也是终面,现在这个牌子也是终面。。。我意淫了下难道是压力面,压力面我还是不慌的,毕竟我脸皮厚。如果技术技术面的话,上轮就是我全部实力了。。。幸好这轮是问了下实践经验,不过也是装不出来的那种问题,比如两个初始化图片的接口,到底实现上机制有何不同,为什么这么设计,分别用在什么场景之类的。然后看了我Github和Gitcafe仓库里的项目, 看了下我的技术博客。。。也是靠长期积累的,临时装不出来。
终于第四轮是唠嗑哄HR了。没啥好说的。