当前位置: 首页 > 面试经验 >

Java面经-1年半经验-华子OD

优质
小牛编辑
75浏览
2024-07-08

Java面经-1年半经验-华子OD

看了牛牛网这么多前辈的面经,我也分享给大家吧

背景:

22双非本,工作一年半

一、12.24机考 (297分)

--有做到栗栗姐给的200分原题(最长的指定瑕疵度的元音子串)

虚拟理财游戏绘图机器最长的指定瑕疵度的元音子串

二、12.28 hr面

1.自我介绍

2.为什么选了东莞,不选深圳(个人原因)

3.od看法

4.家庭情况

5.如果给offer什么时候能入职

6.期望薪资,如果低于该薪资会考虑吗

三、1.05 技术一面

1.redis热key和大key

2.java中线程通信方式(没答出)(1、直接内存(注意并发) 2、wait、notify 3、CountDownLatch 4、管道 等都可以)

3.springboot特性

4.jvm垃圾回收(两到三分钟简单讲讲)

5.责任链模式

6.hashmap是否安全

    /**

     * 现要采购某种商品,已知不同商家商品数量和单价,商品每购买一次单价加一,已知需采购n个该商品,求至少需要多少钱

     */

public void solution2() {

// 数组0上为单价,1上为数量

        int[][] arr = {{100, 200}, {9, 2}, {10, 3}, {10, 1}, {10, 3}};

        int n = 4;

        int res = 0;

        Map<Integer, Integer> map = new TreeMap<>();

        for (int[] temp : arr) {

            for (int i = temp[0]; i < temp[1] + temp[0]; i++) {

                map.put(i, map.getOrDefault(i, 0) + 1);

            }

        }

 

 

        for (Integer i : map.keySet()) {

            Integer count = map.get(i);

            if (count >= n) {

                res += (n * i);

                System.out.println(res);

                return;

            } else {

                res += (count * i);

                n -= count;

            }

        }

        System.out.println(res);

    }

四、1.07技术二面

1.工作中是否出现过oom,怎么导出dump文件(jmat命令),使用什么进行分析处理(jprofile、mat)

2.工作中项目使用的什么垃圾回收算法

3.jvm内存区域

4.redis的缓存击穿、穿透、雪崩(看简历问的)

5.nio

6.linux诊断命令 网络、磁盘、CPU之类的

7.简历上写了docker,是否了解k8s(不了解)

/**

     * 将字符串按字母出现次数倒序排序输出,Aabb则输入bbAa,有多个答案输入一个就行

     */

    public void solution1() {

        String str = "Aabb";

        Map<Character, Integer> map = new HashMap<>();

 

        for (char c : str.toCharArray()) {

            map.put(c, map.getOrDefault(c, 0) + 1);

        }

        StringBuilder res = new StringBuilder();

        List<Integer> values = map.values().stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());

 

        for (Integer value : values) {

            for (Character c : map.keySet()) {

                if (map.get(c).equals(value)) {

                    for (int j = 0; j < value; j++) {

                        res.append(c);

                    }

                    map.remove(c);

                    break;

                }

            }

        }

 

        System.out.println(res.toString());

    }

五、技术三面1.11

1、mysql的数据类型,30用什么类型存,300,30000,3000000

2、java基本数据类型,30,300,30000,3000000分别用什么类型存,小数点后面有3,10,50位用什么类型存

3、hashmap底层结构

4、熟悉什么设计模式

5、java设计原则、自己代码中哪里用到了

6、springboot项目,如果创建新项目需要更改什么配置

部分忘了

手撕:lc.06 Z字变换(ac)

六、1.18主管面

1、个人专业上学的课程

2、讲讲项目上自己负责的部分

3、华为工作压力大能接受吗

4、目前工作中每周加班多长时间

追问:华为强度比这高得多,能接受吗

七、感受

加上前期刷题,整个流程下来快两个月,最终定级d2,定薪给了期望工资,现在已经入职半年了快,不错不错。当然吹一波对接人@我是栗栗呀,全程跟进,有问必答,有意向的可以问问她

 类似资料: