这些年,我所经历的全部面试|写给正在求职的 Androider

文章篇幅较长,建议耐心食用,相信对你有帮助。码字不易,若是有误,欢迎指出。前端

前部分是面试经历,后部分是附带的问题笔记/推荐回答/书籍。java

个人微信小号有一组特殊的朋友。他们从 CSDN上看到我以前发布的《从阿里到网易,一位非985/211本科应届生的一年求职路》后留下邮箱询要面试资料的,我在邮箱发送资料以后咱们互相添加微信认识聊上的。android

上上周,他们中有几个生经过微信找我咨询了一些找工做的问题,包括面试会问哪些技术,怎么更好的回答,如何怎么选择工做机会等等。和他们沟通交流中能够明显感受他们的就业焦虑。一方面担忧受疫情的影响,心仪的公司缩招或者不招;另外一方面则是本身技术的不自信,担忧面试不经过。我很能理解他们。程序员

上周,有一个之前在帅张星球认识的朋友,也同在广州。他由于年前公司融资出现了问题而离开公司,如今也正在找工做。他询问面试所遇到的技术问题及如何看待及回答这些问题。咱们先后沟通了两天,针对他的问题我一一给出了文字的回答及参考方案,给了我之前面试准备的知识体系及针对每一个问题用语音详情地模拟回答了一遍,但愿他能收获一些新的知识及回答技巧。虽然咱们素未谋面,可是我是真的但愿他能找到心仪的工做。web

当我今天去上班的路上,看了下手机的掘金,发现我前些天发的 《这些年,我爬过的Android坑|持续更新》 一文收到很多读者 的点赞,很开心。一方面是本身的文章收到承认,另外一方面是文章内容对读者有帮助。从 2014/10/31 在 CSDN 平台 写博客到 2016年中在 hexo 独立博客 上记录本身的工做,已通过了 6 年,大概有 200 多篇,直到前些天有个外国的朋友看到我独立博客上的一篇文章记录的问题,发了 gmail 互相讨论下了,他表达了 “他找了好久才找到这篇文章记录的这个方案,很感谢你”。 让我萌生了 “但愿本身之后写的文章可以更大的帮助到别人” 的想法,因此我才想在掘金写一写技术及经验文章。面试

本文按照时间轴,从我在校求职到毕业后的面试,列出一些技术点及个人想法,但愿够给疫情下的应届生及求职者一些参考,同时更加坚决本身心里的想法,不要放弃! (部份内容从我之前的文章整合,若是已经阅读过该章节,可跳到毕业后的面试直接看),如下内容我基于时间线,以第一人称的口吻阐述。算法

应届坎坷求职路

一个广州非985/211普通本科生,计算机科学与技术专业。之前总是梦想能考一个厉害一点的学府,学习物理专业(由于初中和高中对物理比较有兴趣),无奈高考考得不尽人意。来到了计算机专业,才知道有C语言这玩意。数据库

  • 2013年大一,专业C语言成绩太差,被分配到B班学习。临近学校工做室(有真实项目锻炼)招新,那时候基础太差,又不肯意作一个loser。正巧同乡会有一位学长进了该工做室,我向他了解了该工做室的状况,得知有移动Android开发方向。那年,由于当时用过索尼手机,上面的小游戏有“Java”标志,女友喜欢小游戏,因而打算学东西开发一个小游戏给她玩。因而努力地啃下了Java基础便去面试,也很幸运地进了工做室。学完Java回头反而把C语言知识打通,成绩一直居B班首位。别人老说“学习其余语言前先学好C语言,看来我是一个奇葩。编程

  • 2014年,跟着工做室开始作项目。先后差很少完成了5个Android方向的项目,主作的有3个。这一年,边学习Java边学习Android开发设计模式

  • 2015年,春招前。我借助工做室的项目经验,制做了简单的简历以后,伪装成大一届的师兄去参加学校举办的招聘会。面了三家,最后有一家对我印象挺好给了我 offer(感受很罪恶)。可是这三家面试让我了解了我简历上的薄弱点,知道了那些知识点我只会用可是原理,那些知识点必须深挖才能在面试上突出本身的能力。因而我到 2015年秋招前都在为这部分作准备,那时候一心就只想进微信。

从 2015 年春招到2016年春招,一共投了 CVTE,阿里巴巴,腾讯,惟品会,4399,珍优科技,YY,百度,迅雷,京东,酷狗,汇丰,技德,美团,网易。这一年的经历起起伏伏,心情和体重都有较大的波动。缘由是我被拥抱了变化,打乱了个人方向,可是我又坚持了下来,收获了本身心仪的 offer。

这里要画重点

对于学习计算机的同窗而已,大三这个时期很重要,缘由是不少大厂会提早招聘实习生,此时只要你技术基础相对较好,学习态度端正积极,借助本身有实习或者工做室的项目经验,颇有很大可能经过实习招聘提早进入心仪公司的,而且实习生的转正概率很大,因此若是大三下学期能够到大厂实习并争取转正,大四就有足够多充足的时间能够本身慢慢安排!学习,旅游,谈恋爱!均可以!

若是大学能够重来,我必定,必定大一就开始努力学习

CVTE实习招聘(第一次)

CVTE是春招中比较快的,也是我面试的第一家企业。

  1. 在线测评:专业+综合
  2. HR面:华工酒店完成一面HR面,主要问职业规划还有技术掌握程度。
  3. 技术一面:两个Android面试官,问了一些项目和Handler机制,布局优化等,手写设计模式还有排序算法。
  4. 技术二面:个人天〒_〒,是一位数学家(这里吐槽下,我从下午2点等到快6点才面试,却很匆忙安排了个数学家。拖这么久的缘由是那些实习的HR安排很不当,那时候轮到个人时候恰好的午餐,并且是我一面面试官,因此就让我去吃饭等会换面试官,结果HR就把我标记成已面试,而中途HR又换了几回,每次都认为我面试了,最后拖到6点我真的很疲惫很没状态,无奈(╯-╰)/)。主要手写HTTP请求头,某些返回码的含义;数据库索引底层实现;手写算法判断链表是否有环;Base64底层实现,直接说出A转化后的结果。整个面试过程都被压着问,感受很不友好,由于没啥状态,不少东西懂却头脑一片空白,居然忘记了A的ASCLL是多少,想和他解释下Base64的转化过程被拒绝,要求说出结果不听分析,我也真是醉了。

结果:在宿舍等了一个晚上,挂了。好揪心好不甘心。因而开始继续复习,准备腾讯春招和阿里。

阿里内推实习招聘(第一次)

因为过年在家那段时间,工做室的师兄帮咱们内推了阿里巴巴春招岗位。本身对部分不熟悉就写了淘宝和UC,后来内推名额满了,一个研究生师兄帮我内推到yunOS事业部。如今看来,我更推荐学Android的朋友选择支付宝和淘宝。

  1. 阿里一面:第一次打电话给个人时候我正在等CVTE的第二面,因此和面试官说等会再面试。第二次打电话给个人时候已经很晚,那时候在地铁上清不清楚面试官说话,说等会我出地铁再面试。出地铁的那一刻好紧张,CVTE的面试瞬间给我抛到九霄以外。具体的面试内容我大体只记得谈谈负责的项目;为何会喜欢作安卓;安卓的系统启动机制;安卓应用的优化还有socket的应用。后来问提问环节问了面试官的工做地点和我面试岗位的工做后,发现是在杭州,请求面试官能不能帮我转到广州后,他说能够。
  2. 阿里二面:大概在一面过了一个星期后打过来,主要面了Java基础;线程同步;集合机制;安卓项目中用到的技术;还有一些不太记得了,最后谈谈规划后发现这个岗位仍是在杭州。因此又请求面试官能不能转到广州岗位,他说能够后结束面试。二面事后,官网发现本身的状态变成拒绝后从新多了一个简历评估的状态。
  3. 阿里三面:大概距二面过了15天,我原本觉得阿里已经拒了我了。三面面试官打来的时候是我正要去看校辩论赛开场表演赛。刚出门就接到面试官电话,谈了一下Java技术和Android技术后以为我OK,说了是yunOS事业部的,问我有没有兴趣还有之后的职业规划后。提问环节问了还有没有面试,面试官说没有了。官网状态瞬间变成3面经过。
  4. 阿里四面:在看比胜过程中,接到总监电话,代表了是yunOS事业部是否想参与实习,代表我经过事业部面试,问我家庭状况,我的性格及其在校活动,职业规划等,并和我说了入职时间和会有人后续联系实习事宜。

结果:阿里内推经过,选择阿里巴巴yunOS事业部实习

腾讯内部机会(第一次)

此次面试是和我工做室安卓组的一位朋友去微信总部直接面试。由于以前咱们由于感兴趣参加了华工的微信课程学习,朋友获得了面试机会并也跟着前去,那时候是5我的一块儿去的。

  1. 笔试:完成一份英语的Java笔试题后等通知。
  2. 一面:一位斯斯文文且很帅气,负责网络底层开发的面试官面试我,不得不说微信的办公环境很nice,咱们在桌球桌旁边面试,整个过程气氛很好。问了我Java基础和一些实现细节,安卓也如此。微信的面试官很注重技术实现的细节和优化,虽然有些面试题忘了,可是我还记得他在玻璃墙上画设计模式和SQLite底层索引实现及其优化的图。人超级好,针对个人不足指出给了不少建议。以至于以后我面试过程当中遇到过此类问题都能答得不错。很感谢这位面试官。
  3. 二面:一位身材高大,比较沉稳的,负责NDK开发的面试官面试我,问了安卓事件接收和传递机制;Linux进程和Java进程有何区别;问了一个主线程绘制UI的问题;C语言和Java语言的应用及其各自的优点;本身的规划等问题
  4. 三面:是一位微信元老架构师。为了项目技术和实现细节;问了Http技术还有密钥交换协议;安全通信;还有一些忘记了。到四面的时候只剩下3我的面试,面试结果是3选1.

结果:跪了。工做室的朋友面试功过;另一位华工的朋友也没进。让咱们去参加腾讯春招。此次面试看到本身的在网络方面很不熟悉,网络课程要等到下学期才开始,因此只能提早本身恶补了。

腾讯实习面试(第二次)

  1. 笔试:华工笔试,内容涉及C语言,C++语言,Java语言,数据库,计算机网络还有算法(网上有好多笔试题,能够借鉴参考下)。
  2. 一面:喜来登酒店,东圃。比较紧张,面的依然是项目技术,Java基础,Andriod基础,算法(算法这一块在剑指offer中题目),操做系统中断,进线程区别;计算机网络 TCP,HTTP相关,NAT等
  3. 二面:喜来登酒店,东圃。面的和一面差很少,只是知识点会比较深。好比反射机制会问到Android实现场景和优化等等。
  4. HR面:和HR说明了想进微信团队,HR也代表了QQ团队及其团队提供的平台,也向HR代表了经过yunOS事业部实习,HR让我本身思考及其选择。

结果:没能参加鹅厂实习〒_〒。如今工做回想起当初若是去 QQ 可能就不会出现后续的曲折,可是想一想每一个决定都是本身作的,只能本身承受。

到此,春招告一段落,最后选择了yunOS事业部实习。整个过程面试安排得很紧密,会以为面试后很累。建议参加春招的小伙伴能选择3-4家本身追求的企业针对性去复习,不推荐海投。我本已为春招进了阿里后,能学习留在杭州,接下来一年的大四生活能够安排更多的学习机会〒_〒。而后最后并无,那一年的实习成功拥抱了变化,虽然能转正到北京或者在杭州转正作C++,可是并不是本身所好。

当大三春招没有办法提早去实习转正的时候,大三秋招其实到了关键的时候。通常在咱们学校学计算的,基本大三秋招肯定了 offer,大四去实习,这个是大部分人选择的规划。因此在yunOS实习以后,从杭州飞回广州,回来的时候是9月5号,进入秋招时段。

阿里实习面试(第二次)

由于知道事业部今年实习生基本都没有转正机会,身边不少实习的研究生师兄本身在阿里平台上联系其余事业群。无奈我还天真的觉得事业部会安排咱们面试其余事业部,然而并无〒_〒,让我感受到巨坑。后来本身在阿里平台上搜了作Andoird工做的不少工程师后,有一个主管愿意接纳我。面试了一些内容后,在后续面试过程当中因为岗位须要在北京工做,并且可能须要转前端,不符合本身的发展意愿,因此就明确说了,也很感谢这位大哥给我机会。

腾讯实习面试(第三次)

回到广州的时候已经9月初,那时候刚下飞机朋友就说明天一块儿去腾讯笔试〒_〒

  1. 笔试:基本的内容和春招差很少
  2. 一面:主要问了项目和在阿里实习负责的项目,Java内存和安卓基础
  3. 二面:Java和Android的问题基本都能答得出来,卡到算法。面试官给定一个坐标,快速实现该坐标方圆1千米内的酒店,坐标可动。后来由于解释不太清楚和面试时间拖得太长,因此面试官让我回来发答案给他。最后答案解出来了。面试官再出了一道题,由于本身的表现让面试官感受到不够细心和沉稳,最后没能过二面。

结果:此次的失利让本身变得很急很慌。腾讯原本之前本身大学最想进的公司,结果在最关键的秋招失败了,并且本身的阿里实习的时候并非作安卓技术开发工做,必定程度上让本身的项目停在春招水平,虽然也有在深刻学习其余知识,但本身开始紧张。

惟品会(第一次)

  1. 笔试:参考网上历届的试卷,笔试题比较基础很简单。
  2. 一面:在笔试事后,接到面试通知。问了阿里的实习项目;问了ListView实现细节和优化;问了Button定制场景;问了Java基础和安卓基础;
  3. 二面:一面事后再教室外等候,受到二面通知。主要问了阿里的实习项目;项目用到的技术;Java基础还有安卓内存优化等
  4. HR面:过了二面后等了一小会面HR面,HR是一位很资深的大叔,从百度调到惟品会。问了是否能用英语面试,回答否;问了生活背景;问了实习经历;问了性格特色;而后被定义为太消极,童年有阴影,我也是醉了。我是从小打工,并且从小学,基本每一个暑假寒假都要,并且都是那种一天作12个钟,为的是赚生活费和补贴家里的学费。这段经历让我懂得了吃苦和坚持,怎么就让我变得消极和有阴影...后来HR讲了本身人生经历,说世界观,人生观,价值观。我说价值观能够变,他说能够吗?价值观不就是人对事件价值的判断吗?难道不是随着人的阅历增加有所调整改变吗?不过他的经历让我深为佩服,从入行讲到佛学,是一位颇有学识的HR。

结果:跪了。缘由,至今未知,不过也好像懂得些什么...

4399(第一次)

  1. 笔试:参考网上历届的试卷,笔试题比较基础。
  2. 一面:在华工体育馆二层好像。问了项目技术及其实习项目;问了使用的IDE及其项目构建;问了内存优化(由于我项目里面有写);Handler机制;还有一些不太记得
  3. HR面(11/13):大学四年怎么过,学业怎么处理,会不会有影响,职业规划,还有什么面试;及其提问环节
  4. 主管面(11/20):1分钟介绍本身;简单地问了我实习项目;学习规划;将来职业规划;技术在哪个层次;
  5. 总裁面(11/20):CEO和HR在同一个房间并录像。问一分钟自我介绍;优势缺点;同龄人优点;为何没有留在阿里;提问环节.

结果:挂了。本身的发展方向和公司有所差别,这一天也由于来面试4399放弃了魅族笔试。

4399(第一次)酷狗(第一次)

笔试(11/12):在中大听完宣讲会后当场笔试,笔试题比较基础。 酷狗测评(11/13):群面〒_〒,技术群面,给一个辩题让咱们进行无领导小组讨论。还好以前学过一点点辩论,混过去了o(∩_∩)o 二面(11/15):在面试完YY后直接没吃饭就来面试。问了数据存储方式;了解框架源码吗;imageloader底层设计;内存泄露有哪些;handler机制及其内存泄露(当时用EventBus混过去);跨进程通讯;如何保持进程间变量一致性;找出10001个数中,两两相同只有一个不一样,找出不一样(所有一次异或) HR面(11/15):理想的工做你会考虑哪些因素;工做地点;看过那些书;有没有女友;她打算之后怎样;在校学习状况;社团活动及其学习计划;若是兄弟失恋了怎么办;理想工资;介意公司规模吗;还有提问环节,我问了会有下轮马?具体下轮面试时间; 总裁面(11/20):问了技术规划;学习习惯;针对本身最熟悉的知识点提问;交流了酷狗音乐的部分技术实现和用户体验;整个过程很nice,面试官是一个很沉稳资深且颇有魅力的人 结果:过了。

技德科技(第一次)

由于本身在简寻上写过简历,因此接到了北京技德的面试通知,通过和HR沟通后基本每周面一次或者隔周面一次,整个面试过程差很少一个月。技德的面试都是在线编码 一面(11/6):编写一个字符串压缩算法; 二面(11/13):编写一个文件系统,须要本身设计数据结构,给定一个文件名,输出其目录下的全部文件; 三面:编写一个算法,用最快的算法找出两个递增数组的中位数;而后了解职业规划等等;(记忆模糊,不知道是否是这个算法...) 结果:过了。技德的面试很新颖,所有是在线同步编码,面试官看着你便编码便问你问题,考察实际工做的编码能力和在线debug能力。第一面的时候感受比较大压力,后来就不会了。反而很享受整个过程(幸亏之前很注意编码风格o(∩_∩)o)。

YY(第一次)

笔试:YY的笔试好像是在华工进行的,笔试题难度适中。 一面(11/15):天天的面试安排都安排得很紧密,对本身说“把天天的面试都看成最后一场面试”,由于又得等待4399,又得继续前进。问了多线程断点下载;数据存储方式;UI开发优化;TCP滑动窗口;字符串匹配算法;双链表的优势;Binder机制;设计模式;JNI编程;Service运行在哪里线程;Activity启动模式及其启动过程;性能优化 结果:跪了。无比难受,感受本身回答得很不错,知道结果后继续整理笔记,本身就要像“打不死的小强”继续寻找。

美团(第一次)

笔试:在线经过了美团的笔试,难度适中,算法题在剑指offer中出现过。 一面(11/16):在英歌海假日酒店。面了快一个钟,问了进线程通讯及其区别;tcpudp区别;手写三次握手;Http请求方式;get和post有哪些区别;java同步方式有哪些;手写二叉树中序非递归;数据库事物及其底层索引实现;Activity启动模式;两种Service启动方式及区别;Handler机制;安卓进线程通讯;view绘制原理;广播注册方式;实习项目作什么; 结果:没过。那天去面试美团的时候就已经有知道会跪了,并非准备很差,而是当时由于其余事情心情很复杂,在公交车上脑子一片空白,虽然在面试问题基本都能答出来,但是细节没有掌握好,回来后知道可能没过,特意从新复习了一遍面试题,〒_〒内心苦,一直很紧凑的面试行程中,很累。*

汇丰(第一次)

笔试:在线测试+英语测试(〒_〒个人天) 一面:此次一面个人补面的,由于以前去参加酷狗的面试而放弃了。酷狗面试结束后参加。英语+粤语面试,问Java基础;Android基础;阿里项目;提问环节知道是基本作外包工做,业务是外汇,不太感兴趣。 HR电面:直接谈工资,本身说了指望薪资,对方知足后本身由于业务及发展规划不符合,故拒之。 结果:拒之...

腾讯(第四次)

微众银行的面试已经在秋招末。在微信公众号得知有次机会,故奋不顾身去参加。 笔试:和腾讯笔试题差很少。(记忆模糊) 一面:也是在东圃酒店。〒_〒面个人是C++工程师,问我会不会C++,我说不会后...狂问算法,我记得是4道,具体不太记得。其中三道都能手写出来,最后一道是小存储存大数据,用的是位图方法。因为本身在面试的时候想不起来(后来回来复习大数据题目的时候才掌握),故只能用hashmap存储,效率不高。 结果:面试官让我等,结果无果〒_〒

阿里(第三次)

实际上从HRG在杭州告知我回来后会有一个终面部门交叉面,结果在腾讯失利的次日。直接电话说“对不起......”我直接说理解后挂了电话。 在面试汇丰事后,一段时间,差很少到了11月末,面试了阿里健康。得知从集团简历池中选了我以后安排面试,谈了转正待遇后安排面试,两面都视频面试。 一面:安卓基础;项目技术;性能优化;学习目标;Java基础及其内存回收等 二面:项目技术;安卓Framework知识点;性能优化;开源框架知识;提问环节问了所作业务等 结果:过了,资薪待遇谈了也清楚了。由于实习时间及所在地点时间与自身状况冲突,也不是本身最想要去的部门就拒绝了。

迅雷(第一次)

面到这里基本秋招都已经结束了,学校基本快放假。获得迅雷的面试是由工做室学长B推荐的。因为部门比较缺人,因此直接技术面 技术VP面:项目技术细节,面试官抓了不少项目细节问,好比说多线程断点下载的每一步,每个代码逻辑等;性能优化,这一方面我是有过准备的,回答得比较系统,比较满意;最新安卓技术了解状况;Java技术细节,问得很深,从程序启动到垃圾回收,〒_〒不愧是vp;最后问了下Java异常和安卓异常的区别,答得不太好;问了发展意愿及其职业规划等等。 结果:直接发offer...很感谢迅雷的HR和技术vp,人真的很nice,后来考虑到发展地点及其工做,没有接受offer,很惋惜。到如今内心还一直对负责我入职的HR和技术Vp心存愧意。

网易(第一次)

也许是我不肯意放弃,不肯意将就,因此我才会选择坚持,感谢网易不拘一格。

放假了,基本同窗朋友都回去家里了,整个宿舍只有我一我的,年底了,也该收拾东西回家了。

网易的招聘,是我在校招日历上看到的,当时和一位学java后台的哥们一块儿投的。而后赶忙在校复习知识点和开始画安卓知识架构(我喜欢用画图的形式让本身掌握的知识互相关联),而后开始在牛客网(以前面试的企业历年笔试题基本都在上面能找到,是一个刷题的平台)及论坛找网易笔试题和面试,基本刷完了网易互联网和网易游戏的题目,虽然有些不懂但是仍是须要硬啃下去。接近笔试前昔,咱们仍是没有收到笔试通知。哥们的表姐也投了网易,不过人家是名校硕士〒_〒,收到了面试通知,我俩妥妥地跪了。我不甘心,我认为本身可以作得出网易的笔试,若是能有一丝机会,死也要让我死得明白。因而我俩去“霸笔”...几间笔试科室,广州地区几十个运营岗笔试名额,几十个产品笔试名额,只有6个技术笔试名额,这让我瞬间很慌很难受。

哥们让我走,估计咱们没机会,但是我那一刻真的很难受很不甘心。

我硬着头皮进去问HR说 “我来自...,我投了贵公司的技术岗位后没有收到通知,请问能够给我笔试机会吗?”

另外一个HR说 “没收到通知是不能够笔试的,除非有人没来笔试,试卷只有6张”。

我把本身的简历递给前面HR。

“这个是个人简历,若是技术岗有人没来面试能够不能够给我一次机会,我在外面等候,谢谢你!”

我出去外面后,刚才接了我简历的HR出来了说“大家都是没有接到通知的吗?(还有一个产品来霸笔),在这里等一下,若是有机会我就来通知大家。”

后来笔试开始了,有些参加技术岗的尚未来,但是没有人通知咱们进去笔试。我哥说等到30分若是没有就走了,后来30分过了,仍是没有人通知咱们。我不肯意走。

“要不你先走吧,除非HR出来讲没有机会,否则我多等一下吧。”

笔试开始了一段时间,有一位HR走了出来,说 “大家都是来笔试的吗?进来吧,把简历给我。”

我幸福地跟着进去,而哥们却说“我就不了...”先回学校。

我很激动,自信地完成了那份笔试题,到如今,我还依然能记得那时候的感受。哪怕失败,也要让我知道我不行。

  1. 一面:一面是在网易大厦附近的E时光,三个面试官,一个Java面试官和两个Android面试官。问了:Java基础;线程安全处理;手写解决判断链表是否有环(当时写了思路);手写例模式(进程安全版+枚举);Java程序启动过程(5个过程);Java内存回收机制(包括回收算法);安卓基础;Handler机制及其源码(面试官细节到具体代码及方法,〒_〒很年轻的面试官,技术好扎实);消息传递机制(具体到View和ViewGroup的区别);框架了解及其imageloader;Lru算法及其软弱引用的使用;分辨率适配等等。

  2. HR面:网易大厦,问了面试公司及其offer状况,如实回答,但愿能在广州;发展规划及其学习习惯;网易招聘的优缺点;阿里平台资源的优势;网易bobo产品及其同行产品的了解比较;提问问了是否还有面试,具体工做还有是否能够提早实习,实习安排。

    面到这里,已经年底了。HR说能够提早回去家里,我仍是依然留在学校几天。整理这几天的面试问题还有面试经验,整个宿舍楼没有人,只有我和几只流浪猫。偶尔作作饭,它们也会来我宿舍,我也会给它们吃的,感受本身变得很安静。在回家的大巴上收到了网易的终面,代表年后还有终面。面了那么多公司,累也该累了,反而以为很释然。带着这个面试消息回到家了,始终没能放得下。除了在家了帮帮这帮帮那,在朋友家聊聊天,基本都是在看书,也买了一本新出版的安卓技术的书,过年那段时间看完了。初九那天回到学校,继续复习,整理在家学习的和之前的知识点,打算面完网易后休息一段时间,但愿能倾尽本身全部心力去完成此次面试。

  3. 终面:HR面+总裁助理面。由于不知道是不是技术面,因此把全部的技术点用三天都复习完了,用一天准备了HR面及其自身状况的问题,主要理清楚说话的逻辑思惟。HR面,是我年前的HR,很亲切。和她聊了下年前到年后这段时间的学习状况及其学习了哪些新的知识点;本身天天的学习规划;bobo产品竞品分析;使用过的一些工具,好比思惟导图为知笔记(由于以前裸ubunut系统,因此只能用为知笔记);职业规划;实习内容及其轮岗事宜;指望工资及其在手offer薪资;行业薪资等;整个过程氛围很nice;面试完后搭车快回到孤岛的时候收到电话通知到须要再面试〒_〒,是另外一位面试官。当时内心其实蛮紧张(难道对我以前所述技术有疑惑?仍是我表达的内容公司还有争议?)。在车上我回想着整个几轮面试的过程,细节到我所说到的内容,技术在脑海里过了一遍。对本身说“来吧!若是你想问我技术,来吧,我都作好准备了!”就这样,我颇有信心地冲了回去(快6点了,怕面试官下班)。结果回到公司居然发现面试官是一位很年轻亲切的总裁助理,她和我代表了回来面试的缘由和给了一杯水(〒_〒,感受好感动),表达了歉意后开始面试,问了生活状况;学习背景;兴趣爱好;长期规划;聊到网易bobo的产品及其同行同类产品;事业部发展前景;网易公司文化;面试官自身在网易的经历;女友及其将来规划;学习习惯等等。整个面试过程更像是在聊天,是一个了解双方和创建信任的过程,很nice。

结果:过了。也欣然接受了offer。

在面试阿里腾讯三四次的过程当中,虽然有收获到其余 offer ,但并非我大学时期心仪的 offer。因此到最后,还想去网易搏一搏。结果这一搏,就一直待到了如今。我以为人生颇有意思。高中的时候,我努力想考一个物理专业,可是后来我却进了计算机专业。大学的时候,我努力想进腾讯或者阿里的技术部门,可是后来我却来了网易。就是如此梦幻。 假如你已是应届生了,经历过一两次batm的面试失败没有关系,只要有机会就上。哪怕最后你最心仪的机会没有了,你要懂得抓住当前最合适你的机会。真的,不少时候将来发生什么你都不知道,或许当前的机会,才是最适合你发展的。

被迫考虑机会

真的,不少时候将来发生什么你都不知道!(预言家 =。=)。 我也不会预想到我工做快一年的部门由于公司架构调整而须要被迫考虑从新找工做。 实际上,我很是喜欢当时部门的人,部门是小团队项目化做战,很是灵活,技术和产品自由度很是高,你们配合得很愉快。虽然那时候你们分道扬镳,可是咱们如今的微信群依然保留着以前最完整的人员,还很活跃。

工做认识一知己,前辈,以前就业于UC,平时交流甚欢,喜欢同他讨论和交流技术问题,在看身上看到了开放与追求的精神。正值事业部结构变更,整个事业部工做氛围和模式都发生了巨大的变化。他建议我去更大的环境更好的氛围尝试,我也坚持着本身的职业规划和学习道路。他同事帮忙内推,不巧的是那天发烧=。=,和公司请了假,原本担忧状态很差,不过一想到本身之后要作的事,立马就飞了!不要怂,就是干!

面试地点在黄埔大道这边,没想到离我住的地方那么近!二十分钟就到了,原约在2点的面试,我12点50分就到了...提早去面试也很差,毕竟太早去也不是守时,也会打乱别人的计划安排,故在楼下走了几圈,有点冷,不过满满的热情啊!把以前准备的知识都过了一边,算法,数据结构,网络,操做系统,java和安卓。本身在脑海了想了n多种面试问的业务场景,组织表达了一遍上楼了。

阿里(第四次)社招一面

天呐鲁,我还觉得要笔试呢,直接进入正题面试,有点措手不及,不过先自我介绍,因此我调整了一下情绪和思路。面试官很帅气啊,是一个很年轻可是应该有蛮长经验的面试官。问得问题主要有:

  • 推送sdk底层实现  
  • socket相关实现  
  • mvc mvp mvvm区别与项目使用状况  
  • 网络层相关设计,volley底层实现,缓存相关  
  • 自定义view相关  
  • 下载模块涉及,成功率相关  
  • 弹幕与播放器相关  
  • 跨进程通信手段与注意点,webview相关  
  • EventBus相关  
  • 性能优化经验及手段  
  • 为何想要换工做 
  • 兴趣爱好,工做室状况,如何协调工做室与辩论队 
  • 平时学习习惯和安排  

上述的点可能有一些遗漏或者记得不太清楚,不过总体面试官给人的感受真的很好,大厂的环境也赞!除了前面聊技术外,也聊兴趣爱好,平时一些习惯等,总体来讲氛围很轻松。

阿里(第四次)社招二面

二面是一个脸色红润,很和善的一个面试官负责。想了一下,除了和大学廖老师沟通有这种感受以外,这位面试官给我一种导师的感受哈。面试的问题主要有:

  • 网络请求涉及,如何设计缓存
  • 性能优化手段,场景
  • dp的设计  
  • 熟悉的底层源码,广播底层实现,这一点本身确实还了解不够,不过本身讲了哦从wsm->activity->view的事件传递过程  
  • 聊以前阿里的实习
  • 为何想要换工做 
  • 职业规划
  • 短视频行业,Bolo相关及一些竞品,由于平时也会留意本身开发的软件及竞拍,行业状况,因此有一些本身的看法
  • 聊兴趣爱好
  • 聊王者荣耀产品相关

整个过程面试官给人印象很深,除了互相交流得开外,他的问题也颇有深度,不过若是真的答不上就请教下就好。最后面试官问了是否有哪些问题提问咨询:

  • 从刚才所述的职业规划,但愿面试官给出意见和建议
  • 若是有后续面试,会在何时安排

仍是到上周的面试办公室,10楼的环境给人的感受很清新,自由。

阿里(第四次)社招 leader 面

面试官很年轻,让人感受颇有干劲。其实今天一成天都昏昏沉沉的,人状态不好。可是和面试官聊天,能说到的都是心里的一些想法,因此聊起来很舒服,他的一些建议也很值得我思考检讨。

  • 自我介绍
  • 岗位要求
  • 实习内容
  • 工做负责内容
  • 换工做缘由
  • 优缺点
  • 学校经验
  • 家庭状况
  • 我的现状,还有个人眼睛哈  

面试的问题可能记不太清楚,可是有两个点我很深入。 第一个是本身现阶段要稳下心沉得住气。几位面试官都和我说到了这一点。确实是这样,我很看重职业生涯前几年的学习积累与心态沉淀,也明白了当前本身最须要作的事是什么。 沉得住气,我本身的理解是:

  • 心态不要浮躁,相信本身的规划和按照本身的规划走
  • 学习新知识,要学会从宏观上懂得一个知识牵扯出的知识网,更要耐得住心去一句一句代码debug每一个细节
  • 清楚地看清本身的技术现状,虚心地取长补短

那天结束以后,用新的心态去学习retrofit源码,记得大学的时候看imageloader,volley的时候,会没有太多的耐心去深挖,虽然知道流程和某些细节,可是对底层原理其实没有足够的掌握。很奇怪,今天越挖,发现本身对Android越无知,我第一次感到本身无知时,确实开心的。当我向我以前同事说某个源码细节的逻辑和咱们项目所用到的逻辑有误差时,他去调式以后发现“是项目用错了!”。感受内心仍是美滋滋的。 第二个是本身表述不够精简,有时会用辩论的方式来解释一大堆东西,会让听众感受很罗嗦。这也是个人问题,改!应该尝试先下结论后再根据状况作分析。 面试完走出办公室,还看到面试官拿着笔记本,打了个招呼,感受心暖,感谢此次机会。

阿里(第四次)社招HR 面

其实hr面应该是我最紧张的一面。多是最后一面,也很看重此次的面试,担忧本身说得很差。过程当中本身也由于喉咙的缘由喝了屡次水,思惟中断了好多。不过,面试官是一位比较有亲和力的姐姐,不管的问问题的方式仍是追问一些细节,都让人挺舒服的,不会感觉到太大的压力。

  • 入职半年多,为何选择换工做
  • 如今事业部情况
  • 负责的项目工做 
  • 最困难的事是什么,想到的是项目难点和当时在工做室作项目,那段时间确实比较艰难,算印象最深入的  
  • 职业规划,我可能表述不太好。从2-3年阶段性计划,到今年,这个月,这周。讲得逻辑性很差。本身的习惯确实是工做日+周六周日安排,可能当时比较紧张,讲得很乱。
  • 坚持最久的事,这个应该是和我兄弟去跑内环哈,从半圈到两圈是如何炼成的
  • 最有成就感,想到的是项目难点,后面仔细想,确实是由于攻克的难点给用户带来好体验。我还记得菠萝种子群的一个好友,网易忠实粉丝,和他交流过不少次关于菠萝的体验,有一次和我聊到输入法的缘由,后面本身就花时间重构了。其中还和hr聊到关于攻克难点和所花的时间问题,确实是我本身表述很差,一件事的难易程度与完成时间只是正相关。,当项目频繁迭代,须要想办法缩短工时并保证质量后“偷”时间来作重构优化,其实本身那时候颇有压力。这些东西不是需求,而是你想让产品更好却想去作,改得好当然好,万一改很差,那就是浪费时间,可能会应该当前开发状态。和不少同事沟通他们都不会选择这样去作,要么要求产品加工时,要么就不作。但是本身很难接受放着无论吧。后面用来两个多星期的午休和下班琐碎时间,周末空闲时间把东西作出来,第一次正式给项目重构使用,我是很自豪。最开心的应该是那位好友说的“菠萝的开发真不错!至少大家对用户有心” 
  • 薪水相关 

总的来讲,今天面试的表现,本身给本身的评价是通常。最后沟通的时候由于薪资问题最后黄了

不甘落败尝试蚂蚁金服

蚂蚁金服的面试机会是那时候在看机会的时候,在脉脉认识的一位蚂蚁金服的面试官那里争取的。在沟经过后,对其部门的意愿挺大的,因此就尝试下把简历给了面试官。过了几天,没想到收到了其部门HR的面试邀约。恰好那时候公司部门架构调整到了尾部,咱们可能被合并到一个新的部门中开展新的工做。可能大学实习给我留下很是好的印象,很喜欢阿里的技术部门,加上 UC 的面试没有如意,因此就毅然进行面试。

阿里(第五次)社招一面

  • 介绍本身
  • 介绍简历上的项目
  • 高性能列表实现,重点围绕 recyclerview 展开,如何复用,如何缓存
  • 性能难点如何攻克
  • 性能优化方面项目中作了哪些工做
  • 热修复原理,类冷启动修复原理,类热修复原理,classLoader双亲机制
  • 换肤原理
  • 设计一个图片框架,我考虑的是如何加载,如何编解码,如何缓存,api的易用性,大部分参考 glide 思路
  • 在不少数中找出前n个最小
  • 本身的方向是什么? 想作业务,仍是想作专点的技术,如何理解项目架构。
  • 反提问:“本身技术性回答得怎样,有哪些改进。”

面试官给的建议是:技术还不错,可是介绍部门业务和本身的切合度时须要 “表述要简洁,逻辑要清晰”,**

阿里(第六次)社招 leader 面

  • 介绍本身状况,学android,实习经验
  • 介绍网易经验,哪一个项目最大,项目规模,项目人员分布
  • 擅长哪一方面,这个问题很是致命,必定要选你足够理解的,我那时候讲的是性能优化,可是感受讲的很差
  • android 虚拟机区别,编译区别,dex区别
  • 热修复流程,原理是什么,业界有哪些方案,对好比何
  • 打包流程是怎样的
  • 应用启动相关流程,从孵化进程到MainActivity#onResume绘制整个流程
  • 新版本android特性
  • 手势滑动事件分发
  • view绘制流程
  • gradle执行流程
  • apk安装底层细节
  • 最后留了一道算法题,我作了两天以后发给面试官

阿里(第六次)社招 交叉面

  • 介绍本身
  • 项目经验,团队状况
  • 对网络是否熟悉,一次http请求,https总体实现
  • 之后想作什么,如何规划本身技术
  • 开源贡献,博客记录相关的开放性问题
  • 反问:后面是否还有技术面试,获得的答案是基本不会有了,等 HR 面试就好

阿里(第六次)社招 HR面

  • 介绍本身
  • 项目经验,团队状况,学习状况,薪资待遇
  • 将来技术规划,是否考虑杭州,将来家庭规划
  • 反问:大概多久会有答复,获得的答案是当周周五前。

当周周四收到了人生中第一个阿里的正式 offer,仍是我最心仪的蚂蚁金服的技术部门的 offer。技术方向和薪资待遇都大大超过个人预期。HR 让我考虑一周以后给答复。

过了一周,我决定放弃这个 offer,并开始本身新的技术规划,在新的部门好好干。一干,就干到了如今。

若是到如今问我,“当时放弃蚂蚁金服的 offer 后悔吗?”

我会说 “说真的有点遗憾,但我没法比较孰好孰坏,我如今就挺好的。”

若是你刚开始出来面试,那么就要用心去准备,去模拟,把每一个机会都抓住。

若是你已经面试了几家可是都还不理想,哪怕是疫情背景下,你不要将就。我一直都以为作技术的不要将就,多是个人性格。那么继续尝试,把你每一次的面试的经历都记录下来,面试题是什么,你是怎么回答的,甚至你能够在面试的时候把本身的回答录音下来,回去好好听好好修正。一次会比一次好。

若是你有几个offer在选择上出现了分歧,建议要开始规划从职业规划来考虑offer。若是你打算将来深耕音视频,那么短视频技术offer则大于非短视频技术offer。若是你打算考虑往技术经理/技术团队管理,那么能带团队的offer > 不能带团队的offer,参与技术选型,技术架构搭建的offer > 负责某一块业务的开发 offer 等等。

这几年下来,我发现 “选择” 和 “努力” 在不一样时期有不一样的侧重。

  • 毕业时期,“选择” > "努力",好的平台能带给你更多的机会,更好的薪资待遇,让你的视野更广;
  • 毕业前5年,“努力” > “选择",当你有一个好的平台以后,你要懂得利用平台资源去学习,好比各类内网,公司技术福利等,并借着平台项目的实践机会去野蛮生长;
  • 后几年,“选择” > "努力",这是由于前几年为了积累的专业优点或更高的视野让你看清你之后要干什么,若是说选择的是平台,那么这个选择就是将来要尝试突破的方向。

固然,这些想法受限于个人经历,不免难以苟同。

非技术性问题的面试准备

非技术性的问题,实际上不少时候程序员回答得并很差,除了表达缺少逻辑性外,沟通不顺畅也是一个问题。但事实上这些问题均可以提早准备的,并且我本身之前准备面试的时候都会把这些问题过一下,对着镜子表述。你只须要针对每个问题点记住几个关键词,而后尝试脱稿,本身尝试把它串起来表达,几遍以后基本就 OJBK 了。

如下回答仅供参考。

自我介绍

我是来自xxx的xxxx。目前在xxx组Android研发。

平时基本能提早完成需求,常常会给产品同窗提供一些技术上的意见或改进,并自主作一些技术调研来优化产品。另外,我更愿意让别人感觉到,我是一个随和但执行能力满足的人。我喜欢组队答辩论,乐于与别人沟通与想法碰撞,乐于分享我本身观点与博文,由于我认为分享不只仅是知识的传播交流,对他人也会知识上的从新认识,同时也是也是对本身的认加强本身的信息,对团队而言,能活跃整个技术氛围,让工做变得轻松,对新技术有渴望与追求。

但同时,我对本身也的要求也很是严格。工做上我喜欢经过化逻辑图细化需求实现,并按时点攻克,这种方法很是有效。而职业规划上,我会细分到每一周,每月的学习计划。每年或者每一个阶段我应该去作哪些事情。可能有人会说,我给本身画圈限制死个人生活。其实否则,刚好相反,当我到达某个计划节点时,我更清楚我应该作什么且明白我为何那么作,这会让我对生活变得更有信心与热爱。

平时看的书

技术类的书好比

《Java编程思想》《Effective Java》《突破Java程序员基本功的16门课》《深刻理解Java虚拟机》 《Android高级工程师进阶》《Android研发录》《Android开发艺术探索》《打造高质量Android应用》《Android应用性能优化》 《安卓内核剖析》《深刻安卓卷1》《深刻安卓卷2》《Android系统源代码情景分析》

非技术类的书

《麦田里的守望者》《小王者》《少年维特》《世界因你而不一样》 技术类的书阅读带来技术收获,非技术类的书阅读是兴趣,是扩展视野等均可以

博客类网站

  • App:掘金(yummyLau),之前也有简书(什么都学的小明)
  • 网站:简书,掘金翻译,Google developers,泡在网上的日子, CodeKK,安卓周报
  • 博主:stormzhang,酷壳,工匠若水,罗升阳,代码家,鸿洋等

怎么解决问题呢?

先找到问题的缘由,而后在找解决问题的办法,找到问题的缘由比找到解决问题的办法更重要。

若是你不能解决,那么你能够求助于其余人,而当你不知道问题的缘由的时候,你去求助别人的时候,别人还有帮你去找问题的缘由,这确定会浪费不少时间的。

先不要找解决问题的办法,先找问题的缘由。

一旦你了解解决问题的思路,那么当问你一些开放性的问题的时候好比 “项目里你遇到xxxx状况,你怎么处理的?当你解决不了的时候,你会怎么作?”

那么你就能够围绕上述的逻辑回答 “遇到xxxx状况的时候,首先我会分析出现这个问题的缘由,(此处省略1w字),最终解决了。或者解决不了的时候,(这里须要强调本身能用的都用了,能查的都查了)就会去请教这方面比较专业的同事(此处省略1w字),最终这个问题在他的建议下我成功解决了。”

为何选择离职

最主要的缘由仍是与本身的职业规划有误差。

本身但愿能呆在一个有技术方向性与能充分交流碰撞的团队中,但愿能充分发挥本身更多专业能力,在比较充实的节奏中度过职业的现阶段。 由于事业部重组的缘由,咱们的项目组被分派xxxxx作xxxxx,目前只须要保证完成工做便可,codereview过程当中,能感觉到迭代功能完成需求会是最大知足,同时项目内团队基本不会互相分享项目经验及心得。

我但愿能够完成得更好提早完成,能够帮助项目作优化作分享。在codereview过程当中,我更但愿咱们不只仅能把产品作好,还有更多的时间去优化,掌握更多新的技术来优化项目实现,让产品有更好体验。我但愿咱们的团队有技术瞻仰性与向前性,对技术的思考有深度,我渴望投身这样的团队并一块儿完善团队建设,而不是单纯无线迭代。因此我选择了在这个时候尝试新的机会。

不少时候,咱们是能保证工做完成的,本身会作更多的优化或者调研工做来完善产品,整个良性过程当中,组员的价值能获得最大化体现, 而团队应该是支持这种行为的,而不是间接地打磨掉组员的正向行为,这会让组内的氛围沉寂与消磨人的积极性。

我曾微信号分享过一篇关于一位大哥“辉哥”的文章,讲到作事要有匠心,要较真深挖,我解读为专一。而团队沟通工做应该是共赢的过程,你们能够放开交流碰撞,以team work形式去解决难题,这即是我追求的环境。

如何胜任这份工做

个人理解是,岗位的内容是高质量迭代开发国际业务客户端,能承担缺陷重构和痛点优化。

本身接触Andoid开发也两三年,在职时间差很少一年,一年内参与了xxxx项目迭代开发,能保证本身负责的工做都是提早完成的。而剩余的时间,我会主动去重构项目,也能针对用户痛点的主动作技术预研。而岗位的内容正是我主动追求的,我很乐意去挑战工做上的难点。

我我的的职业规划中,当前阶段是想深刻掌握android底层的知识,因此当出现一个业务问题前,本身会深入去认识一个问题产生的缘由。针对工做的内容,本身能冷静分析缘由并自主学习一些方案来解决。而提供的岗位工做正好是给了我充分的面对困难场景锻炼本身的机会。

学习习惯

这些越细越好,重在真实。

  • 周一到周五,9:30-7:30,上下班分别会看两篇博文;
  • 工做日完成通常会有两个小时时间用来继续本月的规划
  • 周六周日会把工做日踩的坑记录下,有时候写写博客,看看技术文章。

兴趣爱好

打篮球,写书法,游泳,桌球,乒乓球等,比较普遍,可是每一项我都在身边人中比较拔前

最近,想练长跑,慢慢看能不能小跑马拉松。

耐力,定性,这二者都是我这阶段须要的。

优缺点

责任> 协做沟通>接受意见但独立想法>自学能力>执行能力强

解决问题的心态不成熟,有时候容易钻牛角尖,处理计划过于急躁。

可是我相信,这是每一个人都会经历的,并且是一个蜕变的过程,而我也正在慢慢转型。

工资待遇

能够了解先xxx的待遇结构吗。

但愿能在xxxxK,由于(这个要按照真是想法表达)对于本身而言,我更看重xxx平台能给个人的职业帮助,而我也很相信本身能给团队创造相应甚至更多的价值。

想问的问题

技术面

  • 通过刚才的交流,针对应聘的岗位,面试官有哪些意见或建议,我能力的匹配度大概多少?
  • 假若有幸能经过面试,这个岗位现阶段负责哪些的工做?

HR 面

  • 通过刚才的交流,胜任该职位我应该增强哪些能力?
  • 假若有幸能经过面试,会进入哪一个产品线,将来这个产品的发展方向和规划会有哪些?
  • 面试结果最晚会在何时通知?

面试涉及知识点/体系/书籍推荐

因为为知笔记连接分享失效了,资料统一整理到公众号一篇文章内。

扫描二维码

或微信搜索 “Android之禅” 回复下 “笔记” 就能够了。

内容包含:

  • Java相关

    • HashMap
    • ArrayMap源码
    • Java关键字+类型大小
    • 进程线程+实现+同步问题
    • JVM模型+垃圾回收
    • 内存规则+程序加载过程+对象内存分配
    • 反射机制+android应用
    • JVM-编译相关
    • JVM-方法栈
    • JVM-对象的建立
    • JVM-内存区域
    • JVM-垃圾回收
    • equals与hashCode
    • 异常处理
    • IO流+字节流+字符流
    • 集合机制+哈希+线程同步集合
    • 个人Java编程心得
  • 网络相关

    • https/http详解
    • 一次http请求流程
    • TCP流量控制、拥塞控制、可靠传输及区别于UDP
  • 设计模式

    • Android中的设计模式
    • 设计模式-单例模式
    • 面向对象7个设计原则
  • Android

    • 源码必懂-xml加载流程
    • 源码必懂码-Touch事件
    • 源码必懂-Handler
    • 源码解析-Rxpermissions
    • 源码解析-LiveData
    • Android类加载器
    • Java类加载
    • Rxjava 的概括思考
    • Framework基础结构
    • Android虚拟机结构区别
    • 启动app流程
    • 启动framework流程
    • Android架构总结
    • 模式之MVC/MVP/MVVM
    • 换肤skin-support流程
    • 图片库glide
    • 源码-AsyncTask
    • 自定义view流程
    • Activity相关
    • Fragment基础
    • View篇之Touch传递
    • EventBus
    • 泄漏类型及定位
    • 性能可优化的点
  • 其余

    • 排序算法
  • 书籍推荐

    • 《Java编程思想》
    • 《Effective Java》
    • 《突破Java程序员基本功的16门课》
    • 《深刻理解Java虚拟机》
    • 《Android高级工程师进阶》
    • 《Android研发录》
    • 《Android开发艺术探索》
    • 《打造高质量Android应用》
    • 《Android应用性能优化》
    • 《安卓内核剖析》
    • 《深刻安卓卷1》
    • 《深刻安卓卷2》
    • 《Android系统源代码情景分析》
    • 《巧用Gradle构建Android应用》
    • 《Android高薪之路》
    • 《Android群英传》
    • 《程序员修炼之道--从小工到专家》
    • 《代码的将来》
    • 《第一行代码》
相关文章
相关标签/搜索