面试复盘|天眼查
天眼查
天眼查牛客SP专场-Java开发工程师-北京
投递:2021-07-22
一面挂(52min):
自我介绍
为什么研究生做数据挖掘,现在要转行做开发?之后的职业道路如何设计的?
这样不行,感觉你比较犹豫!开发的技术栈比较多,而且和数据挖掘不相关,几年之后转行可能不太行,开发没学好,数据挖掘也比较难进。像你这种情况一般是劝退的。
leetcode刷的题量:30-50?300-500?
手撕:有序链表合并
1,3,4,7,9
和2,5,6,8
返回1,2,3,4,5,6,7,8,9
,将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。(20min)import java.util.*; class ListNode{ int val; ListNode next; ListNode(int val){ this.val = val; } } public class Main { public static ListNode merge(ListNode list1, ListNode list2){ ListNode dummyNode = new ListNode(0); ListNode cur = dummyNode; while(list1!=null && list2!=null){ if(list1.val < list2.val) { cur.next =list1; list1 = list1.next; } else { cur.next = list2; list2 = list2.next; } cur = cur.next; } cur.next = list1==null?list2:list1; return dummyNode.next; } public static void main(String[] args) { ListNode list1 = new ListNode(1); list1.next = new ListNode(3); list1.next = new ListNode(4); list1.next = new ListNode(5); ListNode list2 = new ListNode(1); list2.next = new ListNode(2); list2.next = new ListNode(5); list2.next = new ListNode(7); ListNode res = merge(list1,list2); while(res!=null) { System.out.println(res.val); res=res.next; } } }
口述思路:寻找最长回文子串。
用动规的思路,转移方程如何设置,初始值如何设置?如何跳出?
用过的spring boot插件有哪些?
lombok,netty,mybatis
对spring boot的bean了解多少?
@AutoWired
数据注入MySQL的数据结构B+树
JVM的垃圾回收机制?数据分区?内存大小,哪个区大哪个区小,为什么?
- 复制-清除
- 复制-
新生代小,老年代大。
Java中的ConcurrentHashMap如何保证线程安全?
有两点synchronize和CAS无锁机制
介绍一下Java并发中的关键字的理解?
synchronize同步锁
volatile有两点:线程透明;禁止指令排序,保证线程顺序执行
建议:提前批面试找找经验,做几个项目!简历做的可以!多刷leetcode!多背八股!