开篇
说一下我大概的情况。渣本毕业,工作已经有快3年了,从高中就开始玩小破站。无论是学习还是日常放松都是在b站。大学主学的软件技术专业,所以,入职bilibili是我大学时期给自己定的小目标。
在学校,专业学的算中上的水平,课本知识和老师讲的东西基本消化的八九不离十,也自己动手写过属于自己APP,参与过一些社团协会共同开发的项目。
刚毕业时候,b站也有校招,满腔热血的参加了,准备了好久,结果还是没有被录用。当时,挺失落的吧,但是也并没有放弃我进B站工作的梦想。
7月份的时候一位学长知道我非常想进bilibili,特意告诉我B站有内推名额,问我要不要来试一下,我一口直接答应,然后把手里的工作辞掉了,破釜沉舟一把,宅家里半个月复习。将学校所学知识点,以及工作3年的积累经验都系统的归纳整理了起来。再过一篇,然后就是刷面经,面试场景练习等等等。
世间所有的付出终是有回报的,努力的耕耘,也没有被辜负。从离职到入职,一个月时间,顺利的入职了哔哩哔哩,也是要感谢网友们提供的宝贵经验,所以整理了一下,把我的面经整理一下也分享出来给大家。
正文
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、内存泄露检测有什么好方法?
这些就是我面试中被问的最多的问题,不管是大厂还是小厂基本上都有遇到的问题。
最后
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的点击这里领取Android IOC架构设计免费获取。
群内还有免费的高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。
e+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。**