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

5.10 腾讯云智(凉)

优质
小牛编辑
63浏览
2024-05-13

5.10   腾讯云智(凉)

自我介绍

问一下其他问题(投的java岗位,面的是python面试官,进去需要转语言,做的是一些云上的产品)

手撕:

  1. 冒泡排序的优化:
class Solution {
    public static void bubbleSort(int[] nums) {
        //设置一个标志位,如果遍历一次未发生交换,那么数组是有序的,直接返回即可
        boolean flag = true;
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums.length - 1 - i; j++) {
                if (nums[j] > nums[j + 1]) {
                    int temp = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = temp;
                    flag = false;
                }
            }
            if(flag)
                return;
        }
    }

    public static void main(String[] args) {
        int[] nums = {3,4,8,12,4,7,56,34};
        bubbleSort(nums);
        for (int num : nums) {
            System.out.println(num);
        }
    }
}

2.十进制转二进制判断 1 的个数

class Solution {
    public static int countOne(int num) {
        // 处理边界情况
        if (num == 0) return 0;
        int count = 1;
        // 每次 xor &= (xor-1) 都会消除掉最右面的一个 1 
        // 负数是以补码的方式出现的,也可以用其处理
        for (int xor = num & (num - 1); xor != 0; xor &= (xor - 1))
            count++;
        return count;
    }

    public static void main(String[] args) {
        System.out.println(countOne(5) + "\t" + Integer.toBinaryString(5));
    }
}

3.实现单向链表

class Solution {
    public static void main(String[] args) {
        ListNode node5 = new ListNode(5, null);
        ListNode node4 = new ListNode(4, node5);
        ListNode node3 = new ListNode(3, node4);
        ListNode node2 = new ListNode(2, node3);
        ListNode node1 = new ListNode(1, node2);
        while (node1 != null) {
            System.out.print(node1.val + "->");
            node1 = node1.next;
        }
    }
}

手撕结束,简单题

提问环节:

  1. 处理mysql,redis之外还熟悉哪些云上的中间件的东西,比如kafkakafka的rebalance机制(之前学过,看了一眼早忘了)
  2. 举个样例,然后怎么做sql优化(优化的场景是啥,由一个语句优化到什么样的语句)我:答非所问,直接背八股,这个应该可以整理一个样例
  3. 尝试过数据库的分层设计吗我:what?听都没听过,直接化身原始人,问了一下(数仓用这个??)
  4. redis使用了哪些场景,分别做啥用的?八股吟唱,面试官估计嫌我唱的太慢了,给我打断了,我还有好多没唱呢(wait,好像问的是那五种基本数据类型,我还唱持久化场景了)
  5. redis做缓存的场景单点登录(redis + token )
  6. zset用过吗(排行榜,分数排序,zrevrange)
  7. linux 相关

查看当前运行的进程 ps -aux | grep 进程名称(这里应该说 ps 命令)

查看指定进程的堆栈信息 pstack (这个我不会)

怎么样固化一个环境变量

一种方式是在 /etc/profile 中添加一个环境变量,保存好后执行source /etc/profile进行刷新

另一种方式是 export 变量名 = 变量值 的方式在当前终端设置一个临时变量,当前会话终端关闭则该环境变量失效

dockerfile了解吗(忘了,寄)

dockerfile可以自定义镜像,通过文件的方式给centos加一个vim命令,然后重新生成一个新的镜像

结束,反问。。。。

表现:云上产品不了解,linux的熟悉程度一般

其他(问我新东西的学习速度,我说还行,然后就想问我c艹的一些基础知识,我给拒绝了)

听闻没有hc了,问有没有hc(他说有,不然也不会面试),看来java岗位的没了,我投的java简历,给我安排python的。

怎么看待今年前后端就业形势(前端不说,后端的话进大厂需要转语言)

个人总结:

1.听清楚面试官的提问内容,对症下药,别盲目背八股

2.kafka 概念性问题记一记

3.linux继续学习docker内容,附带k8s

#云智面试##凉凉#
 类似资料: