美团配送客户端开发一面
- 自我介绍+项目介绍
- hashmap原理(下面是延申)
- 为什么要用红黑树
- 红黑树查找原理
- 红黑树比链表快就是它用了二分查找这种方式吗?
- hashmap是线程安全的吗?不是,那怎么解决?(答了hashtable和concurrenthashmap)追问两者原理以及hashmap的锁类型
- 平时遇过线程安全方面的问题吗?
- 线程安全怎么处理?
- 加锁的使用方式,心得或平时使用的处理方式
- 队列、栈的区别
- JVM内存原理、内存区域
- JVM线程模型(那部分是共有的,那部分是线程私有的)
- JVM栈里有什么
- 队列用过吗?(答没,面试官想引申)
- 链表用过吗?ArrayList和LinkList的区别,都是线程安全吗?怎么解决这两者的线程安全问题?(答了Collections.synchronizedList和vector,后追问synchronzedLsit原理以及加锁位置以及vector实现方法)
- 遍历过程删除数组元素怎么处理(答了迭代器的move()函数和fast-fail情况,但面试官似乎不太满意这个异常,他似乎是想要我回答并发的问题)
- 类加载器class loader了解吗
- 内存回收的原理
- 如何判断对象可以被回收
- java的引用类型有哪几种
- 设计模式有哪几种
- 对象拷贝
- 线程和死锁,什么情况下会死锁以及死锁的解决方法(后来提示了是wait()、notify()、synchronized这方面,这个不会,希望有人可以在评论区告诉我)
- java设计模式,单例模式
- 因为简历里写了安卓开发,所以后面问了一些安卓方面的问题:
- 安卓Activity有几种模式
- 安卓图片加载与展示,图片过大怎么办
最后做了一道算法题:
删除排序链表中的重复节点https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/