一面
项目:
1、介绍以下你的项目,你觉得最有成就感的地方在哪里?
2、MVP架构指的是什么?和MVC架构有什么区别?MVC架构又是什么?
3、线上点餐系统你还写过C端?介绍一下?
4、你Android了解多少?你知道四大组件吗?
Java:
1、final关键字怎么用?有什么问题?
2、synochrized关键字怎么用?
3、synochrized用在成员方法上锁的对象是什么?
4、voliate关键字有什么用?
5、面向对象说一说?
计算机网络
1、HTTP和HTTPS有什么区别?
2、输入网址后会发生什么? 响应后的数据如何渲染在浏览器上?
操作系统:
1、线程和进程的区别?
2、为什么并发线程访问全局变量不安全?
设计模式:
1、你知道哪些设计模式?
2、你知道观察者模式吗?
算法:递归写一个从1累加到n,解释一下。可以从栈的调用来解释。
二面
项目:
1、哪些地方用到多线程?
2、点餐系统实现了那些功能?用到了多线程吗?
Java:
1、ReentrantReadWriteLock怎么实现读读共享?
2、Java中有哪些锁?
3、阅读过哪些源码?
4、C++的四大指针和java中的四个引用知道吗?
5、知道哪些垃圾回收算法?
场景设计题:
1、1千万条大数据,20%是IOS,如何均匀存储在各个节点?
计算机网络
1、HTTP和HTTPS有什么区别?
2、HTTPS可以防止被劫持吗?
算法:计算1+2-3-(9+5)表达式
三面
第一题(逻辑和沟通):如何设计一个排队系统,针对不同的会员进行排队。
第二题(逻辑):对一个乱序的数据,只能用swap进行排序。每次swap产生索引下标相减的费用,如何最小化总费用。