前言
我在过去的几个月中,经历了一段艰难的职业发展时期。我在一家大厂被裁员后,决定离开原来的城市,转战其他城市寻找新的机会。在这个过程中,我面试了几个大厂,虽然最终没有成功进入这些知名企业,但我从这个过程中收获了很多宝贵的经验和面试题。
- 面试前的准备:
在面试前,了解公司的业务、产品和技术栈是非常重要的。这有助于在面试过程中展示自己对公司的了解程度,以及对该行业的热情。此外,还需要对自己的简历进行充分的梳理,确保对自己的项目经验、技能和成果有清晰的了解。
- 面试题回顾:
在面试过程中,我遇到了许多具有挑战性的问题。以下是我在这次面试中遇到的一些典型问题和部分大厂的面试:
- Android性能优化:如何优化应用程序的启动速度、内存占用和网络请求?
- Kotlin协程:如何使用协程处理并发任务,以及协程与线程之间的区别?
- 数据结构与算法:设计一个LRU缓存,并解释其工作原理。
- Fragment与Activity之间的生命周期管理:如何在Fragment中处理Activity的生命周期回调?
- Android安全性:如何防止SQL注入攻击,以及如何保护应用程序免受XSS攻击?
- 跨平台开发:React Native和Flutter之间的区别,以及为什么选择其中一个作为开发框架?
字节—技术中台
3/1 一面 — 60min
1.协程
2.okhttp一个域名可以有几个连接,复用技术
3.C语言malloc()内存分配地方,是会立即分配吗
4.Synchronized底层具体实现(加锁粒度等)
5.Java抽象类和接口区别
6.Java接口静态方法和默认方法
7.操作系统内存映射
8.ART空间占用优化
9.栈顶复用的时候,调用栈顶Activity的生命周期
10.Java异常
11.匿名类
12.Java反射
13.栈具体结构
14.Activity创建过程
15.算法:反转部分链表
- 备注:面试官比较年轻,问的问题比较常规,广泛,有些比较有深度;这里只记录了没有回答上或者回答不好的(因为问的太多了-.-,从Java接口、并发、Jvm问到Android Dvm,ART,OkHttp等等)。
3/8 二面 — 50min
1.handler
2.事件分发
3.Java并发
4.设计模式
5.volatile,i++问题
6.公平锁,设计一个?
7.OkHttp+Retrofit+RxJava(项目有写)
8.开放性问题:实现一个表格,并能在界面任意拖动
9.开放性问题:加载非常大的图片思路
10.开放性问题:登录验证问题(解耦思路)
11.开放性问题:RecyclerView调优
12.有没有什么具有挑战性的技术分享,平时怎么学的…
- 备注:面试官年纪比较大(一看就是老架构师了),问的比较细节,问了各大机制,还有几个开放性问题,调优等等,最后问了平时怎么学习技术,有没有什么感兴趣的技术分享等等,主要是要有自己思路,可以一起探讨,没有做算法。这一关我没有过,应该是回答有些问题太泛了,自己的知识储备不够。
阿里蚂蚁 — 支付宝中台
3/23 一面 — 50min+1h
1.项目相关
2.Http请求过程
3.事件分发
4.Handler
5.GC
线上笔试:
斐波那契(递归+迭代)、死锁、交替打印1-100、简单计算器实现
-
备注:主要聊项目,问题比较常规。
-
后续:阿里流程太慢了,可能是有更好的选择。
- 面试经验总结:
在这几个月的面试过程中,我意识到自己在某些方面仍有不足之处,需要进一步提高。同时,我也从面试官那里学到了很多宝贵的经验,包括如何在面试中展示自己的优势、如何应对面试中的难题以及如何更好地理解公司的需求。
最后,虽然我最终没有进入那些大厂,但我仍然对自己的职业发展充满信心。在未来的工作中,我将继续努力提升自己的技能,积累更多的。
在这里分享自己在这几个月整理的面试题希望可以对你们有所帮助。
2023年最新的Android面试大厂必考174题 (附****详细答案)
每逢招聘旺季,都是程序员跳槽涨薪的好时机,金三银四没赶上,即将到来的金九银十可不能再错过了。获得想要获得更多机会,让你的人生更上一步台阶,就要充分准备。对于Android开发者而言,掌握一定的复习方法和面试技巧会让你的复习事半功倍,也能极大地提高通过前两轮技术面试的几率。
以下这份最新版《Android面试大厂必考174题 》包含各个大厂的高频面题及行业最新技术,是由阿里P6的大佬花两月时间整理和完善而出,资料内容全面、结构清晰,非常适合想要求职/跳槽的伙伴!!
由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android面试大厂必考174题》完整文档的可以加微信 即可免费领取!