来一份全面的面试宝典练练手,面试真题解析

前言

下面的题目都是大家在面试字节跳动或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:郭霖、鸿洋

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 Handler、Activity相关、Fragment、service、布局优化、AsyncTask相关、Android 事件分发机制、 Binder、Android 高级必备 :AMS,WMS,PMS、Glide、 Android 组件化与插件化等面试题和技术栈!

接下来我们针对字节跳动Android中高级面试展开的完整面试题

献上面经~

一面:

0.自我介绍完 , 说说项目 , 从第一个到最后一个;

1.问了常用布局有哪几种;

2.Activity生命周期有哪些 , 具体什么情况下回调;

3.问了进程间通信 , Binder、管道、socket等;

4.问了View事件的传递 , activity-window-decorview-view;

5.事件怎么从手指传递到activity的;

6.LongClick和OnClick分别怎么触发的;

7.说说Java类加载器 , Android有哪些类加载器 , android顶级类加载器是什么;

8.怎么自己加载一个类 , 不让父加载器去加载 , 自己load的话 , 怎么解决其它类加载器的引用;

9.说说内存优化(内存泄漏、大对象优化等) ;

10.说说openGL(举了一个实例 , 做一个画中画);

11.说说netty(之前项目提到过) , 基于什么线程模型 , 为什么能承载高并发;

12.说说你最擅长什么(说了x86项目移植 , 算法优化);

13.写一个排序算法 , 时间复杂度多少 , 怎么优化(写了归并 , 说了加希尔) ;

14.写一个常用的动画。

二面:

1、自我介绍?

2、很大数组中找第K大元素?

3、项目相关?

4、比较擅长什么语言?脚本性语言?

5、三次握手?

6、UDP数据包长度多少?

7、研究经历?

8、最近看的书?

9、对Linux环境的了解?

10、进程的状态有几种?

11、你觉得你优势的地方?

12、平时学习开发过程中遇到什么困难?

13、发表了几篇论文?

14、进程和线程的区别?线程池?

15、多线程要注意什么问题?

16、有什么想问的?

三面:

1、项目?项目难点?花了多久时间?

2、有了解哪些最短路算法?如果速度不够,你要怎么优化?

3、最近在看哪些书?

4、平时关注哪些技术?

5、进程与线程的理解?什么时候用进程什么时候用线程?

8、说一下平时的一些学习习惯?

9、团队沟通能力?

10、遇到的最困难的事情?

11、你有什么优势?有什么缺点?

13、对于OFFER怎么选择?考虑哪些因素?

14、有什么想问的?

最后

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值