顺丰java开发面试分享,顺丰java面试经面试题

KLQ 2020-04-07 15:08:16 java常见问答 7428

今天要给大家分享的是一个小伙伴的顺丰java开发面试过程,其中包括了面试流程,面试题目,和回答,感兴趣的朋友可以来了解一下哈。

一、面试流程

是中午进行的面试,首先是做自我介绍,之后就是讲一下项目,然后就是回答一些问题。

二、面试题

1、有没有看过jdk源码?看过java源码吗?看过java集合类源码?

2、看过arraylist和hashmap吗?

3、hashmap的get方法是什么?

答:ashMap的get方法的实现,其判断标准是通过hashCode和equals方法。hashMap(key,value)的key和value都可以是null。

get的时候,如果key==null,判断Map的长度也为空的话就返回null,如果Map长度不为空,则e也不空,遍历table[0],返回e.value.

getEntry的时候,首先要获取hash(key)的值,通过hash&table.length获取到的hashCode值得到entry在桶中存放的位置,判断如果传入的key与要获得key的hash相等的话并且key.equals(e.key)也相等,则返回entry,如果返回的jentry不为空的话,则getValue值。

4、ashmap的底层实现,是否线程安全,如果多线程中一定要使用hashmap,怎么做?

5、进程和线程的区别是什么?

地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其他进程内不可见。

通信:进程间通信IPC(管道,信号量,共享内存,消息队列),线程间可以直接独写进程数据段(如全局变量)来进程通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

调度和切换:线程上下文切换比进程上下文切换快得多。

在多线程OS中,进程不是一个可执行的实体。

6、线程的状态,如何避免死锁,如何让线程同步?

7、线程池的原理是什么?

了解线程池工作原理主要有三个方面:线程池状态、线程池的重要属性和线程池的工作流程.....。

8、线程池的拒绝策略是什么?

9、枚举可以继承吗?

java中的枚举其实是一种语法糖,在 jdk 1.5之后出现,用来表示固定且有限个的对象。

枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了 java. lang enum类,而不是默认继承 object类,因此枚举类不能显式继承其他父类。 其中 java. lang enum类实现了java. lang serializable和 java. lang.comparable两个接口...

10 、讲下设计模式,单例和工厂符合开闭原则吗?

11、你觉得你的技术优势是什么?

整体的来说,我感觉面试官还是很不错的,虽然我回答的非常一般。但是要注意了,面试官不是按套路走的哦!没有准备问题,你说什么他就问什么。

以上的顺丰java开发面试经大家都了解了吗?更多java面试经,可以继续来本站了解。