作业帮java工程师社招面经

作业帮

一面:

1.自我介绍

2.项目

3.手撕代码三道题。比较简单,让我写链表反转--》链表成环---》链表成环之后交点问题

4.问我LInkedList知道不?你说一下他的底层,妞儿的list和set、map区别是什么,他们分

别使用在什么场合?

5.map有哪几种,我说了三种,问我还知道其他的不,我说了TreeMap,就问我他的底层,

我当时确实记不太清了,我只记得有个红黑树,

6.然后开始问红黑树的优势,还有特点,说了旋转与着色,问我旋转与着色的实现过程

7.Hashmap的线程问题,如何解决,线程安全的Map,hashmap中为什么要用异或运算符?

8.场景题,插入一万个元素之后会不会扩容,扩容扩多少

9.JDK1.7和1.8中hashmap的区别?在1.7和1.8扩容有什么区别,我说了1.8是先插入后扩

容,又问我为啥要先插入呢,先扩容不是更好?

10.hashmap扩容过程,开始问我,那你知道ConrrentHashMap的扩容过程呢?

11.ConrrentHashMap 如何保证线程安全?他是怎么加锁的?hashmap中有锁呢?

12.就开始问我你知道Arraylist的接口有哪几种?我咋知道,我说不知道

13.什么是泛型?编译器如何处理泛型,我说了类型擦除,又问我类型擦除的过程?List<?>

和原始类型List<object>之间的区别?

14.异常的场景题,trycatch的带return返回顺序,出了四个场景

15.反问</object>

二面:

1.自我介绍

2.项目

3.手撕代码---0-1背包问题

4.问我动态规划你了解多少,然后问有没有学过数据结构,你是怎么学的?有

什么学习方法呢?

5.问我项目中的设备管理系统怎么做的,如何存储的,如果出现调度失误,你是通过什么决

策来解决的

6.事务中的回滚原理是什么

7.那你回到undolog呢?说一下

8.JDBC连接诶数据库过程,那你知道prestatement与statement的区别呢?

9.trycatchfinally的机制问题

10.final、finally、finalize的区别

#面经##社招##作业帮##Java工程师#
全部评论
环形链表成型后交点,是不是环形链表的入口结点,这个我用了两个函数实现,先利用环形链表判断是不是?然后再让慢指针指向环形链表成环的那个节点,快指针指向head,然后再分别让快慢指针各自往下运行,最后相交的地方就是环形链表的入口节点
点赞 回复 分享
发布于 2021-06-01 11:10
楼主面试的三道算法题难度确实还适中,挺好的
点赞 回复 分享
发布于 2021-06-01 11:10

相关推荐

02-14 00:25
中南大学 Java
题目如图这题我觉得最好就是用对k二分来做,但是我总是过不了测试用例,牛客上的那测试用例老长一串又复制不了,有没有大佬帮我看下代码哪里有问题呀?感激不尽!!代码如下:public&nbsp;class&nbsp;Main&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scanner&nbsp;in&nbsp;=&nbsp;new&nbsp;Scanner(System.in);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n=in.nextInt(),m=in.nextInt();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeSet&nbsp;set=new&nbsp;TreeSet<>();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in.nextLine();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;wall=in.nextLine();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(wall.charAt(i)=='W')&nbsp;set.add(i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(set.ceiling(0)==null)&nbsp;System.out.print(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;left=-1,right=n+1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(left+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;mid=(left+right)/2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(check(set,mid,m))&nbsp;right=mid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;left=mid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(right);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;boolean&nbsp;check(TreeSet&nbsp;set,int&nbsp;k,int&nbsp;m)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;idx=set.ceiling(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;idx+=k;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(set.ceiling(idx)==null)&nbsp;return&nbsp;true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;&nbsp;&nbsp;&nbsp;&nbsp;}}
点赞 评论 收藏
分享
评论
1
37
分享

创作者周榜

更多
牛客网
牛客企业服务