摘录自 https://mp.weixin.qq.com/s/ovtfTNNDDMBPtoa4VJ3K1g
https://www.jianshu.com/u/99fbfe78f558
「每个人总有一段这样的挫折需要你去克服,找工作不需要太急,只要你手上有本事,总会碰上伯乐的。」
道理我都懂,可是我做不到
我这个人现在越来越极端化,好听点说是一种追求极简生活理念的状态。比如最近在用微信的时候,就萌生出精炼我的朋友圈的想法,将一些联系少的;没啥好聊的;性格不合的;鄙视的;蔑视的;无视的;不想理的;厌烦的那些“好友”全部一清而空,做到所谓的,只和我认可的;我在意的;思想层次水平相近的;关系好的留下来,所谓留下精华,省事省心省力。而且我觉得这也是一种相互的过程,如果别人觉得我是个垃圾,那我要知道了,我只会劝他赶紧清空我,咱为他节省了时间和精力,免得回头人还嫌我在他朋友圈里碍着,一举两得,皆大欢喜,互惠互利,简单粗暴,共产主义,何乐不为。
不过我也认识到了我现在性格的极端化,我意识到了,所以才将他陈述出来,也是一种自省。
「短期复习计划」
http://weaponzhi.online/2017/02/28/%E7%9F%AD%E6%9C%9F%E5%A4%8D%E4%B9%A0%E8%AE%A1%E5%88%92/
下面列一下每日的日程和复习计划:
8:00 起床洗漱,吃早饭
8:30 Java学习
12:00 午饭
12:30 休息会
14:00 Android学习
17:00 健身房
18:10 晚饭
18:40 Android学习、代码观看、博客整理
21:00 娱乐时间
22:30 代码温习
0:00 睡觉
------小米公司-----
这个问题结束后,后面还问了几个非常有质量的问题,列举下:
String 为什么要设计成不可变的?
fragment 各种情况下的生命周期
Activity 上有 Dialog 的时候按 home 键时的生命周期
横竖屏切换的时候,Activity 各种情况下的生命周期
Application 和 Activity 的 context 对象的区别
内存泄漏相关的问题,比如在项目中的一些内存泄漏案例,怎么解决的,然后问了几种内存泄漏的情况,问了下该怎么预防,还问了平时用什么工具检测内存泄漏。针对你回答的,他会继续深入问,直到你实在回答不了为止。比如我说到
Activity 和 弱引用了,他就针对这两个问题深入了很多。
项目中遇到的重大问题以及当初是怎么解决的。
最后他又问了两个「数据结构」的算法问题,一个是链表逆序,另一个是求二叉树两个节点最短路径。特别是第二个问题,他给了非常多的限定条件,总感觉好像有意给我制造了难度,然后考察一下我的思维方式,这个问题上也探讨了非常久。
几个印象比较深的问题有:
序列化的作用,以及 Android 两种序列化的区别。
List 和 Map 的实现方式以及存储方式。
静态内部类的设计意图。
线程如何关闭,以及如何防止线程的内存泄漏
Linux 的一些常用指令
他问了几个很深的技术问题,都是跟 Framework 相关的,比如问我对 ANR 有多少了解,毕竟他就是研究这方面的真正大牛。然后就问了我几个常规问题,但这几个问题对当时的我来说并不常规:
你对能加入「小米」这样的一个机会,你是怎么看待的
你自我推荐下自己,讲一下我们如果要你,你能给企业带来什么样的价值,你有什么样的优势
你的职业规划是什么
你对「小米」公司是怎么看的
你有什么问题需要问我的吗
你对薪资的要求
这几个问题质量非常之高,当时我就感觉到,到终面了,这几个问题可能直接影响到我的成败。
--------一般面试题----------------
让我进去会议室做了张笔试,并且把我手机很友好的收了。题目质量还可以,考察了几个比较不错的问题,列举出来其中几个:
内存泄漏的根本原因
举出几种 HashMap 的迭代方式
数据库 SQLite 的一些操作。
静态内部类和内部类的区别
又问了几个质量比较高的问题,比如 Java 中堆内存和栈内存的区别,弱引用软引用区别,Serializable 和 Parcelable
的区别,ListView 的实现原理,Java 中同步方法。还问我看过什么源码,我就说了个事件分发和 Handler ,还说了一个在非主线程更新
UI 的可能性的问题,然后他就问了一些系统优化的问题,问了我做过什么系统优化,我就说了一些内存优化还有缓存和流量上面的优化,然后还说用
Freeline 插件提升编译速度,他说他们现在也在用,感觉还不错。
----------------------
技术上大多围绕平时开发中最常见的问题,但这方面我了解的也不是很好,只是大致看过,不深入,比如:
图片缓存策略
RxJava如何管理生命周期
Okio源码
OkHttp 中和 WebView 中Cookie是怎么处理的
Android 上Socket的使用
注解
Android 上的进程通信、共享内存问题
Webp 格式
他还给出了一些场景问我怎么解决,我听着总感觉是他们自己开发的时候遇到的问题,顺便问问我的思路,好像的确有的公司面试会把自己平时遇到的难解决问题拿出来问问。