最后
考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档
喜欢的朋友可以关注、转发、点赞 感谢!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
滴滴一面挂
-
快手简历挂
-
字节offer(三轮技术+一轮HR)
-
美团HR面(三轮技术)
-
腾讯HR面(三轮技术)
-
非技术准备方面
-
离职原因方面
其实大家换工作无非钱少了,环境不好,没成长三种原因,但是面试在讲离职原因的时候一定不要过于实诚,请尽量往个人发展这个方向上靠拢,切忌一定不要说现任公司的坏话,尤其是跳槽频繁或者像我这种第一份工作不满两年的,一定要想好自己的离职理由,我有几家公司明显技术答的还行,但是因为离职理由挂掉的。
- 简历投递顺序方面
如果你对自己很有信心的话,可以直接投你的意向公司,如果信心不够强烈建议跟我一样先面几家体量不那么大的公司涨涨经验看看现在外面的行情,然后再投自己中意的公司。
- 心态准备方面
既然准备了要离职,就不要被任何其他事物影响心态,心态真的很重要。刚开始面试的时候我真的是处处碰壁,面一家挂一家,后来在一家面试过程中被面试官疯狂嘲讽,面完之后怀疑自我,是不是自己真的太菜了找不到工作。后来也辛亏隔天有一家公司给我发了offer,让我明白了不是自己的问题。工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己,一定要自信。
- 技术准备方面
刚开始面试的时候是准备把面试过的所有家都写详细的题目出来的,后来发现写了面经发在博客的都挂了,也不知道是什么奇怪的玄学,后来就没发过了,不过其实面过来面过去就那些问题,就像下边这样整体总结一下
吧。
相关的题目答案以及Android复习资料我已经整理好放在GitHub上了,有需要的朋友可以自行查看
-
Java
-
怎么判断一个字符串的字符个数,比如说中文
-
Java的异常机制,为什么这么设计,什么时候用什么
-
HashMap,经典的就不一一列举了,说几个可以拓展的
-
解决hash冲突的方案有哪几种
-
1.7和1.8有什么区别(链表头插尾插方面)
-
hashmap高并发场景会怎样
-
高并发链表成环会有什么问题
-
hashmap扩容时到底干了什么(位运算过程)
-
concurrentHashMap原理
-
String,StringBuilder,StringBuffer
-
ArrayList多线程下会有什么问题
-
内部类持有外部类引用的原理是什么
-
volatile有什么用,原理是什么
-
为什么会有StackOverflow,stack的大小是多少
-
虚拟机
-
Java虚拟机和Android虚拟机有什么区别
-
Android两种虚拟机有什么区别
-
类加载过程
-
内存模型
-
四种引用类型
-
class文件格式
-
synchronized底层实现原理
-
synchronized放在普通方法和静态方法上有什么区别
-
synchronized的锁实际是保存在哪里的(对象头)
-
双亲委派机制,为什么要用双亲委派机制,如何打破双亲委派机制
-
内存收集整理的算法
-
Android
-
Activity
-
Activity的生命周期
-
dialog会不会影响Activity生命周期,为什么
-
Activity的启动模式(还会伴有场景让你说这种场景选哪个合适)
-
Activity任务栈以及taskaffinity
-
Service
-
Service存在的意义是什么
-
startService和bindService的生命周期
-
startService和bindService的区别
-
startService和bindService分别适合应用在什么场景
-
Service可以执行耗时操作吗
-
IntentService和Service的区别
-
Service和线程都可以用来执行后台任务,为什么选Service不选线程,明明线程用起来更简单
-
broadcastreceiver
-
广播的原理是什么
-
View的绘制流程
-
详细讲一下View的绘制流程有哪些
-
View的第一次绘制是怎么调到的
-
View的后续绘制是怎么调用的
-
View的onMeasure,onLayout,onDraw都分别用来干什么
-
除了上面三个,还有哪些关键的方法
-
invalidate的原理
-
invalidate和requestlayout的区别
-
requestlayout的作用范围是多大
-
一个View被添加后第一个回调的方法是哪个(onAttacthToWindow)
-
为什么View.post能拿到view的宽高
-
讲一些字节做过的自定义VIew的例子
-
触摸事件分发
-
讲一下Android事件分发的流程
-
怎么处理滑动冲突
-
怎么判断手势
-
讲一些自己做过的处理滑动冲突的原理
-
事件分发
-
handler这套机制的原理
-
IdleHandler是什么
-
handler的postDelay怎么实现的
-
Message有个缓存池,缓存池大小是多少知道吗
-
MessageQueue的中没有消息的时候为什么不会ANR
-
知道epoll的底层原理吗
-
epoll是阻塞的吗
-
ANR
-
ANR是什么
-
ANR的原理
-
什么情况下会发生ANR
-
如何检测是否发生了ANR
-
SharedPreference
-
SharedPreference原理
-
SharedPreference的优化
-
SharedPreference的commit和apply区别
-
什么情况下会选择用SharedPreference
-
序列化
-
Serlizeable和Parceable的区别
-
什么情况下选择用哪个,为什么
-
有没有了解过别的序列化方法
-
RecyclerView
-
RecyclerView的缓存机制
-
RecyclerView和ListView对比
-
Recycler是怎么进行回收和复用的
-
LayoutManager怎么进行布局的
-
内存泄漏
-
内存泄漏的常见场景
-
怎么检查内存泄漏
-
Binder
-
Binder原理
-
Binder比起其他跨进程的通信方式好在哪
-
网络
-
HTTP报文格式
-
HTTP在网络体系架构中的意义是什么
-
HTTPS和HTTP的区别
-
对称加密和非对称加密
-
TLS四次握手的过程
最后
那我们该怎么做才能做到年薪60万+呢,对于程序员来说,只有不断学习,不断提升自己的实力。我之前有篇文章提到过,感兴趣的可以看看,到底要学习哪些知识才能达到年薪60万+。
通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【20k-30k】 薪酬的 Android 工程师,占到了整体从业者的 30.8%!
北京 Android 工程师「工资收入水平 」
今天重点内容是怎么去学,怎么提高自己的技术。
1.合理安排时间
2.找对好的系统的学习资料
3.有老师带,可以随时解决问题
4.有明确的学习路线
当然图中有什么需要补充的或者是需要改善的,可以在评论区写下来,一起交流学习。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
了整体从业者的 30.8%!
北京 Android 工程师「工资收入水平 」
[外链图片转存中…(img-ngoS5Hfj-1714979761471)]
今天重点内容是怎么去学,怎么提高自己的技术。
1.合理安排时间
2.找对好的系统的学习资料
3.有老师带,可以随时解决问题
4.有明确的学习路线
当然图中有什么需要补充的或者是需要改善的,可以在评论区写下来,一起交流学习。
[外链图片转存中…(img-szLyNRfg-1714979761471)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!