以下为整理的自己秋招遇到的面试题;
主要是Java和大数据相关题型;
根据印象整理了下,有些记不起来了。
死锁、乐观锁、悲观锁
synchronized底层原理及膨胀机制
ReetrantLock底层原理,源码是如何实现公平和非公平的
synchronized和lock的区别
volitale理解?volitale保证可见性的意义
什么是指令重排序,为什么要禁止指令重排序
介绍java中的基本数据类型及所占大小
2的8次方是多少,Integer最小值是多少,说数值
scala中Int和Long是怎么实现的,丰富的API是如何实现,scala中String是怎么实现的,这么多丰富的方法是怎么实现的?隐式转换
介绍Java中你知道的所有Map、Set、List的类,比较他们的区别,哪些是线程安全?
怎样使用线程安全的集合,并发安全的容器都有哪些?
HashMap和ConcurrentHashMap的原理
HashMap的key如何设计?HashMap死循环问题
HashMap为什么使用红黑树不使用B树、B+树
说一下平衡二叉树的插入删除操作?树的层序遍历说说?
多进程和多线程的区别,进程和线程的区别?
Callable和Runnable的区别谈一谈?
线程怎么实现?讲讲Java中的线程池?
自定义线程池,你是如何考量七大参数的,设计思路?如何优化synchronized,CAS的缺点
countdownlatch、cyclicbarrier和semaphore谈一谈,说说你是怎么用的
Kafka存储机制,Kafka选型,ISR机制,Kafka集群数量是怎么考量的?
有一个共享变量,现在多线程操作,如何设计保证线程安全,并优化
JVM分哪几个模块?
JVM垃圾回收算法?
挑一个垃圾回收算法讲一讲原理?
挑一个垃圾回收器讲讲?
说说类加载和双亲委派机制?
介绍JVM内存模型,我创建了一个对象,它有一个变量,这个变量在JVM哪里,是线程安全的吗?
springMVC流程说说?
spring的IOC和AOP?AOP项目中使用过吗?
IO和NIO的区别?
netty看过源码吗?
你写netty rpc的时候网络传输是怎么做的?
使用netty比nio有什么好处?
spark看过哪些源码?
spark算子有哪些?哪些会导致shuffle,action和transformation算子?
stage如何划分,task怎么分配?
spark缓存不够用了怎么办?
spark和kafka的选型问题?
storm的ACK机制?
你做的storm项目,topology如何设计的?
springboot了解吗?
微服务知道吗?
double源码看过吗?
你的大数据项目,怎么保证最后结果的正确性?
springmvc和springboot区别?
hibernate和mybatis区别?
spark任务提交流程,面试官提示了applicationmaster,需要说yarn cluster模式下的流程?
spark堆外内存?
sparkshuffle中的瓶颈?
说下spark的hashshuffle和sortshuffle,现在使用哪个?
mysql和redis的区别?
redis缓存雪崩?
mysql表和视图的区别?
mysql的四大事务?
关系型数据库和非关系型数据库的区别?
TCP/IP网络体系结构说下?
ICMP是哪一层的协议?
Linux有哪些常用命令?
JVM调优做过吗?说说看?
介绍一个调优的案例说下?
JVM性能监控工具有哪些?分别是做什么用的?
JVM调优和性能监控工具基本是必问的,建议搞一个案例总结一下
排序算法也很重要,面试官让介绍常用排序算法,时间复杂度,稳定性,升序排序用小顶堆还是大顶堆之类;
10亿整数找出现次数最多的topN,单机内存不足;
反转链表,链表入口,数组之类的编程题也有;
能回忆起来的差不多就这些了。。。还有一些项目有关的就不说了,每个人情况也不一样,总体感觉秋招面试题难度适中,除了最早面试的两家死的有点惨,其他家全都走到终面了。
欢迎关注我的微信公众号《小沈干货》获取更多学习内容。