追梦要趁早:双非3年Android混子跳槽字节面经分享(已拿offer)
Posted 陈京大帅比
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了追梦要趁早:双非3年Android混子跳槽字节面经分享(已拿offer)相关的知识,希望对你有一定的参考价值。
背景
2017年毕业于一所不知名双非本科大学,毕业时就有着一颗想进大厂的心,但又想留在成都,不愿意去北上广,现在其实相当后悔。当年在成都的大厂少之又少,再加上校招时非常努力地玩耍,导致投的几个大厂面试都全部挂掉,也错失了进大厂最好的机会,所以我奉劝大三的同学如果对自己的职业有追求,有进大厂的梦想,在大三的时候一定要好好准备,在校招的时候拿offer。
最后我在成都一家本地科技公司做了android开发,中间也跳过一次槽,也是做Android。但这几年时间里总感觉公司能给的成长太慢,虽然自己也在学习,还是免不了焦虑,特别是像自己这种学历和公司背景都一般的程序员,要保证自己以后不被淘汰,我必须得做点什么。
特别是在听到一个前同事被公司裁掉,最后进入大厂这个事情之后,彻底点燃了我心中想进大厂的那把火,我也准备内推试试字节跳动。
因为疫情原因,很多企业都在裁员,所以工作肯定也没有想象中好找。我也保持了理智,没有选择裸辞去跳槽。而是先给自己制定了学习计划,不得不说,在职的情况下复习确实很难,因为可能加班打乱计划。
于是我把所有能利用的个人时间全部利用了起来,比如早上十点上班,我六点钟就会起床,刷两个小时LeetCode,八点钟洗漱之后去上班。晚上如果有时间就会把早上刷过的题拿出来继续复习,花了两个月的时间,一边复习(预习)数据结构,一边做题,LeetCode上面的高频题基本都过了一遍。
花了那么多时间刷题,都是因为自己算法太菜,以前没有进行专门的练习。题做得差不多之后,就开始复习专业知识了,具体内容我都会总结出来。前前后后准备了三个月,我才敢进行内推,经历了八次面试之后,面试时间又持续三个月,皇天不负有心人,终于在这个月等到了oc。 下面是面试内容,时间太久了,可能记得不太全,但基本上包含了所有问题,白天上班,我都是选择晚上进行面试,哈哈。
一面
1.mmap + native 日志优化?
2.广播和 EventBus 的区别?
3.常用设计模式你了解哪些?
4.跨进程通信有哪些?
5.简单讲讲 binder 驱动吧?
6.跨进程传递大内存数据如何做?
7.说说 ConcurrentHashMap 的实现原理说下,初始化大小是多少?
8.启动优化怎么优化?
9.你写的 rxpay 和 rxlogin 具体怎么实现的?
10.kotlin + fullter 方面的
二面
1.单例设计模式都写写,静态内部类是怎么保证线程安全的?
2.synchronized 底层实现原理,ReentrantLock 公平锁与非公平锁。
3.主线程等待所有线程执行完毕,再执行某个特定任务怎么实现?原理和源码看过没?
4.自定义 view 的一般流程,要注意些什么如何优化,点击事件和长按时间分别是怎么实现的?
5.四种启动模式,在源码分析中的原理是怎样的?
6.讲讲 bindService 的过程,你当初是怎么优化后台服务进程的?
7.开发中你都用到了哪些设计模式?说说当时具体的场景。为什么你要用方法工厂,另外两种呢?
三面
1.讲讲 handler 的底层实现原理?
2.说说你做的日志记录优化?
3.你看过 binder 驱动的源码,说说他的内存映射过程,说说客户端等待服务端处理返回的流程,如果要跨进程传递大内存数据你具体会怎么做?简单写一写吧。
4.在公司做过哪些优化?
5.过程中遇到的一些最难解决的问题?
6.提到了动态修复替换加载 so ,那你知道怎么修复 class 吗?怎么修复资源呢?
7.还有什么要问的?
HR面
1.离职原因
2.职业规划
3.期望薪资
总结
我给大家的建议就是慢慢来,不管是社招还是校招,制定自己的计划,一定要有自己的知识体系,针对自己薄弱的地方进行强化复习,不放过任何一个细节。后面的话我会将我的个人学习计划与刷题面试真题分享出来,希望能给你一些帮助。
简历上写的东西一定要会,一般都是针对简历来提问的。如果在预习的过程中感到困难或者吃力,那就对了,等你熬过去了,就是胜利。最后,欢迎大家与我交流,祝愿大家都能拿到满意的offer。
Android进阶学习路线
面试真题分享
需要以上资料的同学,可以点击这里来找我获取!
以上是关于追梦要趁早:双非3年Android混子跳槽字节面经分享(已拿offer)的主要内容,如果未能解决你的问题,请参考以下文章
仅一年工作经验成功跳槽字节跳动,腾讯并拿到字节的offer,全靠这份面经!
双非渣本逆袭面经!历经三个月拿下字节offer,平凡人也能进大厂!