【小红书面经-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#
全部评论
毕业找后端,论文项目写Android???
1 回复 分享
发布于 2024-03-28 20:21 广东
请问小红书面试手撕算法题在什么平台呢?
点赞 回复 分享
发布于 2024-03-21 16:06 浙江

相关推荐

2025 年 9 月 17 日自我介绍 / 项目背景1. 自我介绍。2. 你的 App 在哪些应用商店上架?当前用户规模是多少?3. 这个 App 分了哪几个主要模块(功能)?社交 / 即时通讯相关1. 社交功能是什么样的?有没有即时通讯/聊天?2. 聊天功能是怎么实现的?消息发送/接收的流程是什么?3. 聊天消息怎么存储(server / DB / 消息队列 等)?群组、好友列表、通讯录是怎么管理的?4. 消息推送你接入了哪些厂商(如 APNs、小米等)?到达率和典型延迟是多少?技术选型 / 跨平台1. 为什么选择 Flutter 做跨平台开发?优点和限制是什么?2. 如果需要用到原生平台能力,如何在 Flutter 中与原生通信(如何实现、常用方案)?3. 你了解 Flutter 的渲染流程吗?和 Android 原生渲染有什么差异?具体的渲染树(Widget/Element/RenderObject/Layer)是如何协作的?Dart / 并发 / 内存1. 你了解 Dart 的 Isolate(或类似并发模型)吗?什么时候适合用 Isolate?内存是否隔离?2. 在多线程/并发场景中,如何保证线程安全?synchronized 和 ReentrantLock 有什么区别?公平锁与非公平锁是什么?3. 线程池(ThreadPool)创建时有哪些核心参数?每个参数的作用是什么?(例如:核心线程数、最大线程数、队列等)Android / 底层机制1. Android 的进程间通信(Binder)原理是什么?除了 Binder,还有哪些进程间通信方式?各自适用场景是什么?2. 为什么 Linux 已经有很多跨进程通信方式了还要用 Binder3. Android 自定义 View 的绘制流程(create → measure → layout → draw)了解多少?自定义组件通常怎么实现?4. Handler 的作用?图片 / 缓存 /网络1. 项目中用到哪些图片库?图片加载库一般有几级缓存(内存/磁盘/协商/强缓存)?缓存的淘汰策略如何实现(LRU、LFU 等)?2. 网络层你用的是什么(如 dio 等)?GC / 内存回收1. Java 的垃圾回收(GC)策略你了解多少?分代回收(新生代/老年代)基本思想是什么?常见回收算法有哪些?算法 / 编程题1. 请写出一个算法:求二叉树的最大深度(并说明思路)。其他 & 反问1. 团队主要是做什么?(动态化/小程序容器,RN,WebView)2. 有没有用到在 App 内动态加载 APK(用到了动态加载class)天呐我感觉这个面试官超级无敌厉害,符合我对安卓大佬的想象,好多没答上来的……应该没有二面了
查看23道真题和解析
点赞 评论 收藏
分享
09-22 10:43
已编辑
门头沟学院 Java
面试官会根据我的回答继续深挖或引申到其他问题,我不会的地方也很有耐心的给我讲解,一小时高强度八股收获满满,发面经攒人品😋八股1. ThreadLocal原理,使用场景2. java的引用类型3. 线程池核心参数,如何设置线程池参数4. 线程池执行过程5. 线程池提交任务的方法submmit和excute有什么区别 (不会)6. 线程池提交任务失败如何感知 (不会)7. HashMap扩容机制,2倍扩容的好处8. HashMap的put和get方法的执行过程9. HashMap的key是否可以为null,为什么null默认存到下标0处10. 为什么链表到红黑树阈值是8,反过来是611. JDK 7—>8 HashMap从头插法变成尾插法了解吗 (不会)12. 使用过哪些JVM工具? (没用过)13. 双亲委派模型14. 如何打破双亲委派模型?有哪些经典设计是打破双亲委派模型的?15. lamda表达式用过吗 (不会)16. mysql中一条sql语句的执行过程17. order by执行过程?没有索引的情况下怎么执行的? (不会)18. redo log、undo log、bin log提交时机19. mysql有哪些锁20. 行级锁锁的是数据行本身吗?21. 主从复制执行过程,可能出现什么问题?22. 为什么要分库?为什么要分表?23. 分表之后,主从复制可能出现什么问题?24. mysql集群解决了什么问题?会产生什么问题?算法实现一个单例模式1. 为什么要在instance前加volatile和static2. volatile是如何实现可见性的?3. volatile还实现了什么功能,怎么实现的,加了哪几个屏障4. 为什么synchronized可以直接锁"类名.class",它为什么是唯一的5. 两次判断各自的作用许愿二面~9.17 更新一面一周后约了明天二面
点赞 评论 收藏
分享
评论
5
38
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务