android开发要学什么语言

前言

准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事情,谈不拢的话,就年后直接找其他的公司。谁想到婚假还没休完,老板就在公司宣布了撤出上海的决定,愿意去深圳的就去,不愿意的就自己找工作,给了一个多月的时间找工作,就没有赔偿了,反正公司也没钱。悲哀….

幸好提前准备过,不过都是断断续续的今天看点这个,明天看点那个,三天打鱼两天晒网的,也没用心去准备.这下好了,直接到了最差的地步了,没办法,用心准备吧。

BAT面试专题

android开发要学什么语言

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优点

最后说一下我的学习路线

其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:

  1. 架构师筑基必备技能
  2. Android框架体系架构(高级UI+FrameWork源码)
  3. 360°Androidapp全方位性能调优
  4. 设计思想解读开源框架
  5. NDK模块开发
  6. 移动架构师专题项目实战环节
  7. 移动架构师不可不学习微信小程序
  8. 混合开发的flutter

android开发要学什么语言

Android学习的资料

我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。需要的小伙伴可以私信我【进阶】我免费分享给大家,或者直接点击下面链接领取,谢谢大家这么久以来的支持。

Android学习PDF+架构视频+面试文档+源码笔记

如果你有其他需要的话,也可以在GitHub上查看,下面的资料也会陆续上传到Github

330页PDF Android学习核心笔记(内含上面8大板块)

android开发要学什么语言

Android学习的系统对应视频

android开发要学什么语言

总结

我希望通过我自己的学习方法来帮助大家去提升技术:

  • 1、多看书、看源码和做项目,平时多种总结

  • 2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理

  • 3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习

  • 4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!