面经-小米实习-服务端开发(大数据)

基本情况

今年秋招,准备的岗位是大数据开发岗,主语言是Java,记录一下面经。

小米暑期实习和日常实习好像是一个渠道,年前招聘网站上联系,2.8号收简历,2.9号约面试,2.10一面。

一面:60min

一、自我介绍

二、Java

1. String底层实现,StringBuffer线程安全

2. 多线程和线程池

3. 重载和重写的区别

4. 多态

5. equals为什么要重写hashCode方法

6. HashMap原理,HashMap线程不安全可能带来的问题,如何遍历一个HashMap

7. 深拷贝和浅拷贝

8. JVM垃圾收集算法

三、Java框架

1. Spring中IOC控制反转的理解

2. Mybatis中有哪些Executor,他们区别是什么

3. SpringBoot的常用注解

4. 做过什么JavaWeb项目,怎么部署的

四、数据库

1. 会Redis吗?不会..马上去学

2. 写MySQL:一个read表,里面三个字段分别是bookid,action,userid,其中action字段里有三个值expose/click/read,查询每本书对每种action的人数统计。

3. 上题追问,如果要把每本书关于每种action的人数统计,按bookid写在一行,要怎么改?

五、大数据框架

1. HDFS读写流程介绍

2. HDFS写的过程中,如果某个datanode连接中断,会怎么样

3. HDFS常用命令

4. Zookeeper工作原理和选举机制

5. Spark常用算子,filter()算子里面传什么参数

6. reduceBykey()的预聚合

7. Spark底层运行流程

8. Spark里RDD,Partition和Node之间的关联

9. Spark里Job和Stage的概念

10. Spark懒加载

六、自己的项目介绍+反问

时间到了就没继续问,简单的反问环节之后就结束了

总结

投太早了,问太多了..很多还没准备好,岗位也是JavaWeb和大数据混合型的,Java框架这块着实需要加强了

需要加强的学习任务:scala,spark,flink,java框架,redis

 

posted @ 2022-02-10 17:26  真歆若水  阅读(109)  评论(0编辑  收藏  举报