美团安卓面经(got offer)
Lz笔试情况:AC两道,第三道66% 🌚,第二天被捞起来面试了...
面经中的问题不分先后顺序,内容大概如下:
技术一面:
1.生产者消费者模式(手撕代码)
2.wait 和 sleep的区别
3.String、StringBuffer 、StringBuilder的区别
4.String a = "abc" 和 String str = new String("abc") 的区别
5.谈谈四种引用
6.HashSet和HashMap的关系
7.HashMap与HashTable的区别
8.ConcurrentHashMap知道吗,ConcurrentHashMap在jdk1.8之后的优化
9.重写和重载的区别
10.谈谈Activity的四种启动模式,SingleTop和SingleTask启动模式的应用场景
11.图片的三级缓存是怎么做的?
12.Service的两种启动方式以及有什么区别
13.如何在Activity和Service进行通信
14.谈谈本地广播
15.binder机制
16.Handler消息机制,子线程可以创建handler吗
17.View的绘制流程,MeasureSpec(MS)知道吗?如何确定一个View的MS?那DecorView呢?
18.OkHttp的源码讲解,它涉及哪些设计模式
19.为什么TCP要三次握手,两次不行吗?
20.TCP与UDP的区别,OSI五层结构
21.死锁的四个条件
22.操作系统中页面置换算法
23.线程的所有状态
24.synchronized关键字(选择题,问题关键在于synchronized锁住的是哪个对象,针对普通同步方法和静态同步方法)
技术二面:
1.数据库的范式
2.数据库中事务的特性
3.用过的设计模式或者是安卓中遇到的设计模式
4.责任链模式有哪些优势
5.实现一个单例模式(写的是DCL)
6.DCL为什么要两次判断null呢?为什么使用volatile?
7.在浏览器输入一个网址到网页显示出来有哪些经过
8.DNS如何解析域名
9.HTTPS与HTTP的区别,HTTPS为什么安全
10.GC过程(判断对象是否存活,GC算法)
11.知道哪些数据结构,红黑树的特点
12.做过的安卓性能优化
13.内存泄露检测工具leakcanary的原理
14.RN开发和原生开发的区别
15.线程池的参数和工作流程
16.IntentService能用bind方式启动吗?IntentService的原理
17.M***bsp; MVVM架构
18.简历上的问题(RN中JsBundle增量加载实现)
19.你觉得在实习公司有哪些很重要的收获?
20.算法题:两个队列实现一个栈
21.HashMap的hash算法和扩容机制的原因
技术复试:
复试阶段没有问多少技术问题,大多聊的是如何学习安卓的,看过哪些书等等(后来发现面试官是项目leader)😂
#美团##面试题目#