0
点赞
收藏
分享

微信扫一扫

“倒在”金三银四,大牛手把手带你

茗越 2022-02-02 阅读 58

5、三级缓存

(1)内存缓存,(2)本地缓存,(3)网络

6、用过mvp框架么?mvvm是什么?mvp是什么?为什么会出现mvvm?

7、说下View,ViewGroup事件分发机制?

8、做过哪些性能优化?

(1)渲染优化,(2)内存优化,(3)耗电优化

9、内存泄漏原因?如何避免内存泄漏?

10、Android内存管理是怎样的?

11、Java内存模型,介绍下?

12、TCP握手协议是怎样的?

13、Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?

14、Serializable 和 Parcelable 的区别

15、String,Stringbuffer,Stringbuilder 区别

16、Binder机制原理,Android为什么要采用 Binder 作为 IPC 机制?

17、Android中的几种动画介绍下

18、加载大图,你是怎么做的?

19、ANR是什么?怎么避免ANR?

20、为什么要用 ContentProvider?它和 sql 的实现上有什么差别?

21、SurfaceView和View的区别是什么?

22、Dalvik虚拟机与JVM有什么区别?

23、线程间的通信方式?不是进程间。

举例:抛出一个问题。

是否使用过volatile?你觉得它是线程安全,还是不安全的?如果你答安全的,我会继续问你,为什么?然后我再问你是否使用过synchronized?

它和volatile区别是什么?如果你答不安全,我依然继续问你,为什么?

再抛出一个问题。

有用过Java哪些并发容器,如CopyOnWriteArrayList、ConcurrentHashMap等,如果你答第一个,我会问你使用时需不需要加锁,你说要?我会问为什么?

不要,也会问为什么?然后再问它的原理是怎样?当然还可以持续问很多。如果你答第二个,我会问,ConcurrentHashMap的内部结构是怎样?如果你能说到链表,我会继续问,什么时候链表会变成红黑树?或者什么时候用的是链表,什么时候用的是红黑树?

如果一面,10个问题答对6个以上,基本上就过了。二面的话。会持续再深挖,抛出一个问题,或是你项目中遇到了的一些问题。如果你不了解,那么就再问其他方面问题。持续深挖。看能掏出多少满意的东西。三面会从更小细节去问。基本要答对80%的问题,才会过,否则还是没过。

因为关系能否到HR面。通常来说一轮过了,2-3天会有人继续面你,否则就是没过。也不会有通知。可以选择考虑其他公司了。不是能力不行,只能说双方不适合,或者候选人没有呈现自己牛逼的地方。

面试前的准备

大公司既然重基础,那么面试前一定要好好学习和准备一下这方面的知识。干什么事之前,一定要充分了解情况,古人说的话,还是挺对的,毕竟是 2000 多年来总结出来的经验,面试就是战场,知己知彼才能百战不殆

上面的例子的问题,典型就是不了解自己,也不了解大公司的套路,准备不足,所以才失败的。平时学习的时候,应该要知其然知其所以然才行,然后再多学学算法,原理和一些计算机基础就更完美了。并不是会做就行,基础扎实,才能做得更好。

面试复习笔记:

这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
给文章留个小赞,就可以免费领取啦~

戳我领取:GitHub

《960页Android开发笔记》

《1307页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

[外链图片转存中…(img-MfyQc7ua-1643795038318)]

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

举报

相关推荐

0 条评论