面试复盘|天眼查

天眼查

天眼查牛客SP专场-Java开发工程师-北京

投递:2021-07-22


一面挂(52min):

  1. 自我介绍

    • 为什么研究生做数据挖掘,现在要转行做开发?之后的职业道路如何设计的?

    • 这样不行,感觉你比较犹豫!开发的技术栈比较多,而且和数据挖掘不相关,几年之后转行可能不太行,开发没学好,数据挖掘也比较难进。像你这种情况一般是劝退的。

    • leetcode刷的题量:30-50?300-500?

  2. 手撕:有序链表合并1,3,4,7,92,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;
             }
         }
    
     }
    1. 口述思路:寻找最长回文子串。

      用动规的思路,转移方程如何设置,初始值如何设置?如何跳出?

    2. 用过的spring boot插件有哪些?

      lombok,netty,mybatis

    3. 对spring boot的bean了解多少?@AutoWired数据注入

    4. MySQL的数据结构B+树

    5. JVM的垃圾回收机制?数据分区?内存大小,哪个区大哪个区小,为什么?

      • 复制-清除
      • 复制-

      新生代小,老年代大。

    6. Java中的ConcurrentHashMap如何保证线程安全?

      有两点synchronize和CAS无锁机制

    7. 介绍一下Java并发中的关键字的理解?

      synchronize同步锁

      volatile有两点:线程透明;禁止指令排序,保证线程顺序执行

    8. 建议:提前批面试找找经验,做几个项目!简历做的可以!多刷leetcode!多背八股!

#面试复盘##天眼查##面试题目#
全部评论

相关推荐

04-17 18:32
门头沟学院 Java
野猪不是猪🐗:他跟你一个学校,你要是进来之后待遇比他好,他受得了?
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务