11.9 同程一面(JAVA、逆向 -北京)

投的不确定是什么,邮件发的是逆向,面的是java

1、java是面向顶层设计的,那么为什么有抽象类还需要有接口

2、为什么jkd1.8之后,接口中有了默认方法,有什么用意

3、java为什么是单继承的,不像C++一样是多继承的,这样设计有什么用意吗

4、java是面向对象的语言,为什么要有基本数据类型呢

5、java中基本数据类型为什么要有相应的包装类

6、浅拷贝和深拷贝

7、什么场景下用浅拷贝、什么场景下用深拷贝

8、线程安全怎么来进行一个实现

9、synchronized锁原理吗

10、CopyOnWriteArrayList和平常的锁(synchronized)适应场景

11、说一种,除了synchronized以外,jkd可以支持的锁场景

12、一台电脑上不同进程之间怎么来实现锁,(回答:redis全局锁)

14、一台电脑上,使用redis是不是有点太重了,还有其它方法吗?(我记得有一个信号量机制,但对这一块不是很了解)

15、系统调用函数了解了多少

16、多线程场景下,怎么来加锁(回答:没有涉及到共享资源,不用加锁,设计到共享资源,加锁)

17、那设计到共享资源,怎么来进行加锁呢

18、操作系统有了进程,为什么还需要有线程呢?

19、java中的死锁了解过吗?

20、那怎么解决死锁呢?怎么避免呢?

21、可以具体说一下怎么利用顺序获取锁来进行避免吗?

22、java里面的线程有几种状态?

23、操作系统中的线程状态和java中的线程状态有什么区别?

24、java中的线程需要操作系统级别的参与吗?(答:需要的,java中的协程是不需要的)

25、为什么协程不需要?

26、那协程怎么设计的,如果让你设计,你会怎么设计(提示被动打断、自动打断、python里面怎么设计的)

27、http1.1 http2.0都是基于TCP的,为什么http3.0要用UDP呢

28、get请求和post请求有什么区别

29、我什么ping的时候,不用指定端口号呢,是哪个进程给数据呢

30、java中的很多排序算法,最优是nLogn的,有没有更优的一种排序算法呢(答:基于时间进行排序)

31、有一个list数组,里面存储的对象,可以知道两两对象大小,怎么设计一个排序算法进行排序。那最低时间复杂度是多少呢?

#同程秋招##双非硕##一面##纯八股#
全部评论
回答咋样
1 回复 分享
发布于 11-19 17:32 白俄罗斯
这也太难了吧
1 回复 分享
发布于 11-19 23:44 广东
我的妈呀问这么多
1 回复 分享
发布于 今天 14:03 陕西

相关推荐

11 37 评论
分享
牛客网
牛客企业服务