27届小红书客户端一面面经

面试官是个小姐姐,爱笑,面试氛围比藤子轻松(也可能我准备的更充分了,藤子一面面试官也超级好但是我太菜了整挺尴尬),八股和项目问了35分钟左右,然后开始写算法,算法还是不熟练,开始的思路错了,和面试官讨论了会讨论出正确答案写了下,哎这块还是要加强,算法老是记不住
没录音,纯靠自己记忆;面试完我实习的组拉着开了俩小时需求研讨会导致问的啥几乎忘完了😅
----------------------------------------------------------------------------------------
1.自我介绍
2.看你项目中用了mvvm架构,能讲讲为什么要用这个吗 -- 围绕mvc,mvvm将了区别和联系,顺带将了下mvp
2.最近还有种架构是mvi了解过吗 -- 不了解
2.看你项目中用了多线程处理网络请求,handler如何使用 -- 吟唱message,messagequeue,looper,handler的原理
补:翻转屏幕过程中activity会经历从创建到销毁的过程,viewmodel是如何解决
3.能用kotlin协程和viewmodel实现吗 -- 有记忆,小唱
4.安卓应用从点击到运行之间的过程是怎样的 -- 之前看过忘了
5.浏览器输入网址后的一系列流程是怎样的
补:如果是https协议,这个过程可能有哪些改变 -- 在tcp三次握手前先进行ttl/tsl四次安全加密,还有端口从80变443?面试官哈哈一笑。。
6.kotlin和java的类加载机制有什么区别 -- 回答了java的类加载机制,猜测kotlin和java类似
7.垃圾回收相关的知识了解吗 -- 这次把垃圾回收算法讲明白了,还讲了垃圾回收器
8.讲讲kotlin/java中的引用类型 -- 强,软,弱,虚以及对应的应用场景讲了下
9.讲讲堆 -- 堆存放各线程和类的共享变量,常量,静态方法
10.内存结构 -- 堆,本地方法栈,虚拟机栈,方法区(元数据区),程序计数器
11.static加在方法和类上的区别(?好像是这个意思当时理解错了,回答估计也不对,面试官还好心把正确答案给我讲讲)
补,看别人面经发现问的就是这个:如果一个方法加上synchronized的修饰,一个静态方法加synchronized 有什么区别?
12.讲下sychronized -- 优化前重量级锁,优化后会进行锁升级,偏向锁,轻量级锁(cas),重量级锁(阻塞)
补充:java中的反射了解吗 -- 了解应用场景,原理是通过class字节码强行访问私有成员或方法,由于没用过所以了解比较浅
13.hashmap的底层实现 -- 刚开始没反应过来,说是map,她哈哈一笑,我突然想起来是链表加红黑树,赶紧弥补;说起来她一说hashmap我就一直等他问concurrentHashmap结果就是不问气死我了
14.如何解决hash冲突 -- 学校数据结构课讲的是偏移量,按照偏移到无冲突地方学校那一套心里没啥底的讲了下
15.如果有十个数据你会用arraylist存还是hashmap存 -- 没思考直接说arraylist,想了下说应该看具体什么数据,如果是键值对有联系需要根据key找value的就map,否则arraylist,数组的查找快性能开销低
16.hashmap的扩容机制 -- 扩容因子?没咋了解过按照分布式id号段模式和arraylist扩容作类比猜测和他们扩容方式一样,都是达到一定比例自动再申请一段空间

算法:对称二叉树
反问:1.业务
         2.个人发展方向
         3.团队有用flutter或rn吗,还是安卓原生开发

大体就想起来这么多,纯靠记忆间隔五小时后回忆起的一些问题,后续想起来啥再补充
全部评论

相关推荐

03-04 16:42
已编辑
东莞理工学院 Java
面试官基本上都是用安卓的术语去问JAVA相关的基础内容,不断的对一些基础内容进行深挖和对比,再结合着业务场景去问,有一些内容我感觉比较偏,回答出来了2/3左右,但是安卓相关内容回答的不是特别好1. 介绍一下你对安卓开发、安卓研发从工程角度的理解。2. 你对转到安卓开发这个岗位的认知是什么?3. 安卓平台有没有存在壁垒、需要深入经验才能做好的技术方向?4. 说说 ClassLoader 的整体架构和理解。5. ClassLoader 在安卓里有哪些应用场景?6. 利用 ClassLoader 怎么实现热修复?原理是什么?7. 反射在安卓上的使用场景、额外成本有哪些?能不能大规模用?对包体积、启动速度有没有影响?8. volatile 关键字能解决哪些问题,不能解决哪些问题?9. 双重检查锁为什么要加 volatile?10. synchronized 锁升级过程是怎样的?11. 锁竞争在安卓端会不会造成用户可见的卡顿?12. Protobuf、JSON、ProtocolBuffer 这几种序列化对性能、包体积的影响和权衡。13. 安卓里 NDK 有没有了解过?14. 说说对 Activity、Fragment 的理解。15. 协程怎么取消?16. 协程里 Job 存在的意义是什么?17. Kotlin 相比于 Java 有哪些独有的好用优势?18. 什么是密封类(sealed class),优势是什么?19. by lazy 和 lateinit 的区别是什么?20. 说说你对 WebSocket 协议的理解。21. 安卓数据库(如 SQLite)的索引是什么,底层结构?22. 安卓里内存泄漏是什么?有哪些例子?怎么排查和治理?23. 最长无重复子序列。个人感想:怎么说呢?感觉还是比较可惜吧,感觉离大厂最大的一次机会了,但是安卓相关的内容有些确实不知道,感觉到面试官是结合着JAVA去提问一些安卓的内容,然后想问一些相似的场景,但是比较可惜了,有些内容确实是不知道,也没有接触过安卓开发,还是好好沉淀,准备一下吧
查看45道真题和解析
点赞 评论 收藏
分享
03-13 09:22
已编辑
东莞理工学院 Java
📍面试公司:微派🕐面试时间:03/09💻面试岗位:安卓开发一面❓面试问题:1. 自我介绍,为什么投安卓而不是后端?2. 最近一段实习做了什么业务?遇到最大的困难是什么?怎么解决的?3. 礼物抽奖、奖池模块的完整请求链路是什么?4. 令牌池是什么?0和1分别代表什么?5. 高并发下如何保证抽奖概率稳定?6. 为什么用 Redis List 做抽奖?解决了什么问题?7. Lua 脚本在抽奖中作用是什么?为什么保证原子性?8. 高并发下如何避免令牌重复消费?9. 请求超时、服务异常怎么降级、兜底?10. 风控怎么做?业务兜底、用户兜底、熔断策略是什么?11. 安卓做过什么功能?具体场景、用到哪些技术?12. Glide 图片加载原理,多级缓存、LRU、懒加载怎么实现?13. LRU 算法原理,用什么数据结构实现?为什么用 LinkedHashMap?14. HashMap 底层结构?链表转红黑树条件?为什么要用红黑树?15. HashMap 扩容机制?负载因子作用?16. Java 并发三大问题:原子性、可见性、有序性怎么解决?17. volatile 作用、原理、使用场景?18. synchronized 底层原理?MarkWord、WaitSet、EntryList 作用?19. sleep 和 wait 区别?20. 什么是死锁?怎么写代码模拟死锁?21. 线程池执行流程?核心线程、队列、最大线程、拒绝策略?22. 安卓多线程、协程用过吗?挂起函数怎么理解?23. AIDL 了解吗?多进程通信怎么做?24. C/C++ 掌握程度?25. 网络优化做过哪些?序列化、连接池、IO 模型?26. Ping 原理?ICMP 协议作用?数据包的结构?27. MCP 广场是什么?业务价值、怎么封装、怎么调用?28. RAG 个人知识库怎么做的?向量检索、BM25、多路召回?(叫我现场打开cursor看看怎么使用ai开发的)29. 算法题:买卖股票的最佳时机(只能买卖一次和买卖多次)。30. 对公司业务、面试轮次有什么想问的?🙌面试感想:这次面试感觉面试官非常非常细节,在我说完我的实习项目之后,他觉得我说的太快了听不懂,叫我一个个拆解,把对应的流程功能点遇到了什么问题分点详细的跟他说,并且没听明白就会再问一遍,一定要懂了才会到下一个点,对于部分的技术实现也是刨根问底,问完了对应的一个技术之后还会问相应的底层实现和使用的数据结构,整体感觉这次面试的难度也是比较困难的,但是面试官感觉人挺好的技术也非常在线,学习到了很多东西,一面过,明天更新二面
查看29道真题和解析
点赞 评论 收藏
分享
03-10 18:46
已编辑
门头沟学院 UE4
今天你投了哪些公司?
点赞 评论 收藏
分享
评论
8
12
分享

创作者周榜

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