当前位置: 首页>后端>正文

2年Android开发经验,字节跳动、小米、OPPO、爱奇艺Android开发面试总结

本人双非本科,2年小厂Android开发经验,年初辞职后逼自己每天学习,因为想去大厂面试,最后也拿到了想要的结果,本文对这次的面试过程做一个总结。 因为咱之前的工作经历和背景都不出彩,所以我的计划是找内推,各种平台的信息我都刷遍了,几乎是看到大厂的内推消息就会去试试,阿里、腾讯、字节、OPPO、小米、爱奇艺等等,前期简历过的几率太小,中间做了大大小小的努力我才陆续收到面试邀请。

以下是我的面试题,一是想做一个记录,顺便也给大家参考参考

字节跳动

  1. 自我介绍
  2. 怎么理解堆和栈
  3. 调用的方法发生死循环 会报什么错 堆上的错还是栈上的错?
  4. ==和equals的区别
  5. 数组和链表的区别
  6. Java种List接口都有哪些实现类
  7. ArrayList和LinkedList原理,区别?
  8. 怎么理解Map
  9. HashMap原理
  10. 为什么要把链表转化为红黑树
  11. 怎么保证线程安全,比如同一个List,多个线程调用 (我说的synchronized和CopyOnWrite)
  12. synchronized修饰静态方法的时候,锁对象是什么
  13. 四层网络?OSI七层网络?
  14. 传输层有哪些协议,详细说说
  15. 进程调度算法
  16. 算法题:两个有序链表合并成一个有序链表

小米

1.怎么理解面向对象(继承和多态的关系)

2.synchronized关键字

3.为什么匿名内部类中引用的局部变量必须要加final

4.int和Integer

5.跨进程通信方式

6.activity启动模式

7.事件的处理机制

8.双亲委派机制

9.什么是OOM

10.Handler内存泄漏

11.Android广播发送和接收过程

12.view绘制流程

13.git的常用命令

14.bindler原理

15.AsyncTask是否异步,和Handler+Thread机制的区别

16.热修复的原理

17.Okhttp源码中的设计模式

18.算法:根据先序遍历和中序遍历求后续遍历

OPPO

1.常见数据结构有哪些?数组和链表的优缺点?

2.hashmap内部的数据结构与原理?为什么用红黑树?红黑树的结构,为什么更快?

3.常见的排序算法?堆排序?不会。快速排序?

4.java的异常处理流程?try,catch,finally的return问题,流程是什么?try和catch该执行的执行,finally中的语句一定会被执行的,但是放在缓冲区里,一般是最后执行,同时return会覆盖掉try和catch中的return。 5.java中的异常分类?(这里还有一个考点是expection和error)

6.为什么使用线程池?有什么好处?开辟的thread资源在哪里,需要开辟哪些内存?开辟线程的耗时?

7.线程池有哪些参数?线程池的流程?为什么需要等待队列,而不是直接放入非核心线程?

8.java垃圾回收机制,垃圾回收算法?

9.java如何判断一个对象被回收?GC ROOT包括哪些?

10.java类加载的过程?自定义的classloader是否可以加载自定义的String?双亲委派机制为什么这样设计,会导致什么样的问题?

11.http传输的过程?dns机制?http请求头格式,http请求体?TCP传输层?

12.https传输的过程?证书里面有哪些内容,怎么检验他的安全性,原理?

爱奇艺

1.自我介绍

2.介绍项目
(对自己的工作项目进行阐述)

3.Android布局嵌套深有什么问题

4.kotlin协程

5.HashMap原理

6.算法:手写快排

7.Activity启动模式

8.Activity A → B的生命周期在这四种启动模式下的状态

9.广播类型

10.有序广播如何实现的按顺序收到广播

11.持久化存储方式

12.SharedPreferences的格式

13.xml解析方式

14.json与xml的区别,json为什么比xml更好

15.Android view绘制流程

16.surfaceView

17.sp, dp, px的区别

18.机型大小适配

19.适配语言

20.ANR 什么时候出现,如何排查

21.Android动画

22.startService与bindService的区别

23.Srvice保活方式

24.java泛型,<extends T>能否add元素

25.重写equals方法需要重写hashCode方法吗

26.ThreadLocal

27.wait,sleep,yield,join的区别

28.算法1:字符串全排列

29.算法2:删除链表中倒数第n个节点

小结

能够收到这些公司的面试邀请,而且能够顺利完成面试、拿到一些offer,很得益于我刷过的题和帮助过我的人,面试中问到的大部分我都曾刷到过,这种感觉太让人膨胀了。

整理不易,白嫖太易!有需要的读者朋友们可以关注一下。以上都可分享~


https://www.xamrdz.com/backend/3hq1924089.html

相关文章: