【小红书面经-Android】终于上岸了,希望帮助到大家
希望下面的面试心得和知识点能帮助大家,帮大家早提Offer早上岸。面试心得和技巧也可以留言相互交流哦~。
先说说自己的面试经历
211院校,研究生,。从7月份开始就开始找工作。一开始投递的是后端的岗,面了知乎、携程、网易等,都挂了。连续挂好几次之后,感觉自己都快失业了。
后来和小红书的师兄聊,师兄告我我说今年后端和算法非常难找工作,淘汰率非常高,建议我转投客户端,客户端相对好找,而且待遇也超级的高。
其实之前也面了小红书的后端,但是面挂了。师兄告诉我,即使面挂了,要是转向客户端的话还有可能有捞起的机会!!!!!
我考虑了一段时间,期间阿里、京东等都给我发来的拒信表示祝贺。
我想活人还能被尿憋死不成,于是开始转向准备客户端,准备了一个月。师兄(内推链接:https://hr.xiaohongshu.com/recommend/job-list/XHSRC-0e3c38d3729e62dde02ad9b7a5d51f68)给我推了他们组。
Android相关
Activity的生命周期
(1)基础知识
http://www.cnblogs.com/lwbqqyumidi/p/3769113.html
onStart:可见/但是不能获取到焦点
onResume:前台,能获取到焦点(焦点:就是点击的意思)
onPause:失去焦点
onStop:不可见
onNewIntentSingleTask,SingleTop的情况 在里面调用setIntent(intent),更新Activity的Intent
(2)考点
ActivityA切换到ActivityB生命周期B的onResume会在A的onStop之前:只有第二个Activty切换到前台可点击的时候A才不可见 Acitiviy跳转的时候一定会onStop么:不一定,从onStop理解,onStop是不可见,那么透明Acitivity或者Dialog的话,那么该Activity仍然可见,只是没有焦点,因此不会只会触发onPause,不会触发onStop
切换到Home的时候,Activity的生命周期变化onPasue->onStop
onNewIntent的调用时机
onSaveInstance的调用时机
View的事件分发的过程
View绘制的过程
picasso的实现原理
EventBus的实现原理
binder的实现原理
计算机网络相关
HTTP协议
常见的加密协议
- 非对称加密算法:RSA, DSA/DSS
- 对称加密算法: AES, 3DES
- HASH算法:MD5, SHA1, SHA256
常见的压缩协议
JAVA相关
单例模式(很重要)
多线程
- 如何让一个线程执行完执行另一个线程t.join
- 如何让一个线程的某条语句执行完执行另一个线程:lock.await,lock.notify
JAVA的内存模型
synchronize和volite关键字和原理
HashMap和LinkedHashMap的实现原理,LRUCache的实现原理
- key匹配的过程:中间他设计了一个场景让我实现Double类型的存储,但是Double在key的匹配过程中,只需要比较整数部分。:实现的原理就是通过覆盖类的hashcode和equals方法,实现key的匹配相同。
- 双向链表的实现的过程
- Glide LRUCache实现的过程
算法
- 数组中超过一半出现的数字
- 其他都是场景题,不具有代表性,临场发挥的
面试总结
(1)一面
面试官不会太关注项目本身,主要是基础知识点的考察,把细节吃透,细节讲清楚,能将10分钟就不要讲5分钟。面试时间就这么长,你可以少被问两道题。小红书的面试官的特点是根据知识点,给你场景题,让你去解决问题。这个时候要活学活用,不会没关系,主动问他,让他给你提示思路。千万不要一个人闷着想。
(2)二面
二面的面试官,问的比较广。但是似乎不是很注重细节。我在这儿吃亏了,感觉他 不注重细节,就没讲。导致他问了我一堆问题。重点还是对于知识点 1)你要一点不懂,就直接跟他说不懂; 2)要懂一点可以告诉他你不太了解,但是可以猜怎么实现的;3)对于他题给你的场景题,你一定不能轻易放弃,不会要赶紧与他交换思路,根据他的提示尽力去解决问题,这个很重要,因为这考的就是你临场反应能力和对知识点的应用能力还有学习能力
(3)三面
三面的面试官一般会让你讲项目,我就将论文里面的东西。这个你最好是,讲一下项目的背景,还有项目中遇到的困难,以及自己如何去克服的。然后就是专业知识了。重点还是,不会想想之后让他提示,顺着他的思路去解决问题。
一切都是机缘巧合,感谢师兄指点,让我成功上岸!!最后帮师兄宣传一下,心动不如行动,简历投递起来把!!!
#面经##喜提小红书Offer#