当前位置:   article > 正文

腾讯、阿里、字节跳动android开发岗社招面经(1)

腾讯、阿里、字节跳动android开发岗社招面经(1)

5、Https加密原理。

6、HTTPS 如何防范中间人攻击?

7、Tcp和Udp的区别?

8、TCP可靠传输原理实现(滑动窗口)。

9、为什么tcp要经过三次握手,四次挥手?

10、Cookie与Session的作用和原理。

11、浏览器输入地址到反馈结果发生了什么?

12、客户端如何校验 CA 证书?

13、网络请求缓存处理,okhttp如何处理网络缓存的

14、请解释安卓为啥要加签名机制?

15、权限管理系统(底层的权限是如何进行 grant 的)?

16、client如何确定自己发送的消息被server收到

三、Android基础


1、说下四大组件生命周期?

2、说下onSaveInstanceState()方法的作用 ? 何时会被调用?

3、说下 Activity的四种启动模式、应用场景 ?

4、谈谈Activity和Fragment的区别?

5、Service的两种启动方式?区别在哪?

6、如何保证Service不被杀死 ?

7、广播有几种形式 ? 都有什么特点 ?

8、广播发送和接收的原理了解吗 ?(Binder机制、AMS)

9、ContentProvider的权限管理?

10、描述一下Android数据持久存储方式?

11、SharedPreferences的应用场景?注意事项?

12、了解SQLite中的事务操作吗?是如何做的

13、Android中进程和线程的关系? 区别?

14、为何需要IPC?多进程通信可能会出现的问题?

15、讲下View的绘制流程?

16、描述一下View事件传递分发机制?

四、Android中高阶


1.要做一个尽可能流畅的 ListView ,你平时在工作中如何进行优化

2.对于 Android 的安全问题,你知道多少

3.如何缩减 APK 包大小?

4.Android 与服务器交互的方式中的对称加密和非对称加密是什么?

5.设备横竖屏切换的时候,接下来会发生什么?

6.Android 启动 Service 的两种方式是什么? 它们的适用情况是什么?

7.请介绍下 AsyncTask 的内部实现,适用的场景是?

8.ThreadLocal 原理

9.RxJava 的功能与原理实现

10.ANR 是什么?怎样避免和解决 ANR?

11进程间通信机制,binder原理

12.序列化的作用,以及 Android 两种序列化的区别。

13.Android 中进程内存的分配,能不能自己分配定额内存

14.Android5.0~10.0之间大的变化

15.使用过什么图片加载库?

五、Android第三方库源码


1、网络底层框架:OkHttp实现原理

2、OKhttp针对网络层有哪些优化?

3、网络请求缓存处理,okhttp如何处理网络缓存的?

4、从网络加载一个10M的图片,说下注意事项?

5、网络封装框架:Retrofit实现原理

6、响应式编程框架:RxJava实现原理

7、图片加载框架:Glide实现原理

8、Glide如何确定图片加载完毕?

9、Glide内存缓存如何控制大小?

10、加载bitmap过程(怎样保证不产生内存溢出)

11、Android中软引用与弱引用的应用场景。

12、LruCache原理

13、Fresco与Glide的对比:

14、Bitmap如何处理大图,如一张30M的大图,如何预防OOM?

15、事件总线框架EventBus实现原理

16、内存泄漏检测框架:LeakCanary实现原理

17、leakCannary中如何判断一个对象是否被回收?

18、依赖注入框架:ButterKnife实现原理

19、依赖全局管理框架:Dagger2实现原理

20、数据库框架:GreenDao实现原理

六、性能优化


这个主要结合你所做过的项目问,一般面试官会问你项目做过哪些方面的优化,常见的问法就是:

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/667284
推荐阅读
相关标签
  

闽ICP备14008679号