专栏名称: 九章算法
专业的北美IT求职经验分享、技术交流社区,帮助你找到好的IT工作。由硅谷顶尖IT企业工程师维护。提供专业的算法培训/面试咨询,官网 www.jiuzhang.com
目录
相关文章推荐
九章算法  ·  抽奖了!九章0元送上岸“全家桶”! ·  2 天前  
知产力  ·  新年献词 | 算法之光,让创新温暖你我 ·  昨天  
知产力  ·  新年献词 | 算法之光,让创新温暖你我 ·  昨天  
算法与数据结构  ·  95后AI“天才少女”刷屏!雷军千万年薪挖角 ... ·  3 天前  
算法与数据结构  ·  字节 AI 研发投入接近 BAT ... ·  6 天前  
51好读  ›  专栏  ›  九章算法

安卓开发求职经验分享 | 零安卓开发经验, 备战3个项目, 拿到安卓开发职位

九章算法  · 公众号  · 算法  · 2017-08-03 07:19

正文

作者 | H同学

编辑 | Ivy Xu

专栏 | 九章算法


上了安卓实战课之后成功找到了安卓开发的工作,故而来分享一下经验和感受。


个人背景


先说一下我自己的情况。我是非牛校EE专业转cs方向,2016年初毕业。当时找的工作是某百年巨头IT公司在波士顿的一个office,职位比较尴尬,是软件的技术支持,比on-call段位高多了,但还不是开发,不写代码。我觉得这样下去不行,想跳槽,又想回国,所以最好跳回国。比较尴尬的是,既然参加不了国内校招,社招背景又太薄弱。


为了增加自己的背景,报了九章的安卓实践班第3期,我不排斥以后做安卓,或者说还挺有兴趣做安卓,所以回国之后就只投了安卓开发的职位。我是在网上投的简历。搜了搜,初级到中级的安卓职位大概有两三百个,开始时候只是想海投几波,就顺着搜出来的顺序开始往下投。计划一天投10个,慢慢面。


但是给面试的速度惊人的快…我是五一假之前那周周中开始投的,结果五一假之后的5个工作日里有4个工作日我都在on-site…所以总共大概也就投了20多个职位吧。太啰嗦了…下面开始说和面试有关的…能看到这的都是真爱…按面的顺序说


蔚来汽车NIO


一共三轮,面完还没到家就给offer了


第一轮:

上来先带着他玩了一会儿咱们课上的app。就着app问了些问题,所以说app还是要熟悉。然后问了好多安卓的问题,activity生命周期啊,asyn task相关,parcelable和serializable区别(高频),listview优化(高频)用没用过Service等,还是那句话,其实安卓的知识还是差太多,只能尽量答。然后问java基础知识,HashMap的内部实现原理(高频),线程相关,了解什么设计模式。最后写了到题,用数组实现个循环队列。


第二轮:

还是玩了会儿app。问了些android的知识,自己定没定义过View,了不了解安卓的事件分发……不会。


第三轮:

总监。问了简历的问题,问我研究生学什么课了,每门课问了一个相关的问题,答的他还挺满意。(我研究生后半段还是选了几门cs的课的。)写了道题,数组移位,没难度三次反转法秒杀。


总监得出结论:

虽然你安卓的基础比较薄弱,但是你计算机的基础还是挺扎实的,可以培养。


然后叫HR来聊了聊,问问基本情况,问问薪资什么的就走了。在公交车上收到了offer。


宜信


一共三轮,由于安卓经验实在是薄弱,所以基础问的更多一点。


第一轮:

我问看不看我写的app,他说没事儿不看了……Activity和fragment生命周期(高频),HashMap实现原理(高频),parcelable和serializable的区别(高频),listview优化(高频),view是怎么画的。写了道题,是next permutation的变种,主要部分是写next permutation。


第二轮:

玩儿了一会儿app,问做没做过适配,开始没反应过来就是根据不同分辨率准备不同图片,后来说了一下怎么弄。没怎么问开始写题,两题。


第一题,翻转单词位置,比如“I love andorid”变成 “android love I”。给的字符数组要求原地完成,秒杀。


第二题,给个单链表,交换相邻两个节点的位置,1->2->3->4->5变成2->1->4->3->5,原题秒杀。


第三轮:

总监。问的比较开放了,问我前两轮自我感觉,看好什么行业,自己有什么规划,之前的每段经历用两三句话总结之类的,又问了问简历上之前的课。问了问还有什么别的面试和offer。


之后HR过来聊了一会儿,问问基本情况和薪资,别的机会什么的。过了一小时打电话给了口头offer。


动动


是个运动软件,据说比肩Nike,FitBit。


OA:codility上三道题,都挺简单的,秒杀。


on-site:玩儿了一会儿app,问了问listview优化(高频),无限加载列表怎么实现的(高频)。


后来问了两个问题我回答的不太好:

1.你在做这些项目时候遇到的最困难的问题 

2.你在做项目时候发没发现android有什么坑。

还是那句话,安卓经验太薄弱,聊不聊两句都能试探出来。聊了差不多20分就打发我走了。40分钟后收到邮件得知挂了。


今日头条


一共三轮


第一轮:

activity生命周期(高频),HashMap实现原理(高频)。写了道题,给个二叉树根节点,给个int表示第几层,要求返回第几层有多少个节点。秒杀。


第二轮:

LRU实现原理,顺势让写了下双链表把一个node移到尾部的操作。问了问多线程的问题。


第三轮:

总监。问的比较深入,一个点问到哑口无言为止。后来直接告诉我了,并不是要求我一定要会,就是想看看我在接触到一个知识点的时候,是不是习惯把相关的知识都弄透。


HR来聊了聊基本信息,待遇之类的事,两天之后给了offer。


课程帮助


为了增加自己的背景,报了九章的安卓实践班第3期,开始上课的时候还在美国,结课的时候就已经辞职在国内了。


上完课之后,赶紧把课上的三个项目做完了,dribbble的项目自己又多用了几个api加了几个功能,完善简历之后就开始投了。当时的思路是,虽然项目摆在那有的聊,但是对于安卓的了解包括基础知识差的太多了,所以想海投几波尽量拿面试刷经验,陆续再有针对性的投一些自己选中的职位投可能更容易成功一点。但是其实结果是有点超出我的预期的。


准备建议


面经

还是要好好准备的,就像上面说的,自己觉得安卓的知识还是差的太多,所以百度了一下“安卓面试面经”,结果搜出来的面经里面关于安卓的问题有80%是真的不会答的。


没办法只能一个一个问题的解决,不会的问题搜答案,不清楚的概念看官方文档。看了几篇之后,其实重复的问题就比较多了,虽然会回答那些面经的问题还是段位差太远,但是至少不会让面试官觉得:“我靠这都不知道也来投安卓职位?”。


java

看的面经里一般都会有java的问题,基础知识还是要扎实的,事实证明在面试中真的有帮助。比如HashMap的实现原理我就被问了三次,我一共才4个onsite。


项目

课上的项目不仅要跟下来自己敲一遍,还要知道每个细节是为什么,其实实际上课上老师给的代码还是有一些小问题的,如果自己能发现然后解决其实帮助还挺大的,至少更自信。


所以准备时候,首先就是把课上的项目自己写完,然后再完善,面试之前又把代码通读了一遍,把不熟悉或者不知道概念搜搜、学学,读读官方文档什么的,主要目的就是不能被人问住。即使问你你这个功能为什么这么设计也要能忽悠出一套说辞,即使并不是你自己设计的……


刷题

事实证明国内也是考算法的,我面的几家全都考了。不过我遇到的都不是很难,非常非常基础,linttcode easy级别,最难不会到medium。之前刷题比较多,面试之前小刷了几道easy练练手就上路了。面试遇到的题很简单都是秒杀。


心态

因为开始面试时候都是抱着“我就是过来体会体会,套套面经的”,所以很放松,会就答,模糊的就尽量答,不会就说不会。所以不怎么紧张。其实我觉得即使真的很在乎面试的职位,也是这种状态比较好吧。


面试公司app。了解一下公司做什么的,我把每个投的公司的app都下下来了。


总结



其实面试官很容易发现我安卓经验薄弱这个事实,我猜应该是有一定规模的公司愿意培养基础知识比较好的候选者,相对规模很小的公司更愿意精兵简政,招即战力强的候选者。


投的时候有点侧重会更好吧,以免浪费时间。如果专业方向并不突出,基础知识一定要扎实。如果不扎实的话就多刷刷面经,至少面经上的问题都要会。面试过程也是学习过程,第一次不会的问题,回家准备第二次也该会了。


国内也是考算法的,但是不是很难,感觉就是看看基础,看看你会不会写代码,考虑的周不周全。感觉没有哪一轮是算法轮,哪一轮是非算法轮这个概念,都会穿插着考。给反馈非常快,从投到安排面试1~2天,面完到给结果1~2天。简历不过的也会在网上直接拒掉,很快。由于过程过于的快,以至于都没来得及投大厂就从了。前后不过6个工作日。


我完全是上了课才会安卓的,之前都不会(但是面试时候说我做安卓已经一年多了。)然后就拿到了安卓开发的职位,基本上就是这个情况,给大家做个参考。对了是在北京。虽然拿到了offer,但是还是经验不丰富,最近还是要恶补一下的,从忽悠到真干还需要一段时间,自勉。


 
更多精彩内容
  • 回复“简历”,查看简历撰写指南,获取“简历模板”

  • 回复“冷冻期”,查看北美各大IT企业冷冻期信息和注意事项

  • 回复“Career”, 查看Caireer Fair 攻略 check list

  • 回复“薪资”,查看北美各大IT企业New Grades Engineer 薪资水平;

  • 回复“项目”,查看7-14天可以搞定的小项目推荐

  • 回复“评分”,查看系统设计评分指南

  • 回复“behavior”,查看behavior interview指南

  • 回复“晋升”,查看Engineer晋升机制 


《Android 项目实战班》| 本周免费试听


Android 开发的就业前景如何?

Android Studio 简介

Android 代码框架和程序构建 

Android UI 入门


2017年秋招备战进行时

赢在起跑线!

报名登陆官网 www.jiuzhang.com

或点击文末“阅读原文”