下面给大家分享一个携程旅行java面经,包括了具体的面试流程和一些相关面试题,下面一起来了解一下携程旅行java面试吧!
首先我是211本硕,平时主要用的是C/C++,然后,自学了半年左右的java,这个是一面。
面试的时常大约是三十分钟左右。
首先做了一下自我介绍,稍微的和面试官介绍了一下自己,谈了一些人生方面的事情,之后就正式开始进入面试题部分了。
面试题(大致内容):
1、手撕代码判断两个二叉树是否相等
2、讲一下hashmap的put过程
我将hashmap全家桶扩容机制和线程安全的内容全部都说了一遍
3、你提到了currenthashmap,那请讲讲插入第一个数的时候会发生什么?
这个问题,我自己也没有遇到过,但是,我想起了1.8是cas+synchronize的源码,所以,我说第一个应该不加锁,先cas一波,貌似被我猜对了。
4、手撕代码,二分查找,数组有重复,找到最后一个重复的数字
这个就是在最后加一个判断找第一个就array[low]==n;找最后一个就array[high]==n(这道题面试官自己貌似都不大会.......看了老半天都没想明白,后来我给他解释了一下思路,之后,他说相同了,然后说没有问题)
最后总结一波:
一些基础的问题没有怎么问,项目方面的也没怎么问,就只是手撕了两道代码。总体来说还是比较简单的。
以上就是一个携程java面经的分享啦,大家可以仔细的看看。更多携程java面经和面试题,可以继续关注本站了解哦。