滴滴(1,2,3面)3/28
1面
1、自我介绍
2、项目
5、限流的原理
6、jre与jdk,有什么关系?
7、jre包含哪些组件
8、private修饰的字段或方法,子类可以重写么?
9、父类静态的方法,子类可以重写么?
不可以重写父类的静态方法
10、基本数据类型-包装类型的相互转换叫什么?
11、重载,返回值一样可以重载么?
12、线程创建的方式?【4方式】
13、线程池的创建方式?【2】
14、线程池的基本参数?【3+4】
15、核心线程数空闲了,会被销毁么?
不会,通过队列的 take 方法阻塞核心线程
16、常见的集合类?
17、hashmap为什么1.8加入了红黑树,加入了之后对hashmap有什么提升?
18、hashmap线程是否安全?
19、hashmap多线程不停的读写会出现什么情况?
20、线程之间同步的方式?
21、volatile可见性的原理?
22、synchronized是否为可重入锁?
23、jvm的内存结构?
24、虚拟机栈和本地方法栈的区别?
25、native方法是什么?
26、min gc和full gc的区别?
27、jdk8的改进?
28、改进的原因?
29、nio包括哪些模块,nio与其他io的区别?什么场景下用nio比其他io好?
30、spring的ioc和普通的new相比,好处在哪里?
ioc相当于将创建对象的方式交给了spring,然后创建对象是由容器管理的,默认单例
作用:减少了Bean创建的时间和节省CPU资源
31、用什么实现服务之间的调度?
32、dubbo的调用链?
33、dubbo的协议?
34、数据库分表之后,比如:1024张表,然后有很多热点数据,只写入两张表,怎么让数据均匀分布?
35、冒泡排序???
2面
1、项目介绍
2、项目的挑战?
3、Java文件是怎么运行的?
4、Java方法,变量,对象存哪?
5、堆栈,哪些线程不安全的?
6、Java怎么做到内存的可见性?
7、Java中有几种重排序的类型?【】
8、重排序会带来什么问题?
9、怎么解决指令重排序?【屏障】
10、Java创建对象的方式?【4】
11、什么时候发生内存泄漏?讲一个场景?
12、jvm的垃圾回收器选择?高吞吐?低延迟?
13、g1与cms优势?
14、mysql引擎?以及区别?(发散性讲)
15、mysql事务的隔离级别?
16、什么是sql注入?
17、mysq中,去除重复的行,保留第一次插入的行,sql如何实现?
18、10亿数据中,找出里面重复的数据?
1、分治
2、取hash,相同的放在一个里面set中
19,算法2道,多线程交替答应abc (不会,太菜了)
第二个,实现一个数据结构,栈,且增加一个新功能,返回栈中的最小值。
3面
1、自我介绍?【性格,兴趣】
2、特殊算法?
3、理解的比较深刻的算法?
4、快排的思想?
5、基准值是选取?
6、怎么更好的选取基准值?
7、非递归的实现?
8、项目介绍?
携程2面 3/29
1、自我介绍
2、项目介绍
3、介绍Java的垃圾回收?【自己发散的讲:算法,收集器,时机等方面吧】
4、你觉得那种垃圾回收器比较好,为什么?
5、cms的低延迟是怎么实习的?
6、线程之间交换数据的方法?以及同步的方式?
7、信号量和synchronized的标记有什么区别?
8、线程间通信的方式中,成本最低的是哪个?为什么?
9、进程间的同步方式有哪些?哪个成本最低?为什么?
10、你了解哪些数据结构?哪些算法思想?
11、回溯和递归的差别是什么?
12、算法:一个N*N的矩阵,象棋中的马,然后给定一个坐标,返回从(0,0)到目标点,最少需要跳多少下?【太菜了,不会,就聊了聊思路】
13、又聊了一下项目的其他内容【非技术】
14、反问环节。
ps:有些问题删了是因为,是项目里的问题,没有参考价值,就删了。
总结:本人问的大多偏八股文,技术点没有太深入的问,本人算法一般,太辣鸡了,在此许愿能否给我个机会啊。。。。
全部评论
(13) 回帖