简书第一篇博客,就以各大公司面试失败经历开个头吧。给以后的自己提供学习方向和面试的时候要注意的问题。总结就是一定一定要了解自己的项目,以及所使用的项目框架源码,他们实现原理,安卓的有可能要考到各种优化。
阿里巴巴(java研发工程师)
1、自我介绍
2、LinkedList和ArrayList的区别
3、TCP三次握手
4、TCP和UDP的区别
5、多态
6、有没有看过Retrofit源码
7、网络模型(OSI七层或五层)
8、指针和引用的区别
一开始太年轻,咳咳,以为报了就能过的那种。虽然问得都是基础,但答得并不是很好,加上对底层原理一无所知,嗯。
腾讯(Android开发)
1、自我介绍
2、针对我简历上的一个项目问的,滚动歌词是怎么实现的
3、为什么考虑到用Service?(我答不受activity控制)
4、android在什么时候会回收Service?根据什么判断回收哪个?Android回收机制?
没答出来,说了JVM的回收机制
5、频繁刷新歌词产生的耗电问题怎么优化
6、Kotlin方便在哪?扩展函数的实现原理?
7、对Rxjava有了解吗?
8、Rxjava工作未处理完退出应用会发生什么问题?(内存泄漏)
9、怎么解决这个内存泄漏的问题
10、读过哪些项目的源码(答了Okhttp)
11、讲一下Okhttp的实现。
12、对于Okhttp的底层协议了解吗
13、有使用过Socket编程吗
14、能来深圳工作吗(咳咳,既然不要我还问我)
哎,小哥哥面我的时候老发出无奈的笑笑,笑声蛮好听的说。事实证明还是太菜,很多问题都答不上来。
美团(Android开发)
1、自我介绍
2、选择你所做的一个项目来讲讲
3、学了什么课程
4、Android进程和线程的概念
5、进程间通信有用过什么
6、Android内存回收机制
7、Activity A跳转到Activity B,生命周期的调用?
8、先调用A的onPause()后调用B的onCreate()原理?
9、Rxjava原理?
10、多线程实例
11、求最大子区间和(手写代码)
我开电脑的时候电脑崩了····20分钟没开开,期间面试官还跟我尬聊一堆诸如你一个女孩子也对代码感兴趣啊···想保研吗之类的。
总结
虽然我面试都没过吧,但是跟这么多公司的大佬对话总有一种迷之美滋滋的感觉。不过还是因为太菜,代码写的也不够频繁,原理了解的不深。还是继续努力,好好学习。