程序员社区

阿里云实时计算平台事业部二面凉经 + (Java最新面试题)

今天给大家分享一篇 阿里云实时计算平台事业部二面凉经, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~

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

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

前面就是围绕项目经历介绍。
其中涉及到一些技术点:
Docker的网络模式有哪些?分别介绍一下。
项目中遇到的比较困难的问题,怎么解决的,或者打算怎么解决?
Sidecar模式会对性能造成影响吗?有多少。
IO多路复用介绍一下。

其他记不太清了。

做题:
1. 第一道是一个求二进制串中的所有0的个数

这道题我没有啥好的思路,因为题目是二进制字符串,长度也不确定,然后就写了个暴力(虽然我知道他考得不是我这个)。
然后我说改成Integer类型的话,我可以求其中二进制中0的个数,提供了一个方法,就是不断地 做与运算,n &= (n-1),然后记录其中1的个数,直到n等于零,最后用32减去1的个数。

这题写的不好。
public class Main{
    public static long findZeroNumInBytes(byte[] bytes){
        long  cnt = 0 ;
        byte zero = '0';
        for(long i =0; i < bytes.length; i++){
            if( bytes[i] == zero){
                cnt++;
            }
        }
        return cnt;
    }
    
    public static long findZero(int x){
        int cnt = 0;
        for( ; x > 0; cnt++){
            x &= (x - 1);
        }
        return 32 - cnt;
    }
    
    public static void main(){
        String test = "101010101000000";
        System.out.println(findZeroNumInBytes(test.getBytes());
    }
}


2. 判断是否是二叉搜索树。

我做了个中序遍历,然后记录上一次的值,进行判断的,面试官说我右子树不对,给了我个样例来验证,我验证花了点时间没验证完就打断了我,说时间不多了,就看看我还有没有别的问题要问他的。



class Node {
    Integer val;
    Node left;
    Node right;
}

Integer last = Interger.minValue;

public static boolean isBinarySearchTree(Node root, Integer last){
    if ( root == null ){
        return true;
    }
if(root.left != null){
    boolean left = isBinarySearchTree(root.left, last);
if(!left){
return false;
}
}
if(last.val > root.val){
    return false;
}
last = root.value;
if(root.right != null){
    boolean right = isBrinarySearchTree(root.right, last);
if(!right){
    return false;
}
}
return true;
}

第二天收到邮件,挂了,二面凉了。

赞(1) 打赏
未经允许不得转载:IDEA激活码 » 阿里云实时计算平台事业部二面凉经 + (Java最新面试题)

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