美团快驴系统开发工程师面经
投的大数据开发工程师,被捞为系统开发,泡池子中...
1面:
1、项目的数据来源?怎么想到做这两个项目?2、算法题:合并有序数组A和数组B到A中,假设A有足够大的空间。可以把代码再简化一点。找一些目前有的方法还可以把代码简化。
3、java里用过哪些集合相关的类。list的arraylist和linkedlist的优缺点?set用过哪些,hashset和treeset的区别。定制某些对象的排序规则怎么实现?
4、TCP和UDP;
5、用过并发里多线程相关的东西吗?callable怎么实现的?暂停一个线程的运行怎么做?sleep和wait有什么区别?能直接调用一个线程的wait方法吗?
6、线程池有了解吗?
7、重载和重写的区别?
8、异常了解吗?exception里面分哪两类?再往下有什么了解呢?比如说自己写代码的时候,怎么定义异常?什么时候定义编译异常还是运行时异常?
9、CAS了解吗?乐观锁了解吗?
10、对数据库了解吗?数据库里的索引能简单说一下吗?
11、组件索引大概的实现机制。为什么索引不用二叉树而选择btree吗?(磁盘io)
12、mysql表怎么取前50条数据。取从50-60条。
13、mysql里对某个字段创建了索引,查询的时候什么时候用不到这个索引?什么场景下,查询条件里有这个字段,但最终没用到这个索引。
where里面用到了索引的字段,但是可能是以其他的方式出现的。
14、查询语句执行的很慢,怎么分析?explain
15、如果实现公平分配?A订单分为BCD三个订单,BCD有各自的权重,保留两位小数,怎么实现公平分配?
2面:
1、你自己搭建的这样的系统吗?
2、为什么要用sparkstreaming?sparkstreaming用来计算什么?举两个例子。
3、kafka底层的结构有研究吗?
4、算法题。学生分数相同的分为一组输出。
5、阅读过源码吗?什么是AOP。
6、你搭的工程,工程的框架是什么。redis和kafka这些相互之间怎么通信的?
7、实时电商系统是为了编程还是看了案例。springboot底层源码没有学习?
8、你选的组件都是你自己下载从网上安装的嘛?
9、代码的管理和版本的管理,怎么做的?
10、开发工具是什么?
3面下次有空了再发。。。
#美团##数据开发工程师##面经##校招#