小天才 安卓一面

  1. 自我介绍
  2. 本科期间有过哪些实践活动或实习经历?
  3. 有没有参加过编程相关的比赛?
  4. 快手实习期间主要负责哪些工作?具体流程是什么?
  5. 智能音量调节需求中,陀螺仪传感器不需要权限的原因是什么?
  6. 通过陀螺仪判断环境音量的技术原理是什么?
  7. 快手是否已实现判断环境音量的功能?
  8. 逆向反编译抖音源码的原理是什么?
  9. 网络破解中证书校验不通过的问题是如何解决的?
  10. 扁鹊 SDK 是开源的还是快手内部研发的?主要用途是什么?
  11. 快手实习期间最大的收获是什么?
  12. 如果重新做快手实习的工作,会有哪些改进

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

安卓客户端路线和校招面经 文章被收录于专栏

适合找实习、校招的26、27届及之后的同学,适合Java后端转客户端,快速抓住面试重点。如果需要安卓更详细的八股文 ➕ 面经对应的录音,可以看主页。

全部评论

相关推荐

04-30 07:55
东南大学 C++
一、自我介绍 / 经历亮点 / 岗位理解1.你先简单介绍一下你最近的经历,挑项目或实习里你觉得比较有亮点的讲一下。2.你们端智能这块的特征工程,主要是做什么的?3.你们这个项目本身负责采集吗,还是主要做中间处理?4.整个系统设计上大概是怎么分层的?5.业务方怎么定义和注册他们需要的特征?________________________________________二、设备特征缓存优化7.设备特征缓存优化这个需求,是 mentor 提给你的,还是你自己发现的?8.你当时接到这个任务后,是怎么思考和解决这个问题的?9.这个问题为什么会在高并发场景下耗时,它的根本背景是什么?10.你为什么会想到用缓存来解决?11.设备特征是会变化的,那你们怎么处理这个变化?12.为什么要分成 2 秒、10 秒、90 秒这几档?13.网络状态这种高频变化的特征,为什么是两秒?14.如果某些业务对实时性要求极高,比如 0.5 秒级别,你这套缓存怎么适配?15.如果同一个特征在不同业务、不同页面下要求不一样,你怎么设计整套特征供给和消费体系?16.如果不同业务场景对同一特征的刷新频率要求不同,你真正采集和计算时怎么定间隔?17.只要有人要求最短间隔,是不是整个系统都得按最短间隔跑?18.你觉得这个体系怎么设计,才能满足这种差异化需求?________________________________________三、特征计算触发 / 业务隔离 / 平台治理19.你们怎么限制特征计算不要无限制执行?20.如果一个事件可能触发很多脚本同时运行,你怎么管控?21.如果要限制并发执行任务数,那这些任务怎么选、谁优先?22.如果不同业务都说自己的任务重要,你作为平台怎么治理?23.这个治理过程以前可能靠人 review,那现在这个时代,你觉得还需要人一个个看吗?24.如果想用 AI 去替代人工 review 算法包,你觉得应该怎么做?25.如果让 AI 判断什么是合理、什么是不合理,你觉得提示词 / 规则里应该包含哪些信息?26.哪些特征或脚本应该被重点审查?高频的、复杂的、还是孤立的?为什么?________________________________________四、端上开发经验 / AI 在开发中的使用27.你在项目里面主要做的是 C++,对吧?28.除了 C++ 性能优化,你平时接的小需求是否也会涉及 iOS 和安卓两端?29.你们整个开发过程中会用 AI 吗?30.当时你们主要用哪些 AI 编码工具?31.你平时会用国产模型吗?________________________________________五、编程题:带 TTL 的 LRU Cache(允许 AI 辅助)### 题目要求实现一个线程安全的 **LRU + TTL** 本地缓存,请使用 Java 实现一个本地缓存类。### 代码框架```javapublic class LocalCache<K, V> {public LocalCache(int capacity) { }public void put(K key, V value, long ttlMillis) { }public V get(K key) { }public int size() { }}```### 功能要求缓存有最大容量 `capacity`;每个 key 支持 TTL(过期时间);get 时如果 key 已过期,返回 `null` 并删除;插入新 key 时缓存已满:- 先清理已过期元素;- 若仍满,则淘汰最近最少使用(LRU)的元素;如果 key 已存在,更新 value、过期时间,并刷新其 LRU 状态;需要保证线程安全;说明实现的时间复杂度,并说明如何避免因重复 put 导致过期堆中的旧记录误删新值。32.你先看一下这个题,先不用急着让 AI 出答案,你觉得它给出的方案方向有问题吗?33.它这里为什么要引入 version?34.version 是怎么避免旧数据误删新数据的?35.为什么这里要用小顶堆?36.小顶堆在这个设计里的作用是什么?37.如果堆里一共有 N 个元素,其中 K 个过期了,清理这 K 个元素的时间复杂度是多少?38.如果 K 很大,比如长时间没人请求、结果大量 key 一起过期,这个方案会有什么问题?39.在这种极端情况下,get / put 还能保持接近 O(1) 吗?40.如果你现在重新设计这个方案,你会怎么做?41.如果不用 AI,你最基础的思路是什么?42.纯 hash map + 双向链表 能不能先把 LRU 做出来?43.如果只在 value 里记录过期时间,会有什么局限?44.为什么说一旦加了小顶堆,就会把一致性和复杂度问题带进来?
点赞 评论 收藏
分享
发个面经积攒人品。1.  (开场)请做一个简单的自我介绍。2.  (算法题)实现一个时间复杂度最低的排序算法(给定正整数且已知最大值)。3.  (Java基础)Java的基本数据类型有哪些?4.  (Java基础)byte类型的取值范围是多少?5.  (Java基础)int占几个字节?6.  (Java基础)你知道Java的拆箱和装箱吗?7.  (Java基础)拆箱和装箱会带来什么问题?8.  (Java基础)它(指Integer的缓存机制)一定会有拆箱和装箱的开销吗?9.  (Java集合)Java里面的集合类分为哪些类型?10. (Java集合)List里面的ArrayList和LinkedList有什么区别?11. (Java集合)为什么会有这个区别?(指上一个问题中两个List的不同特性)12. (Java集合)ArrayList扩容是怎么扩的?13. (Java集合)为什么(ArrayList)扩容1.5倍?14. (Java集合)HashMap你了解吗?它是什么结构?15. (数据结构)为什么红黑树的查询性能(比链表)好?16. (数据结构)二叉(搜索)树的查询效率一定是O(log n)吗?17. (数据结构)那为什么不做一个完全平衡的(AVL)二叉树?18. (Java集合)HashMap的哈希算法是怎么样的?19. (Java并发)Java里面多线程编程,为了保证线程安全,有哪些技术?20. (Java并发)刚刚说的Atomic是怎么去实现线程安全的?21. (Java集合)HashMap是线程安全的吗?22. (Java集合)有哪些线程安全的Map实现?23. (Java并发)ConcurrentHashMap是怎么去实现(线程安全)的?24. (Android)安卓里面的Handler机制你了解吗?25. (Android)你刚刚提到的epoll机制,它是什么样的(通信机制)?26. (Android)安卓的那个RecycleView你了解过吗?27. (Android)安卓里面进程间通信的方式(有哪些)?28. (Android)你有了解Binder机制吗?29. (框架)看你简历上有提到Retrofit框架,你用过这个框架吗?30. (框架)Retrofit的框架是怎么去实现它接口调用的(机制)?31. (反问前)你那边有问题要问我吗?
查看30道真题和解析
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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