20年入秋Android面经分享(已获头条、顺丰,2024年字节跳动+京东+美团面试总结

本文讲述了作者的求职经历,包括简历制作策略、面试过程中的技术题型(如网络、多线程、数据结构等)、Android面试常见问题以及如何准备面试。作者强调了简历的重要性,技能点提炼和项目经历的展示方式,以及自学提升的方法。
摘要由CSDN通过智能技术生成

求职开始于某个周日晚上十一点把简历公开到猎聘,第二天开始就被猎头的电话打爆(对这个所谓寒冬有点疑惑),按先后顺序面了xxx体育资讯(搞BC的)、xx者科技(技术方向不同,去了几乎没怎么面就让我回家了)、腾讯音乐(电话一面挂)、技威时代(智能家居方向)、悦动圈(跑步运动,用户量过亿)、顺丰科技、OPPO、百度(止步现场第三轮技术面)、头条 ,加粗的是拿到offer的,最终入职了头条。

**面试题的全部内容(包含题库和详细解析),我已经整理在了Github:https://github.com/AndroidCot/Android

,有需要的朋友里面有领取方式**

面试准备


简历攻略

首先从企业招聘端分析他们想看到什么样的简历,一般看简历的有三种人,猎头、HR、技术负责人。猎头和HR关注的点比较近似,放一起说,这两者一般比较关注工作经历、项目经验、掌握的技能点是否和用人单位JD匹配,对于工作年限低的,比如三五年以下的,还会关注学历,尤其是大厂,比如本科是很多厂的硬性要求,因为HR看简历的时间有限(我猜的,大厂投简历的人那么多,肯定看不过来啊),HR还会关注你在过往的经历中的产出成绩,能量化的最好。对于技术负责人,主要关注的就是你所熟悉的技术栈,和项目经验了,也许会因人而异,这个可以换位思考,如果你想找一个队友,你期待你的队友是怎样的一个人。

我对简历的理解是,对自己的基本情况做总结形成你的人设,目的是让用人单位对你感兴趣,获得面试邀约。简历格式用PDF,两页最好,如果你觉得你足够屌,可以一页。注意排版要整洁,自我认知要客观,别什么精通xxx张口就来,除非你是真的精通,已经完全不怕被面试官问倒的程度,反正我一个精通没写。对于什么教育程度、自我评价、专业技能点、工作项目经历之类的用什么顺序写之类的,我觉得没有一个固定的标准,我的建议就是以突出自身亮点、优势,扬长避短为原则的优先级排序。比如你是985的学校毕业的,但是工作履历不出彩,可以把学校放前面,我因为专业不是计算机类的,为了防止被HR刷掉,我只写了xx大学,本科,事实上一般技术面试官也不是那么看重专业出身的,就我经历的几个厂面试而言,我在自我介绍时主动说明了我的专业出身,面试官一般也会表示理解。那如果,学历不够出彩,但是之前公司背景屌或者说做过的项目比较知名比较屌,例如用户量、日活很多之类的,那么就可以把项目经历写在比较靠前醒目的位置。如果自己有写高质量博客的好习惯,或者在GayHub上有star比较多的开源项目,可以写在自我评价里,作为加分项,因为本人这两者都没有,所以我自己没写自我评价。

有朋友问我,技能点该怎么写,写多少写什么比较合适?这个主要还是要看个人情况,我只能提几点供参考的建议,把你的技术栈提取出亮点来,把你的亮点和理解的最深的有门槛的技术写在靠前的位置,可以参考下你目标公司的jd需要什么,你把你会的写上去,不要写太多,也不用写那些一眼看上去没啥技术含量的东西。可以适当的抽象一点,不用具体到点,举个例子,熟悉常用的数据结构与算法,肯定比熟练运用HashMap、ArrayList,知道快速排序原理要强。项目经历怎么写?那还就是用著名的star法则,即情境(situation)、任务(task)、行动(action)、结果(result)。在什么场景下,采用了什么技术方案,取得了什么成果,通俗来讲,还是提取项目中的技术亮点和能体现你能力的地方。比如说,对应用启动的做了xx优化,启动速度快了30%,比竞品厉害了多少。

还有很多人最关心的,面试题一般都问啥?很简单,一部分从你的技能点发起提问,一部分从你的项目经历发起提问,从这个角度来看,你是在给你自己设计考点,想要证明你的实力,那么你就在这两个地方多花点功夫,把你简历上的东西琢磨深一点,不被面试官问起来虐到就行。因为你能进入面试环节,就说明用人单位,通过简历对你的“画像”基本能达到录用需求了,你只需要在面试时表现出来,你简历上的不是吹牛B,而是真正的你,那么不说能拿多少钱,至少offer是稳了。

投递渠道

我自己在这过程中几乎只用了猎聘、BOSS直聘,拉钩也公开了简历,但拉钩只约过一家,基本都是猎头推荐和BOSS上的招聘方主动联系我。

高频题集

下面的题是混合了我面过的公司中还记得起来的题目,每个类型都大致是按照出现频率倒序排列的,有些题目其实只是一系列问题的引子,让面试官和候选人打开话题的。

基础题

网络相关

  • Https的原理?

  • Tcp和Udp的区别?

  • Http的报文结构?cookie是用来干嘛的?有哪些响应码,分别都代表什么意思?

  • 有自己实现过Socket协议吗?

多线程

  • Sleep()和wait()的区别?

  • Java有哪些线程池?他们的区别是什么?线程池工作流程是怎样的?线程池实现原理是怎样的?Cache线程池有哪些弊端?

  • 多线程间的通信方式?

  • synchronize关键字怎么用的?还知道哪些同步的方式?

  • Thread直接调用run方法会怎么样?start方法作用是什么?

  • volatile关键字的作用是什么?

  • 怎么安全停止一个线程任务?原理是什么?线程池里有类似机制吗?

数据结构

  • HashMap和HashTable的区别?和 ConcurrentHashMap 区别?和LinkedHashMap区别?内部实现原理?

  • LRUCache的原理?

  • ArrayList和LinkedList区别?为什么ArrayList不是线程安全的?

  • 数据库的索引用的什么数据结构?

虚拟机

  • 垃圾回收机制?有哪些对象可以作为GC roots?

  • 跟Art、Dalvik对比

  • Java内存模型?

  • 类加载机制?双亲委托模型?

其它

  • 用过哪些设计模式?DCL单例模式为什么要两次判空?Android里源码或者你用过的开源库都用到了什么设计模式?

  • — final关键字的作用?

  • 静态内部类和内部类的区别?

  • 值传递类问题

  • Kotlin为什么能和Java混编

Android题

  • 你有什么亮点?项目中遇到过什么难题或者坑,怎么解决的?

  • 做过哪些性能优化?是怎么评测和具体优化的?

  • Activity的冷启动流程?AMS的作用?

  • 怎么分析内存泄漏?

  • View的事件分发机制?滑动冲突怎么解决?

  • 自定义View的原理和流程?

  • Handler原理?(一般会花式扩展)

  • 有哪些多进程通信方式?Binder机制?

  • Android的生命周期和启动模式相关?

  • 你项目中用到哪些开源库?说说其实现原理?(OKhttp、RxJava、Retroit重点,如果有用到的话)

  • Android的打包流程?apk里有哪些东西?签名算法的原理?

  • 了解哪些插件化技术?

  • LinearLayout的布局流程?

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

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

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

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

新的开始

改变人生,没有什么捷径可言,这条路需要自己亲自去走一走,只有深入思考,不断反思总结,保持学习的热情,一步一步构建自己完整的知识体系,才是最终的制胜之道,也是程序员应该承担的使命。

如果有需要进阶Android高级工程师系统学习资料的,我可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。

《系列学习视频》

《系列学习文档》

《我的大厂面试之旅》

程师系统学习资料的,我可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。

《系列学习视频》
[外链图片转存中…(img-Jsrp1FxQ-1711278569143)]

《系列学习文档》

[外链图片转存中…(img-mIa3mKN4-1711278569143)]

《我的大厂面试之旅》

[外链图片转存中…(img-CIpNJdze-1711278569143)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值