Android大厂面试题大总结(小红书、快手、微信、抖音.........)金三银四抓紧准备

前言

还有一个月就要过年了,过完年紧接着就是“金三银四”招聘季,在过年期间只想着吃吃喝喝,这习是学不了一点,那咱们就得要趁着过年前这段时间开始恶补Android面试题,才好在“金三银四”上实现弯道超车。

话不多说,想着就来看看23年小编亲身经历过的大厂面试题吧,希望能给大家带来一定帮助!!!!

在这里插入图片描述

小红书Android面

Java篇

1、静态变量和实例变量的区别
2、“==” & equals()
3、浅拷贝 & 深拷贝
4、HashMap , 扩容机制
5、多个线程如果共享多个资源,需要怎么保证安全
6、volatile,CAS/ABA

Android篇

1、事件的分发机制
2、Handler原理
3、TCP UDP
4、Kotlin和Java的区别
5、启动优化
6、内存优化
7、多进程通信

快手 Android

1、Android/ 布局优化
2、Activity启动模式
3、RecyclerView和ListView区别
4、Handler机制,loop方法为何不会造成ANR
5、View绘制流程
6、SingleTop和standard启动模式下,生命周期回调有何不同
7、onStart和onResume区别
8、Java/ 面向对象三大特性
9、Array和Linked区别
10、HashMap底层
11、进程间通信方式
12、equals和==区别
13、线程间加锁的方式
14、知道啥设计模式
15、synchronized的不同使用
16、异常
17、线程池
18、创建线程的方式
19、OS/ 死锁
20、网络/ tcp和udp的区别

爱奇艺Android工程师

1、介绍项目
2、Android布局嵌套深有什么问题
3、kotlin协程
4、HashMap原理
5、算法:手写快排
6、Activity启动模式
7、Activity A → B的生命周期在这四种启动模式下的状态
8、广播类型
9、有序广播如何实现的按顺序收到广播
10、持久化存储方式
11、SharedPreferences的格式
12、xml解析方式
13、json与xml的区别,json为什么比xml更好
14、Android view绘制流程
15、surfaceView
16、sp, dp, px的区别
17、机型大小适配
18、适配语言
19、ANR 什么时候出现,如何排查
20、Android动画
21、startService与bindService的区别
22、Service保活方式
23、java泛型,<? extends T>能否add元素
24、重写equals方法需要重写hashCode方法吗
25、ThreadLocal
26、wait,sleep,yield,join的区别
27、算法1:字符串全排列
28、算法2:删除链表中倒数第n个节点

微信视频号安卓工程师

Android:

1、讲一下Android发生Crash的整体流程
2、Native层Crash是如何捕获到的?
3、Java层Crash是如何捕获到的?
4、如何做到发生异常时不会杀死APP?在 UncaughtExceptionHandler.unCatchException方法调用Looper进行死循环可以
5、讲一下Handler机制
6、Looper的定时器是用如何实现的?
7、APK包里有什么?
8、APP在运行时是通过什么来获取到layout文件的?
9、讲一下surfaceview跟textview
10、Activity A 启动 Activity B 时,他们在同一个栈的情况下生命周期以及执行顺序是怎么样的?
11、Destroy()方法是什么时候调用的?

Java:

1、有什么线程同步的机制?
2、volatile关键字讲一下。
3、volatile如何实现可见性?
4、synchronize如何实现可见性?
5、volatile防止指令重排代码级别如何实现?

操作系统:

1、讲一讲操作系统内核态跟系统态的了解。
2、操作系统内核是什么?
3、操作系统内核本质上就是操作系统代码的常驻机构。
4、操作系统内核就是管理所有代码和数据结构的集合。
5、操作系统内核是软件和硬件之间的媒介。
6、为什么操作系统要有内核态、系统态的存在?
7、Linux有什么信号?
8、sigill信号在什么情况下会触发?

抖音社交Android工程师

一面:

1、项目
2、volitale与synchronized的区别
3、手写单例
4、匿名内部类如何持有外部类对象
5、内存泄漏的概念
6、内存泄漏的场景
7、内存泄漏检测的工具
8、handler原理,sendMessage与sendMessageDelay如何保证Message放入MessageQueue中的顺序
9、两个Message相隔5秒,这5秒内线程会一直阻塞吗
10、自定义 View如何特殊处理wrap_content,padding的实现
11、MVVM和MVP 的区别(引出了一系列问题,不是很了解就直接说不了解比较好)
12、LiveData与RxJava的区别
13、LiveData生命周期感知如何实现
14、介绍RxJava
15、https与http的区别,中间人如何修改密钥
16、算法:二叉树z字形打印

二面:

1、项目
2、final、finally与finalize的区别
3、java开启一个线程的方式
4、Thread.start()与直接调用run()的区别
5、Java默认提供了几种线程池
6、thread{ i++ }执行10次结果,如何让i最后等于10
7、synchronized与reentrantlock区别
8、死锁
9、悲观锁乐观锁
10、gc垃圾回收
11、垃圾标记阶段,Python如何实现的断开循环引用
12、Retrofit返回的是什么数据类型
13、服务器返回的数据有哪些类型,为什么不能用xml类型返回
14、请求数据这个过程发生了什么
15、get与post请求的区别,get与post携带数据的区别
16、java注解
17、kotlin扩展函数原理
18、算法:两个链表相加

三面:

1、main方法执行之前发生了什么
2、System.out.println(“a”)将字符输出到屏幕发生了什么
3、双击QQ发生了什么
4、浏览器输入url发生了什么
5、根据前序遍历和中序遍历输出后序遍历
6、如果排期只有一周的任务,但是以我的能力需要两周才能完成,这个时候你会怎么办。
7、k个一组反转链表

抖音电商Android工程师

一面:

1、MVVM
2、Dagger原理
3、livedata原理
4、进程和线程
5、操作系统IO模型
6、进程通信方式
7、管道通信原理
8、TCP协议如何实现可靠传输
9、UDP如何实现可靠传输
10、java创建线程
11、线程池原理
12、线程池拒绝策略
13、synchronized与reentrantlock实现方式的区别
14、AQS原理
15、handler原理
16、Retrofit原理
17、算法: 二叉树右视图 — 非递归实现

二面:

1、Navigation的优缺点
2、如何实现的自定义navigate方法切换fragment,如何让被覆盖的fragment感知到生命周期
3、gc如何判断垃圾对象
4、成员变量与局部变量的区别,局部变量的值一定是存放在堆中吗()
5、jvm类加载的时机
6、jvm类加载过程
7、双亲委托机制是什么
8、双亲委托机制什么时候会被破坏
9、内存泄漏是什么
10、volatile的作用
11、写一个死锁
12、算法:判断A是否是B的子树

三面:

1、自己是如何学习Android的
2、实习过程中的难点说一个
3、实习过程中和哪些人接触的比较多
4、如何和别人沟通的
5、挑一个项目说一下
6、里氏替换原则
7、http状态码
8、http多路复用
9、数据库
10、算法 汉字表示的数字转成阿拉伯表示。

小米android开发

1、http与https的区别。
2、Java构造器工作工程。
3、Java中的引用类型有哪些。
4、http,http1.1,http2.0有啥区别。
5、TCP/IP最大容量的意义是什么?
6、还有Integer与int类型区别?各自怎么比较大小?
7、还有垃圾回收机制还有final的用法
8、为什么HashMap在1.8中采用了红黑树?你能说下啥是红黑树吗?啥是平衡二叉树?啥是二叉搜索树?啥是满二叉树?
9、Java1.7采用数组加链表与1.8采用红黑树有啥区别?
10、HashMap 线程不安全原因是啥?分版本作答
11、如果线程安全的话 要用哪个?我说Hashtable。他说HashTable效率太低,怎么安全又效率高?
12、对称加密与非对称加密?
13、SSL是干嘛的?

美团移动端一面

1、jvm内存模型
2、new 对象的过程
3、类加载过程
4、ClassLoader源码
5、final关键字
6、匿名内部类
7、讲下垃圾回收算法
8、LinkedList && ArrayList
9、hashMap
10、常用注解,spring中的注解
11、锁,synchronized底层原理
12、https && http
13、浏览器输入地址后的过程
14、状态码 303 304
15、你知道的设计模式
16、单例模式 说了双重校验锁,静态内部类 ,不同场景下如何选择
17、双重校验锁为什么要两次判空
18、volatile,指令重排

补充:

篇幅原因无法展示更多内容,其所有内容都整理成了面试小册,包含了据结构与算法、Java基础、深入泛型与注解、并发编程、虚拟机原理、反射类、网络编程、Kotlin、高级UI、Framework内核源码、组件内核、性能优化、开源框架等。下方二维码可以直接获取。

在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2024-01-09 14:30:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-09 14:30:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-09 14:30:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-09 14:30:03       20 阅读

热门阅读

  1. 英语面试-BUAA

    2024-01-09 14:30:03       38 阅读
  2. App更换图标

    2024-01-09 14:30:03       52 阅读
  3. Matlab矩阵嵌套

    2024-01-09 14:30:03       38 阅读
  4. MySQL[常见的面试题]

    2024-01-09 14:30:03       31 阅读
  5. C# 学习笔记-基础与变量

    2024-01-09 14:30:03       31 阅读
  6. ubuntu升级22.04

    2024-01-09 14:30:03       38 阅读
  7. 【ChCore Lab 00】ChCore Lab 环境简单搭建

    2024-01-09 14:30:03       31 阅读