9月最新Android中大厂面经总结
  8GQSXwxgX6eP 2023年11月02日 31 0

个人介绍

Android移动客户端,北京被裁员已经两三个月了,第一,二周投了两周简历没有一个面试,异常焦虑!第三周投递渐渐有了几个面试,基本都是很小的创业公司或者新兴行业的公司,面试完基本都没有后续,包括已经面过BP的的没有反馈。一个月后才开始有了几个像样公司的面试像美团、腾讯、京东、字节等面试机会,字节、京东一面挂,美团三面挂,腾讯四面BP挂。现在对面试已经完全没有信心了,更没有心气了,招聘软件上的职位看了一遍又一遍还是那些岗位,该聊得都聊了,已读不回是常态,偶尔有个回的要了简历没有下文。

这里特别奉劝各位小伙伴,一定、一定、一定要有自己明确的规划,以及及时止损!!!

这次找工作,的的确确被锤很久,遇到过暖心面试官,也遇到过无良公司,还好一直坚持想找个自己相对喜欢的公司,还好结果还不错。

面试,无非就是一场技术交流。遇到不会的很正常,积极响应面对,主动尝试分析,尽力就好。这面试是否成功,有时候还真不是实力决定,不过实力有时候确实也能决定很多东西。

不管如何,一起加油~

本来想着记录面试过程以及尽自己努力去搜寻对应较好的面试答案,当个笔记和参考留存,奈何个人能力有限,也不想简简单单的就是背背题、抄个答案或者误导他人。知其然而不知其所以然,还是想后续抽空好好亲自测试走一下,真正的去掌握,所以本文不会单独的为每个面试官问我的问题特别注明对应的答案,我还是希望各位看官,尤其和我一样的小白,可以认真的思索下,假如面试官这样问你,你的答案会是什么?还有没有更好的回答?

虽然个人能力有限,但是还是希望做出一些正确引导,至少自己认为正确就好。

好了,废话就说到这,接下来就开始看面试题吧!

美团

  1. MVC、MVP和MVVM的区别?
  2. Kotlin协程的原理说一下?协程的分发器是如何分发的?了解协程构建器吗?
  3. OkHttp的流程说一下?拦截器的作用是什么?拦截器怎么实现TCP复用的?OkHttp相比其他网络框架有哪些优点?OkHttp中有哪些设计模式?
  4. HTTP和HTTPS的区别?
  5. HTTPS的具体的请求过程?
  6. 对称加密算法知道哪些?AES原理知道吗?
  7. Handler机制说一下?一个Thread可以有几个Looper,几个MessageQ,几个Handler以及他们之间的关系?为什么主线程不用创建Looper?
  8. 刚刚你提到了ThreadLocal,说下你对ThreadLocal的了解,为什么ThreadLocal中的Key是ThreadLocal,可以是其他的吗?为什么?(这里我瞎扯了避免内存泄露的问题)
  9. View绘制流程说一下?MeasureSpec参数作用?MeasureSpec参数和布局参数wrap_content,match_parant还有指定大小之间关系。
  10. 自定义View有哪些步骤,自定义View和自定义ViewGroup有什么区别?
  11. 手撕比较简单:链表是否有环、最大子数组和。

京东

  1. Java函数调用过程
  2. Volatile关键字的作用? 什么是可见性?
  3. 假定一个场景:在多线程环境下,线程A在10秒前对一个共享变量修改,线程B在10秒之后读取该共享变量的值,这种情况下需要加Volatile关键字吗?
  4. JVM垃圾回收机制
  5. 常用的垃圾回收算法?
  6. GC Root 引用的对象包括哪些? 标记的是有用的对象还是垃圾对象?
  7. 程序计数器的作用、特点
  8. 说说你对虚拟机栈的理解
  9. 说一下Java多态的原理
  10. 方法表是在JVM那个分区中?
  11. 什么是Fragment,有什么特点
  12. View绘制流程
  13. ViewRootImpl中的performTravesal方法在什么时机被调用,被谁调用
  14. ViewRootImpl有什么用,他和ViewRoot的关系
  15. requestLayout方法和invalidate方法的区别
  16. 算法:二叉树的层序遍历

得物

  1. 自我介绍
  2. 了解git嘛?
  3. git pull 和git fetch区别?
  4. Git merge 和rebase区别?
  5. 计算机网络七层模型?
  6. 进行一个网络请求时,会有什么过程?
  7. C++野指针?哪些情况会产生野指针?
  8. 全局变量没有初始化会发生什么?全局指针呢?
  9. 为什么会有默认值? 安全性、可预测性、方便性。
  10. 32位和64位系统int指针的转换会出现问题吗?
  11. 如果封装HTTP考虑哪些点?
  12. 项目问题
  13. 硬件解码了解? GPU解码等
  14. 如果给你一个乱序的RTP包,你怎么进行组装排序?
  15. 算法题:给定一个数组,它是先从小到大再从大到小排序。找出最大值?
  16. 给出多种方法,分析时间复杂度和空间复杂度。

OPPO

操作系统:

  1. 如何理解操作系统
  2. 操作系统的主要功能
  3. 什么是进程
  4. 如果只有一个处理器核,系统是如何运行多个进程的?
  5. 进程状态转换

Java:

  1. Java从编译到执行,发生了什么?
  2. 为什么会有JVM?
  3. Java中的几种对象引用,各自的特点

Android:

  1. Android框架结构
  2. 系统使用分层设计的优点?
  3. View绘制过程
  4. 是否在项目中使用过多线程,具体情景如何
  5. Handler机制
  6. Canvas原理

反问

腾讯QQ

  1. 介绍glide的整体运作流程(大概的系统框架)
  2. 平时写的demo,项目有考虑过屏幕适配吗?
  3. glide被存放到服务器上,当服务器上的图片发生改变的时候,手机会更新新的图片吗?
  4. glide去load网络资源的时候发了请求,它是发了什么请求?
  5. okhttp有使用吗?知道retrofit和okhttp的区别吗?
  6. okhttp知道实现原理吗?有看过源码吗?
  7. 有使用过kotlin吧?kotlin从你的角度来说跟java有哪些比较大的区别
  8. 使用过 .let .also 这些高阶函数吗?简单说一些 .also .apply的区别?
  9. 说一个kotlin非空的问题,你之前有打包过jar包,如果项目中用的是kotlin写的,对外提供写好的方法接口,你的函数声明里的参数是非空的,这种情况下你觉得是安全的吗?
  10. 可以大概说一下类加载机制吗?
  11. 知道双亲委托机制吗?
  12. 比如在String.kt里加了一个扩展方法,String本身是没有这个方法,那调用的时候是怎么一个流程?
  13. JAVA的集合都有使用吧?说下ArrayList和数组的区别?操作ArrayList有哪些需要注意的地方?
  14. 说一下ArrayList线程不安全怎么解决的?
  15. 说一下HashMap的实现原理for循环和foreach有什么区别?
  16. 有过大图加载经验吗?Bitmap加载数据很大,比如10mb怎么处理?
  17. 事件分发机制,有没有在demo或者项目中遇到需要处理Touch事件的情况?
  18. RecyclerView的缓存机制知道吗?有没有遇到过闪图情况?
  19. 多线程问题 - 死锁 的必要条件和解除死锁的方法?
  20. 从浏览器输入一个网址到页面渲染的过程
  21. 服务端一般用80端口接受请求,如果同时有多个连接,服务端是怎么区分这些不同连接的?
  22. 三次握手,如果服务端返回的ACK报文丢失了服务端和客户端会发生什么?
  23. 平常有使用过数据库吗?知道主键是个什么东西吗?有些操作需要更新到数据库,但是中间有很多步骤,怎么保证这些步骤一次性全部生效?
  24. 你C++怎么样?知道什么是虚函数吗?指针呢?指针的指针呢?智能指针呢?

算法题:

  1. 删除升序链表中所有重复的元素
  2. 单例模式

反问

同洲电子

四轮技术面

  1. Activity的启动流程
  2. 静态类的静态方法能不能被子类重写(不能,走的invoke-static指令,只有走invoke-virtual指令的才可能实现多态)
  3. Linux的启动流程
  4. 对Native层有没有兴趣
  5. 对做智能家居有没有兴趣
  6. 招一个应届生进来做app也是做,招你也是做,为什么要招你

顺丰科技

一轮技术面 总共三轮面试

  1. handler机制
  2. looper的唤醒是在Java还是Native层,怎么做到的
  3. HashMap,ConcurrentHashMap,HashTable有什么异同
  4. Binder通信机制
  5. 跨平台开发熟不熟悉
  6. 如何提高海外用户的访问速度,假设服务器在深圳。
  7. 如何学习一个新东西,有哪些执行步骤

百度

  1. 红包随机算法 是怎么做到的
  2. 写一个二叉树的深度度优先遍历,递归 非递归
  3. Android中LocalServerSocket是干什么用的
  4. binder的Native层代码看过吗
  5. Linux有哪些RPC机制
  6. 为什么android使用了Binder机制没采用共享内存
  7. 如果让你设计一套进程间通信的机制,你会怎么设计
  8. Linux的模块动态加载机制是怎么实现的
  9. 一个物理屏划分为三个逻辑屏,是靠谁来分发事件的。
  10. ConcurrentHashMap是不是绝对的线程安全。(final,绝对线程安全,相对线程安全,线程不安全)
  11. 线程池是如何管理线程状态的
由于文章篇幅有限,不能将面试过的所有面试题展示出来,但是我已经将求职过程中碰到的面试题整理成PDF文档了,有需要的小伙伴,可以点击下方课程链接详细了解!!!

https://edu.51cto.com/course/32703.html

9月最新Android中大厂面经总结_Java

第一章 Java方面

  • Java基础部分
  • Java集合
  • Java多线程
  • Java虚拟机
  • 9月最新Android中大厂面经总结_程序员面试_02

第二章 Android方面

  • Android四大组件相关
  • Android异步任务和消息机制
  • Android UI绘制相关
  • Android性能调优相关
  • Android中的IPC
  • Android系统SDK相关
  • 第三方框架分析
  • 综合技术
  • 数据结构方面
  • 设计模式
  • 计算机网络方面
  • Kotlin方面
  • 9月最新Android中大厂面经总结_多线程_03

第三章 音视频开发高频面试题

  • 为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
  • 怎么做到直播秒开优化?
  • 直方图在图像处理里面最重要的作用是什么?
  • 数字图像滤波有哪些方法?
  • 图像可以提取的特征有哪些?
  • 衡量图像重建好坏的标准有哪些?怎样计算?
  • ......
  • 9月最新Android中大厂面经总结_多线程_04

第四章 Flutter高频面试题

  • Dart部分
  • Flutter部分
  • 9月最新Android中大厂面经总结_Java_05

第五章 算法高频面试题

  • 如何高效寻找素数
  • 如何运用二分查找算法
  • 如何高效解决雨水问题
  • 如何去除有序数组的重复元素
  • 如何高效进行模幂运算
  • 如何寻找最长回文子串
  • ....
  • 9月最新Android中大厂面经总结_Java_06

第六章 Andrio Framework方面

  • 系统启动流程面试题解析
  • Binder面试题解析
  • Handler面试题解析
  • AMS面试题解析
  • 9月最新Android中大厂面经总结_Java_07

第七章 企业常见174道面试题

  • SD卡
  • Android的数据存储方式
  • Broadcast Receiver
  • sp频繁操作会有什么后果?sp能存多少数据?
  • dvm与jvm的区别
  • ART
  • Activity的生命周期
  • Application能不能启动Activity
  • ....
  • 9月最新Android中大厂面经总结_程序员面试_08

有需要的小伙伴,可以点击下方课程链接详细了解!!!

https://edu.51cto.com/course/32703.html

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

8GQSXwxgX6eP