字节 基础架构 一面凉经

至今最莫名其妙的一场面试,有一种鸡同鸭讲的感觉...

上来我做自我介绍,没说两句就被打断了。他说简历上有个人情况,赶紧说实习的难点。
我介绍实习做了哪些工作,他又打断了,要求讲技术难点,不要流水账。
我讲了一些设计上的取舍,以及怎么解决遇到的困难,面试官:“你觉得这里面有难点吗”。我:😅(内心:你们会给三个月的实习生安排什么有重大技术难度的活吗,我做的几个需求好歹都上线了也解决了问题,你是不是当成招三年经验的社招了)
有个点讲的时候双方互相没get到,扯皮了几分钟,他跳过了。

然后问了下项目,Raft选举、分区后恢复的流程

最抽象的问题来了:有没有什么比较熟悉的组件?
我:比如哪些,MySQL,redis,bRPC这种?
面试官:比如netty你知道吗?
我:...不了解,您要不问其他组件?
面试官没有问任何东西,直接开始做题

算法题:小于n的最大数。写的有点问题,多数样例能过,但是遇到0的时候有些问题。面试官说大体可以,就是边界情况有问题,时间到了,别改了

反问:为什么没有问一些基础知识,而是看重看对现有组件的熟悉程度?
面试官回答:你们不是做了笔试吗,里面有考察吧
我:???我都没有做笔试啊

第二天早上感谢信
全部评论
字节,太嚣张
点赞 回复 分享
发布于 2023-10-05 21:05 北京
2周前我问了hr,鸡架基本无hc了
点赞 回复 分享
发布于 2023-09-23 23:01 北京
什么组的?
点赞 回复 分享
发布于 2023-09-18 13:36 上海
点赞 回复 分享
发布于 2023-09-18 13:35 广东
不会是网络吧
点赞 回复 分享
发布于 2023-09-18 02:03 安徽

相关推荐

生成哈夫曼树[E卷,100分]题目描述给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于 1 。请完成一个函数,根据输入的数字数组,生成[哈夫曼树],并将哈夫曼树按照中序遍历输出。为了保证输出的[二叉树中序遍历]结果统一,增加以下限制:又树节点中,左节点权值小于等于右节点权值,根节点权值为左右节点权值之和。当左右节点权值相同时,左子树高度高度小于等于右子树。注意: 所有用例保证有效,并能生成哈夫曼树提醒:哈夫曼树又称最优二叉树,是一种带权路径长度最短的一叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为 0 00 层,叶结点到根结点的路径长度为叶结点的层数)输入描述例如:由叶子节点 5 15 40 30 10 生成的最优二叉树如下图所示,该树的最短带权路径长度为 40 * 1 + 30 * 2 +5 * 4 + 10 * 4 = 205 。输出描述输出一个哈夫曼的中序遍历数组,数值间以空格分隔示例1输入55 15 40 30 10输出40 100 30 60 15 30 5 15 10#include <functional>#include <iostream>#include <vector>#include <queue>using namespace std;struct TreeNode{    int val;    TreeNode* left;    TreeNode* right;    TreeNode(): val(0), left(nullptr), right(nullptr){}    TreeNode(int n): val(n), left(nullptr), right(nullptr){}    TreeNode(int n, TreeNode* left, TreeNode* right): val(n), left(left), right(right){}};auto method = [](TreeNode* a, TreeNode* b){    return a -> val > b -> val;};void inOrder(TreeNode* root){    if(root -> left){        inOrder(root -> left);    }    cout << root -> val << ' ';    if(root -> right){        inOrder(root -> right);    }}int getHeight(TreeNode* node) {    if (!node) return 0;    return 1 + max(getHeight(node->left), getHeight(node->right));}int main(){    int n;    cin >> n;    priority_queue<TreeNode*, vector<TreeNode*>, decltype(method)>nodeList(method);    int perVal;    for(int i = 0; i < n; i++){        cin >> perVal;        TreeNode* node = new TreeNode(perVal);        nodeList.push(node);    }    TreeNode* root = new TreeNode();    while(!nodeList.empty()){        if(nodeList.size() > 1){            auto a = nodeList.top();            nodeList.pop();            auto b = nodeList.top();            nodeList.pop();            TreeNode* father = new TreeNode(a -> val + b -> val);            if(a -> val < b -> val){                father -> left = a;                father -> right = b;            }            else{                int aH = getHeight(a);                int bH = getHeight(b);                if(aH < bH){                    father -> left = a;                    father -> right = b;                }                else{                    father -> left = b;                    father -> right = a;                }            }            nodeList.push(father);        }        if(nodeList.size() == 1){            root = nodeList.top();            nodeList.pop();        }    }    inOrder(root);}
点赞 评论 收藏
分享
评论
5
15
分享

创作者周榜

更多
牛客网
牛客企业服务