Android春招总结:论一个本科渣渣是怎么逆袭从咸鱼到Offer收割机的?

复习基础

这个每个方向可能略有不同,LZ只拿Android端举例,其他方向在牛客搜搜肯定也能找到。

Android端的基础从重要往轻排序大概是这样:算法、Java(一门精通的语言)、计算机网络、操作系统(很多厂甚至不问)。

算法这点是字节的老师一直强调的,你可以没有基础,但是代码能力必须很强。

对于其他的方面,高频考题一定要复习透彻,拿计网举例,TCP/IP协议族得熟悉吧,OSI模型得熟吧。LZ面了这么多家,没遇到网络方面新的题型,要是达不到理解(下面有个小技巧),那死背总会吧。

做面经

这里是做!不是看,是把题复制下来自己做,只是看很容易忘的。
牛客上的面经一定要自己写一遍,就是打字打出来,不要只是脑子里过一遍。

这是我的部分总结,推荐使用OneNote。

技巧

经过了整个春招的磨砺,除了硬实力之外,有一些需要自己注意的技巧分享出来:

1、简历不要投太早,容易因为太久没被处理导致心态崩溃。因为我之前2月底投了一波,但是那时候很多厂简历筛选工作还没开始,搞得自己无名焦虑,头发又少了。

2、不要给面试官一种你在背知识点的感觉,要结合实现进行分析。我这里有一句话:**数据结构决定算法、算法决定数据结构。**就拿TCP举例,你要是遇到TCP的头部结构有什么的问题,是不是就懵了,觉得这是靠背诵的。但是你套上这句话,联想一下知识点:SACK确认机制、滑动窗口、全双工通道、套接字结构……是不是就能够理解为什么需要那些头部结构了,都是有对应的功能需要实现才会出现这些结构的。遇事不决拿结构分析。

3、多看源码,源码里面有很多注释,很多时候看看注释就知道这个类是干什么的了,然后再往下跟,会有助于自己理解逻辑。更重要的是让面试官知道你这种跟源码的学习方式。

4、调整好心态,不要因为某些厂把自己挂了就觉得自己不行。这是我被挂多了之后的心得,此处不留爷自有留爷处。

5、面心仪的公司之前先面几家其他公司,小公司或者同等体量的公司。

6、面试一次复盘一次,整理自己发挥不好的点。不能说一次问你不会两次问你还不会吧,那不是能力问题,那是态度问题。而且很多厂是有面试记录的,二三面转挑你面试不好的问题问你。

7、表现自己对于计算机、码代码的热情以及愿意钻研的精神。这里说的热情不是让你自我介绍的时候说喜欢码代码,而是不经意见透露一些。比如有维护个人博客、比如一直在维护个人github、比如在遇到问题的时候提了各种解决方案最后根据某种选择策略决定了最终方案、比如最近遇到的问题以及现在解决到了哪一步……

我举个例子吧,LZ最近准备的案例是BiometricPrompt相关,这是AndroidP开始有的生物识别类,意在同一生物识别的弹窗样式而让用户对于识别更加放心。但是弹窗会使得背景Activity偏蓝,于是想解决这个问题,找到了源码FragmentDialog,发现里面关于Style和Theme部分的代码是通过从Bundle中取出的值决定的,但是Bundle是BiometricPrompt中利用构造器模式进行初始化的,而且是private的,所以没有接口可以定制。

于是想通过反射试试能否修改对应Bundle中的数据。实现之后发现失败了,因为回看FragmentDialog中,它将Theme和Style对应处理写死了,只是通过int值不同调用不同的case而已。所以修改Bundle是行不通的,现在在想能否利用动态代理相关思想hook一下对应的setStyle或者setTheme方法,达到修复背景颜色问题。但是这样子又违背了这个类创造出来的目的,所以最近在苦恼这一点。项目里还是利用了AndroidM的相关生物识别操作自定义弹窗做的。

看我加粗的部分:提出问题+初步解决方案+失败了+失败原因分析+下一步操作+对于这个操作的思考。

不要求你解决了什么问题,但是你要体现出来,你真的在思考。这确实是我最近遇到的问题,我解决方案还是使用AndroidM相关库进行的自定义。

上面这段话透露了什么?你乐于思考、会解决问题,你在学习新技术,你知道版本适配问题,你会利用源码作为解决问题的工具,你知道动态代理和hook,你会利用反射解决问题。

上述能力都是我想体现的,一个案例就够了。我通过这个案例已经打动不少面试官了,各位要做的就是按照我的模式找到自己解决的问题。

心得

有不少网友问我是怎么学习的,那我确实也有一本书我认为还不错的书推荐给大家**《Android插件化开发指南》**,网上肯定能下到电子版。这本书不要当做是插件化相关书籍看,他是以插件化的角度介绍了整个Android的体系。挑对应章节看即可。

最后谈一下为什么自己会选择Android开发吧。最开始是因为自己确实不行,然后得找一个缺口大的岗位,借着校企培训的契机得知了字节跳动特别缺Android开发人员。于是就决定自己做Android。但是做着做着就爱上了Android开发,也爱上了非常忙碌的生活,所以一直就有个正循环。

如果大伙真的不知道选什么方向,可以考虑考虑大前端:H5、Android、IOS。尤其IOS缺人缺炸了……

在各大平台上看到了非常多优秀的面经,也有很多小伙伴特别乐于助人。所以我也就把我自己的经历分享出来,希望能够帮助甚至激励一些人吧。

往期部分面经

这些都是面过的部分的面经,大家可以看看:

字节跳动:https://shimo.im/docs/wKcgyT9gY3pd3C3G
腾讯:https://shimo.im/docs/dwjqckkDVx3t8tgH
美团:https://shimo.im/docs/9rVvxpGXhdWHVh3p

文末

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

Android学习PDF+架构视频+面试文档+源码笔记

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【算法合集】

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

学习分享,共勉

Android高级架构师进阶之路

题外话,我在阿里工作多年,深知技术改革和创新的方向,Android开发以其美观、快速、高效、开放等优势迅速俘获人心,但很多Android兴趣爱好者所需的进阶学习资料确实不太系统,完整。今天我把我搜集和整理的这份学习资料分享给有需要的人,若有关Android学习进阶可以与我在Android终极开发交流群一起讨论交流。 点击这里前往我的Git领取资料 的同时,还可以加入一个好的学习交流圈,何乐而不为呢?加入我们和我们一起吧!!

  • Android进阶知识体系学习脑图

  • Android进阶高级工程师学习全套手册

  • 对标Android阿里P7,年薪50w+学习视频

  • 大厂内部Android高频面试题,以及面试经历

30)]

  • 对标Android阿里P7,年薪50w+学习视频

[外链图片转存中…(img-pe3HrHfH-1710568896531)]

  • 大厂内部Android高频面试题,以及面试经历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值