2024年安卓最全程序员投简历到底是“精投”好,还是“广撒网”好,2024年最新高级安卓开发面试题

文章讲述了Android实战系列的重要性,强调了知识体系化学习对于技术提升的必要性,分享了作者的秋招面试经历,涉及Java基础、Android技术、面试策略等内容,并提倡加入技术交流社群以共同学习成长。
摘要由CSDN通过智能技术生成

实战系列

话不多说,Android实战系列集合都已经系统分类好,由于文章篇幅问题没法过多展示


网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 面试官是哪个组的?

字节跳动今年是否真的缺人?招聘策略是什么?(答:是。项目和实习经验吃亏没关系,今年招聘重视基础,换去年我肯定不给你过。)


【三面】

  • 介绍项目,高三暑假做的App
  • 画某个功能的模块图,写出相关接口
  • 这样设计有什么问题?如何改进?
  • QQ视频聊天使用什么协议?
  • 视频聊天为何会卡顿?
  • TCP流量控制算法的细节? (×:包速率增长的函数关系说不清楚,感谢面试官放过)
  • 假设有节点自带p的丢包率,如何判断丢包是因为带宽不够还是随机丢包导致?
  • 如果视频聊天出现卡顿,如何在应用层面缓解?
  • 手写代码:大整数加法,要求代码可读性(×:又写出搞笑bug系列,被二面搞傻了)
  • Android应用中的卡顿是什么导致的?
  • Service和Thread有什么区别?Service的代码是在哪个线程运行的?
  • AsyncTask?Executor?
  • AsyncTask有哪些缺点?
  • 用过IntentService吗? (×:没用过,感觉就是个适合处理单次计算任务的方便设施)

我的提问:

  • 面试官是做什么的?
  • 面试官对非科班学生有什么看法?
  • 面试官认为我存在哪些不足?

头条到底还是头条……一言不合就写代码,而且相当重视基础。说是面经,其实就是帮助各位查漏补缺,完善技术栈 。毕竟面经只是面试官拿来采样你的水平的测试用例,我遇到过各种奇怪的问题……

另外一面过程中有个彩蛋,旁边一个暴躁老哥在和面试官争执,大概说的是我是来面试移动端开发的,你们为什么要让我手写二叉树?平常写代码能用到二叉树?

虽然我不知道该说是什么,但我觉得他凉了……

就是这样,感谢头条给了我这种非科班菜鸡一个机会,大佬轻喷orz


广撒网

程序员投简历到底是“精投”,还是“广撒网”?

秋招战绩

程序员投简历到底是“精投”,还是“广撒网”?

阿里

阿里的实习生招聘我参加了内推批次和正式批次一共两场。

阿里的内推批次和正式批次的时间是完全错开的,即在内推全部结束后才开始正式批次。需要注意的是,阿里主要部门(集团、菜鸟、蚂蚁等)的招聘几乎全部放在内推批次中,而正式批次绝大多数是非主要部门(高德、优酷土豆、虾米、钉钉等)的招聘。

阿里的内推没有统一的笔试,在内推成功后,马上就会收到素质测评和编程测验的通知。然而这两个测评其实并没有太大意义,做不做都会很快(一两天)就开始面试的。阿里内推批次的面试全都是电话面试。我在内推后的第二天就接到了一面的电话,部门是菜鸟/无线(记不清了)。

内推一面大概40分钟,主要问的计算机基础,如HTTP、TCP、并发、二叉树遍历、字符串匹配算法等,还让我简单介绍了我做的两个项目。因为我的其中一个项目做的APP中有调查问卷的发放和收集,所以问了我如何防止有人刷问卷;我回答说可以限制IP、记录设备唯一编号、监测做问卷模式等,但都存在一些漏洞。最后我问他Android开发过程中是不是会遇到很多兼容性问题,面试官回答说会遇到,还详细说了他们有专门的大规模真机测试来检查兼容性。一面总体上答的还行,几乎没有涉及到Android相关的问题;因为是电话面试,也就没问什么算法题。

内推一面两天后就接到内推二面电话了。二面大概50分钟,主要问了Java GC机制、Android APP启动过程、Android事件分发、Android View绘制流程。GC机制因为刚看过所以答的比较好,然而因为阿里面试开始太早,我还没来得及复习Android,所以Android相关的问题答的一塔糊涂,比如APP启动过程就支支吾吾乱说一气,View绘制流程干脆说不知道,跟面试官说我知道Android事件分发流程,于是事无巨细说了好长一串,最后被面试官吐槽根本不熟悉Android。最后问了面试官对国内手机厂商乱改Android Framework层有什么看法,面试官回答说他也很无奈,但阿里一般都和手机厂商有合作,直接进白名单,所以没有碰到太大问题。

内推二面后过了一周多才接到内推三面的电话,而且是在周末的晚上11点的时候。三面大概20多分钟,主要问了做过的项目、Java基础、最近看的书、到阿里想学到什么。我不太确定这轮面试是技术面还是HR面,因为是晚上11点和女票刚回到酒店完全不在状态,而且面试官也似乎很不耐烦,加上那段时间一直在准备技术方面的问题对这些HR面相关的问题完全没有准备,所以答的很啰嗦也很糟糕,好多都没有答到点子上。最后我问面试官我答的怎么样,面试官也没有说什么就急忙不耐烦挂电话了。

内推三面结束后就觉得应该是挂了,然后又等了一星期,官网上就从“面试中”变成“已回绝了”。

等到阿里正式批次开始的时候又投了正式批次,正式批次有统一的笔试,笔试用的阿里自己的系统;笔试内容记不清了,但一二十个选择题记忆深刻,好多超出Android相关知识的题目,好多做不出来的智力题。

正式批次的笔试似乎只有很少数的人通过了(主要是因为正式批次的岗位很少),幸运的是我也通过了,在官网预约面试时间后就开始准备视频一面了,面试的部门是钉钉(像之前说的,正式批次的部门都比较边缘)。

正式一面是视频面试,大概不到20分钟,是我实习秋招体验并列第二差的面试。主要问了Activity中能不能执行耗时操作(就是UI线程相关)、Android中有哪些内存泄漏的情况,然后就是共享屏幕写代码:实现单链表的插入删除和查找。为什么说体验非常差呢?首先整个面试就问了两个问题,而且这两个问题几乎任何有Android开发经验的都能对答如流,并且我回答完后就没有然后了,没有继续深入问;其次那个代码在数据结构教材上讲链表的时候一定会讲,而且也没有什么技术含量。最后面试官说还行,也没让我问他问题就结束了。

一天后官网状态就变成“已回绝”了,累觉不爱。

美团点评

美团点评也是很早就网申了,其实最初是找的师兄内推的,然而当时内推的岗位是后台开发,仔细想了想之后我又改成Android开发,于是就不是内推了(直到我笔试挂了才明白这个道理)。

之后就收到了美团点评的统一笔试,美团点评用的是北森系统,奇烂无比。笔试题目记不清了,最后有一个编程题,好像是求最长递增子序列,经典题目了。当时感觉笔试做的挺好的,然而笔试完就再也没有消息了,简直是黑人问号。

后来想了想可能是我当时网申的时候,选“感兴趣的事业群”选了“都感兴趣”导致没有一个事业群对我感兴趣,这个后面再说。

网易游戏

严格来说我投的是网易互娱(区别于雷火&盘古,后面再说更多区别),走的内推。网易游戏以其笔试难度大著名,这次也不例外;所有的内推都要求参加统一笔试,我记得笔试有几场,我是在第一场。内推的岗位是网易游戏最核心的“游戏研发工程师”,地点是杭州。

笔试用的牛客网平台,大大的赞。笔试一共四道编程题,一共150分钟,难度都很大,前三题用不到啥高深的算法,但需要想到解题的思路,最后一题是一个多重背包问题。笔试我一共过了三题半,因为最后一题不知道为啥内存超限了,用的primary int和动态规划,理论上是不会内存超限的。做完笔试题几乎就有把握能进面试了,当时预感能做出两题就能进面试,后来发现好多人只做出了一题就进面试了。

网易游戏实习生招聘很神奇的是整个就一轮面试,HR面是不存在的。面试是视频面试,用的牛客网平台,大概面了一个小时多一点。面试主要就是把计算机四大专业课轮番问了一遍,问了Java语言基础,最后还问了一个算法题。

四大专业课问的也就是那些基础问题,不过有些地方问的很深,基础的像问到了各种排序算法的最好、平均、最坏时间复杂度、线程和进程的区别、cache工作原理、计算机网络七层模型;问的深的像问到了进程中有多少个栈、线程中有多少个栈、阻塞是指进程阻塞还是线程阻塞、一台服务器上TCP和UDP监听端口号能不能相同、服务器80端口和客户端建立连接后会不会切换端口等。

Java语言基础这里有个小插曲,面试官没想到我不会C/C++(因为岗位介绍里面有写要会C/C++,但五个要求里只要求满足任意两个就可以投递)只会Java和Python,于是他就只好问了一些Java语言基础的问题,比如Integer和int的区别、GC的工作过程等;还问了Python的装饰器的原理,我就说了说面向切面编程相关的;最后面试官觉得不问C/C++不行,然后问我知不知道C/C++里的虚函数,被我一口回绝了。最后问了一个字符串循环移动的算法题,算是一个经典题目了,直接口头说三次翻转就好了。

最后问了面试官说岗位介绍里要求会C/C++,但我看招聘网站介绍里有提到Python,实际中是用哪些语言呢?面试官说C/C++主要用在游戏引擎那块,开发主要还是会用Python。虽然整个下来有些题没有答上来或者答错了,但整体来看还是答的很好的,反正对我来说已经发挥到极限了。面试完就感觉这个offer基本要到手了。

等了两周多才收到了网易游戏的offer,但也算是我实习生招聘收到的第一个offer,也是很有分量的一个了,自此我的实习生招聘就有底气了。

尾声

最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,点这里可以看到全部内容

进阶学习视频

程序员投简历到底是“精投”,还是“广撒网”?

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

程序员投简历到底是“精投”,还是“广撒网”?

文末

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

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

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

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

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

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

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

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

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

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

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

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

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

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值