
前言
作者:独孤
目前Android开发岗位确实没有以前那么火爆了,但是只要你确实有真才实学,想要找一份自己满意的工作还是相当容易的。
而如果你是985,211,硕士学历,那么,要拿个相当好的Offer更是不在话下;
我是从渣本毕业,实习时是在一家小公司,每天基本的工作都是两三个小时就能完成,而每天没有新的项目可以挑战,整天感觉自己就在摸鱼……这样持续了一年,日子过得很安逸,但是对比了一下曾今的同学薪资基本完成了翻倍,觉得自己在清醒的堕落,于是逼自己沉下心来,把毫无进步空间工作辞了,打算潜心学习一波,准备充分后,再去集中面试,于是就在家休整了两个月。
在面试前我在网上找了一大堆的资料进行学习,但是感觉很浪费时间;于是就找了一套比较全面性的面试资料和一些进阶资料再刷。由于内容比较多,没有全部看我就去面试了。
面试过程
一面(6.30 1h)
1. 项目介绍
2. 说一说retrofit
3. okhttp中的责任链模式讲一下
4. TCP三次握手四次挥手
5. Synchronized和volatiled的区别
6.乐观锁和悲观锁
7. Synchronized的锁升级机制
8. handler机制
9. App的启动过程
10. CAS
11. Activity的启动过程和启动模式,分别的应用场景
12. Tcp/Udp的区别
13. tcp可靠性的保证
14.动态代理的实现原理
15. 算法题:根据前中序重构二叉树
二面(7.7 50min)
二面只想起来一部分内容
1. hashmap
2. 能否自己写出一个求hash值的函数(算是半个算法题吧)
3. 讲一讲okhttp
4. http中如何实现缓存
5.那在okhttp中如何实现缓存
6. DNS的解析过程
7. 算法题:场景题,能否写一个函数给定安卓界面上最顶层的view得到安卓界面中view得深度
三面(7.13 50min)
1. 项目介绍
2. ==和equals的区别,Stringbuilder和StringBuffer的区别等等java基础
3. 项目中的难点
4. 项目中学到了什么
5. 算法:螺旋矩阵
不知道为何三面突然问起了java基础,项目里的内容也没有深究,可能是因为非科班,安卓端又非常缺人。
hr面(7.14 30min)
1. 自我介绍
-
优缺点
-
为什么选择字节
等等一些常规的hr问题。。。。
总结
根据自己的实际想法答即可,提到字节舔就完事了 哈哈
总体来说,在面试难度上,安卓端的题目难度确实不太大,主要还是java基础和网络还有安卓一些常见的知识,可能是安卓比较缺人侥幸拿到了字节的offer。整个面试体验非常棒,每个面试官都比较和善,会耐心的听你讲完,有不会地方还会适当提醒一下。
最后
分享一份我自己收录整理的Android学习PDF+架构视频+面试文档+核心笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料。
这些都是我现在闲暇还会反复翻阅的精品资料。里面对近几年的大厂面试高频问题都有详细的讲解,也是对我这次面试通过有很大的帮助。相信可以有效的帮助大家掌握知识、理解原理。
当然你也可以拿去查漏补缺,提升自身的竞争力。
如果你有需要的话,可以私信我【666】获取或者点击查看详情
喜欢本文的话,不妨顺手给我点个小赞、评论区留言或者转发支持一下呗~
网友评论