程序员社区

2021年4月19日 华为技术面过经,业务面凉经 + (Java后端开发)

今天给大家分享一篇 2021年4月19日 华为技术面过经,业务面凉经, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~

最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题。

点击下载完整PDF☞ 2022年最新Java面试题集

2021年4月20日更新-----------------业务面GG

1、自我介绍
2、自己的项目细节,我做的是商场项目,我主要就是介绍了一下自己项目的各个模块实现,大致原理,面试官主要问了JWT无状态登录相关,主要还是根据项目去问吧
3、问我为什么本硕电气要学java,然后让我介绍一下研究生期间的项目,我说了电机项目,估计面试官也不懂
4、问java基础,JMM模型,JVM的堆空间,问的很基础
5、问了二叉树相关,让我画一下,然后描述一下几种遍历方法
6、问了链表的插入
7、数据库在单机系统下如何保持高并发,如何调优,这个我也不太记得了,就大概说了一下索引的创建,然后怎么利用覆盖索引避免文件内排序
8、不太记得了 后续补充, 总之问的偏基础,甚至完全没有问计算机网络、操作系统
9、补充,手敲Class锁和对象锁的区别

手撕代码  题目也比较简单

// 终端产品在进行一项噪音监测实验。若将空实验室平面图视作一个 nm 的二维矩阵(左上角为 [0,0])。


// 工作人员在实验室内设置了若干噪音源,并以 [噪音源所在行,噪音源所在列,噪音值] 的形式记录于二维数组 noise 中。


// 噪音沿相邻八个方向传播,在传播过程中,噪音值(单位为分贝)逐级递减 1 分贝,直至分贝削弱至 1


// (即噪音源覆盖区域边缘噪音分贝为 1);


// 若同一格被多个噪音源的噪音覆盖,监测结果不叠加,仅保留较大的噪音值


// (噪音源所在格也可能被其他噪音源的噪声传播所覆盖)。


// 在所有噪音源开启且持续传播情况稳定后,请监测每格噪音分贝数并返回他们的总和。


//注意:


//        除噪音源以外的所有格初始值为 0 分贝; 不考虑墙面反射。


//        示例 1:


//        输入:n = 5, m = 6, noise = [[3,4,3],[1,1,4]]输出:63



参考代码:
import java.util.Arrays;
        import java.util.LinkedList;
        import java.util.Queue;


public class Test {
    public static void main(String[] args) {
        int[][] matrix = new int[5][6];
        int[][] noises = {{3,4,3},{1,1,4}};
        int db = CaculateDB(matrix,noises);
        System.out.println(db);
    }

    private static int CaculateDB(int[][] matrix, int[][] noises) {
        for (int[] noise : noises) {
            bfs(matrix,noise);
        }
        for (int[] ints : matrix) {
            System.out.println(Arrays.toString(ints));
        }
        return getSum(matrix);
    }

    private static void bfs(int[][] matrix, int[] noise) {
        int x =noise[0];
        int y =noise[1];
        int value =noise[2];
        matrix[x][y]=value;
        Queue<Node> queue = new LinkedList<Node>();
        Node root = new Node(x,y,value);
        queue.offer(root);
        while (queue.size()!=0){
            Node node = queue.poll();
            if (matrix[node.x][node.y]<node.val){
                matrix[node.x][node.y]=node.val;
            }
            if (node.x>0&&node.y>0&&node.x<4&&node.y<5&&node.val>1){
                queue.offer(new Node(node.x-1,node.y,node.val-1));
                queue.offer(new Node(node.x+1,node.y,node.val-1));
                queue.offer(new Node(node.x,node.y+1,node.val-1));
                queue.offer(new Node(node.x,node.y-1,node.val-1));
                queue.offer(new Node(node.x-1,node.y-1,node.val-1));
                queue.offer(new Node(node.x-1,node.y+1,node.val-1));
                queue.offer(new Node(node.x+1,node.y+1,node.val-1));
                queue.offer(new Node(node.x+1,node.y-1,node.val-1));
            }
        }

    }

    private static int getSum(int[][] matrix) {
        int sum=0;
        for (int[] ints : matrix) {
            for (int anInt : ints) {
                sum+=anInt;
            }
        }
        return sum;
    }
}
class Node{
    public int x;
    public int y;
    public int val;

    public Node(int x, int y, int val) {
        this.x = x;
        this.y = y;
        this.val = val;
    }
}

第二天下午两点 业务面GG

主要还是笔试只A出半道,无话可说了。。哎
----------------------------
补充:一上来就说你这种情况不适合去华为实习啊,你有工作经验啊(楼主本身在电力系统待过),我说这个工作经验没用啊,然后就开始扯淡了,什么人生啊,理想啊,
然后话锋一转,说你这个笔试不太行啊,才120分,击败了53%,有点拉胯。  嗯 这个我承认,我说我学习策略的问题,刷题太少。  然后面试官质疑我能力不太行。 好吧 我确实菜 这也没啥好说的
然后话锋又双一转 ,问我对电动汽车的蓬勃发展,电动汽车为什么能全面代替燃油车,提出一些自己的观点。我??? 行吧 除了说能源清洁我也说不上啥了,没太关注。
然后就继续blabla一些无关紧要的话题。
最后说我不要觉得压力太大,迷茫,不要觉得痛苦,因为全中国至少千万人都是这么过来的。嗯  这句话我其实还蛮认同的
然后就拜拜了  五分钟后一查,业务面未通过,效率倒是挺高的。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 2021年4月19日 华为技术面过经,业务面凉经 + (Java后端开发)

一个分享Java & Python知识的社区