2020年疫情下的Offer:年薪60W!安卓开发者必备!BAT最全面试PDF

415 阅读3分钟

前言

职场的金三银四跳槽季又来了,不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息,就是好多公司在优化裁员,作为求职者来说,面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能仍存在面试的焦虑。

这些题目是我之前的面试以及在金三银四中去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

主要分为以下几部分:

  • BAT面试专题
  • 线程面试专题
  • 网络编程面试专题

BAT面试专题

                                        

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

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

3、如何缩减APK包大小?

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

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

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

7、谈谈你对Android中Context的理解?

8、Service的onCreate回调在UI线程中吗?

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

10、谈谈你对binder机制的理解?

11、Android中进程间通信有哪些实现方式?

12、介绍下实现一个自定义view的基本流程

13、Android中touch事件的传递机制是怎样的?

14、Android多线程的实现方式有哪些?

15、Android开发中何时使用多进程?使用多进程的好处是什么?

16、ANR是什么?怎样避免和解决ANR?

17、Android下解决滑动冲突的常见思路是什么?

18、如何把一个应用设置为系统应用?

19、Android内存泄露研究

20、内存泄露检测有什么好方法?


线程、多线程和线程池面试专题

1、开启线程的三种方式?

2、run()和start()方法区别

3、如何控制某个方法允许并发访问线程的个数?

4、在Java中wait和seelp方法的不同

5、谈谈wait/notify关键字的理解

6、什么导致线程阻塞?

7、线程如何关闭?

8、讲一下java中的同步的方法

9、如何保证线程安全?

10、两个进程同时要求写或者读,能不能实现?如何防止进程的同步?

11、线程间操作List

12、Java中对象的生命周期

13、static synchronized 方法的多线程访问和作用

14、同一个类里面两个synchronized方法,两个线程同时访问的问题

15、volatile的原理

16、synchronized原理

17、谈谈NIO的理解


网络编程面试专题

1.网络分层

2.TCP/IP五层模型

3.三次握手与四次挥手

4.TCP为什么三次握手不是两次握手,为什么两次握手不安全

5.为什么TCP是可靠的,UDP早不可靠的?为什么UDP比TCP快?

6.http协议

7.http的get和post的区别

8.socket和http的区别

9.TCP与UDP区别

10.https

11.加密算法

12.Volley

13.OKHttp

14.Retrofit原理

15.Retrofit流程

16.Retrofit优点