刚开始面试的时候我真的是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作。工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己,一定要自信。
面试战况(时间排序)
- 最右二面挂
- 猿辅导一面挂
- 伴鱼 offer(两轮技术 + 一轮 HR)
- 顺丰二面挂
- 百度二面挂
- 微博一面挂(一面就问意向薪资,面的还行,要多了没有后续了)
- 老虎证券 offer(两轮技术 + 一轮 HR)
- 滴滴一面挂
- 快手简历挂
- 字节 offer(三轮技术 + 一轮 HR)
- 美团 HR 面(三轮技术)
- 腾讯 HR 面(三轮技术)
对于离职原因,虽然实际上可能是由于薪资减少、工作环境不佳或缺乏成长机会等原因,但在面试中要尽量以个人发展为出发点来回答。尽量避免谈论现有公司的负面情况,因为这可能会让面试官对你的职业素养产生怀疑。如果你频繁更换工作或像作者这样在第一份工作不满两年,需要想好一个合理的离职理由,以避免在面试中引起不必要的麻烦。
在投递简历的顺序方面,如果你对自己非常有信心,可以直接投递自己的目标公司。然而,如果你感到有些不确定或缺乏经验,可以先面试几家规模相对较小的公司来积累经验和了解当前的市场情况,然后再投递自己真正心仪的公司。
在心态准备方面,既然你已经准备离职,就不应让其他事情干扰你的心态。保持积极的心态非常重要。我在初次面试时遭遇了许多挫折,甚至在一次面试中被面试官嘲讽,让我开始怀疑自己的能力。幸运的是,后来有一家公司给我发了 offer,让我明白问题不在他身上,而是市场和机会的选择。对于工作,要保持开放的心态,相信总会有一家公司适合你,不要因为别人的负面评价而对自己产生怀疑。
在技术准备方面,建议将所有面试问题总结在一起,整体考虑如何回答。这样可以帮助你更好地准备面试和了解常见的面试问题及解答思路。
项目复盘:
在项目上一定要重视,一定要能做到融汇贯通,不仅从技术上也要从业务上,还要知道这个需求为什么要这么做,这么做的收益是什么,如果产生问题应该如何解决,以此来进行判断。其次在技术细节上,要能够知道为什么要选择这种技术方案,这么做的好处是什么,以及能够进行横向纵向拓展。
比如我的项目中有一个地方用 JobService 实现了定时任务,那么可以横向拓展的点就有:Android 中实现定时任务的方式都有哪些,各自都有哪些好处和坏处,为什么在当时的场景下选择了 JobService?JobService 与普通 Service 的区别是什么?通过这种扩展能够对自己做的工作有更多的了解。
纵向扩展的话就有:JobService 的原理是什么?JobService 在参数配置上的一些细节是什么?JobService 是不是会严格按照你配置的时间运行?通过这种扩展可以对自己使用的工具或框架有更深入的了解。
除此之外,良好的表达能力也是非常重要的一环,如果不觉得麻烦的话可以在复盘项目的时候把自己做了什么,为什么这么做打个草稿,自己看自己的逻辑以及表达是否通顺,以此来做调整。
因此,在复盘项目的时候应该更加注重对整个项目的理解和思考,不要只局限于自己负责的部分,通过对整个项目的了解和分析,可以更好地发现自己的不足之处,提高自己的专业素养。
面试前的系统复习路线参考
面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责!接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。
帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。
由于面试内容比较多,篇幅有限,资料已经被整理成了 PDF 文档,有需要 2023 年 Android 中高级最全面试真题答案 完整文档的可
第一章 Java 方面
Java 基础部分
- 基本数据类型:int, long, float, double 等,注意包装类与基本类型的区别,自动装箱拆箱的陷阱。
- String 类:String 是不可变的,String Pool 机制,intern() 方法的作用,StringBuilder 与 StringBuffer 的区别。
- 异常处理:Checked Exception 与 Unchecked Exception,try-catch-finally 的执行顺序,自定义异常。
Java 集合
- List:ArrayList 基于数组,扩容机制;LinkedList 基于链表,插入删除快但随机访问慢。


