整理出Android逆向系列学习进阶视频,全网疯传

前言

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

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

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

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

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

应届坎坷求职路

一个广州非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。

结果:跪了。原因,至今未知,不过也好像懂得些什么…

文末

初级工程师拿到需求会直接开始做,然后做着做着发现有问题了,要么技术实现不了,要么逻辑有问题。

而高级工程师拿到需求会考虑很多,技术的可行性?对现有业务有没有帮助?对现有技术架构的影响?扩展性如何?等等…之后才会再进行设计编码阶段。

而现在随着跨平台开发,混合式开发,前端开发之类的热门,Android开发者需要学习和掌握的技术也在不断的增加。

通过和一些行业里的朋友交流讨论,以及参考现在大厂面试的要求。我们花了差不多一个月时间整理出了这份Android高级工程师需要掌握的所有知识体系。你可以看下掌握了多少。

混合式开发,微信小程序。都是得学会并且熟练的

这些是Android相关技术的内核,还有Java进阶

高级进阶必备的一些技术。像移动开发架构项目实战等

Android前沿技术;包括了组件化,热升级和热修复,以及各种架构跟框架的详细技术体系

以上即是我们整理的Android高级工程师需要掌握的技术体系了。可能很多朋友觉得很多技术自己都会了,只是一些新的技术不清楚而已。应该没什么太大的问题。

而这恰恰是问题所在!为什么别人高级工程师能年限突破30万,而你只有十几万呢?

就因为你只需补充你自己认为需要的,但并不知道企业需要的。这个就特别容易造成差距。因为你的技术体系并不系统,是零碎的,散乱的。那么你凭什么突破30万年薪呢?

我这些话比较直接,可能会戳到一些人的玻璃心,但是我知道肯定会对一些人起到点醒的效果的。而但凡只要有人因为我的这份高级系统大纲以及这些话找到了方向,并且付出行动去提升自我,为了成功变得更加努力。那么我做的这些就都有了意义。

喜欢的话请帮忙转发点赞一下能让更多有需要的人看到吧。谢谢!

以上系统大纲里包含的所有技术资料,我这里都有的。可以免费分享给有需要的朋友!

的这份高级系统大纲以及这些话找到了方向,并且付出行动去提升自我,为了成功变得更加努力。那么我做的这些就都有了意义。

喜欢的话请帮忙转发点赞一下能让更多有需要的人看到吧。谢谢!

以上系统大纲里包含的所有技术资料,我这里都有的。可以免费分享给有需要的朋友!

资料领取方式:点击我的腾讯文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值