高德Java研发一面

💼公司岗位 :高德 Java研发
⏳投递进度条:8.25投 8.29笔试 9.4一面
面试官人很好很有礼貌,迟到一分钟疯狂给我解释道歉,整个面试全程也很有礼貌,最后还跟我说我是他今年第一个面的
总共差不多一个半小时
一面面经:
1:介绍项目
2:部门里这些集群都是自己搭的么,公司没有统一中台吗
3:详细说一下你说protobuf这个序列化协议的理解
proto跨平台吗 跨语言吗 如何保证的
4:在这个模块里,Nginx集群的作用是什么
5:这个EMQX是什么,为什么要加这一层链路,车端直接传输到Kafka集群不行吗
6:这里的服务集群的主要工作是什么
7:讲解一下你对Nacos的详细理解,注册中心,配置中心
8:Nacos和Zookeeper都有注册中心的功能,这个架构里为什么既有Nacos也有Zookeeper
9:你用到了redusCluster部署集群 那么还有其他哪些方式
10:Nacos在你这两个模块的应用是什么,在图里体现出来了吗
11:ClickHouse做了什么,在项目里的作用
12:ClickHouse+Kafka记录日志的逻辑,写在哪里
13:两道算法题
反问
1:部门主要业务,和我之前做的有什么区别:介绍了好几分钟,太耐心了
2:根据我今天的表现,对我的建议
然后问了我现在秋招的进度
唉 面试官人太好了 全程很有礼貌,给我介绍部门业务就说了半天,很有耐心 #第一次面试#  #校招#  #java#  #后端#  #秋招#  #java#  #Java#  #高德#  #24届软开秋招面试经验大赏#
全部评论
感觉这问题好不常规,没几个会的😭
1 回复 分享
发布于 2024-09-04 18:55 湖北
老哥哪个部门
点赞 回复 分享
发布于 2024-09-04 17:26 陕西
Hello 请问一下约二面了吗
点赞 回复 分享
发布于 2024-09-06 15:08 北京
佬,现在是什么状态啦?
点赞 回复 分享
发布于 2024-09-22 15:56 陕西

相关推荐

头像
03-07 20:59
已编辑
华中科技大学 Java
1,第一题,可以发现每个数只有与不一样的数交换才有贡献,比第i位为1,i < j,只有s[j]为0才可以交换,统计一下前/后缀0/1的个数就可以了,然后加一下贡献```#include <iostream>#include <vector>using namespace std;int main() {    string s;    while (cin >> s) {        long long res = 1;        vector<int> a0(s.size() + 1, 0), a1(s.size() + 1, 0);        for (int i = s.size() - 1; i >= 0; i --) {            if (s[i] == '0') {                a0[i] = a0[i + 1] + 1;                a1[i] = a1[i + 1];                res += 1ll * a1[i];            } else {                a0[i] = a0[i + 1];                a1[i] = a1[i + 1] + 1;                res += 1ll * a0[i];            }        }        cout << res << '\n';    }}// 64 位输出请用 printf("%lld")```2,可以hash一下每个图,每一行有多少个?每一行的值就是多少,11111代表五行每行都只有一个问号,后面就容易不少了。#include <iostream>#include <string>using namespace std;int main() {    int n;    cin >> n;    while (n --) {        string map[6];        int hash = 0;        for (int i = 0; i < 5; i ++) {            cin >> map[i];            int count = 0;            for (int j = 0; j < 5; j ++) {                if (map[i][j] != '#') count ++;            }            hash = hash * 10 + count;         }        // cout << "hash:" << hash <<'\n';        if (hash == 32223) {            cout <<0;        } else if (hash == 11111) {            cout << 1;        } else if (hash == 22311) {            cout << 4;        } else if (hash == 31111) {            cout << 7;        } else if (hash == 31323) {            cout << 6;        } else if (hash == 32323) {            cout << 8;        } else if (hash == 32313) {            cout << 9;        } else {            if (map[1][3] != '#') {                if (map[3][1] != '#') cout << 2;                else cout << 3;            } else {                cout << 5;            }        }    }    }// 64 位输出请用 printf("%lld")3,字典树比较模板的题,可以学一下字典树怎么写的,然后在字典树路径下贪心找最优解#牛客AI配图神器# #include <iostream>using namespace std;const int N = 2e5 + 10;int tr[N * 60][2], cnt[N * 60][2], ind;void insert(int x, int mod) {    int p = 0;    for (int i = 31; i >= 0; i--) {        int v = x >> i & 1;        if (tr[p][v] == 0) tr[p][v] = ++ind;        cnt[p][v] += mod;        p = tr[p][v];    }}int getMaxXor(int x) {    int res = 0, p = 0;    for (int i = 31; i >= 0 ; i --) {        int v = x >> i & 1;        if (cnt[p][!v]) {            p = tr[p][!v];            res += 1 << i;        } else {            p = tr[p][v];        }    }    return res;}signed main() {    int n;    cin >> n;    int cnt = 0;    while (n --) {        int a, b;        cin >> a >> b;        if (a == 1) {            cnt ++;            insert(b, 1);        } else if (a == 2) {            cnt --;            insert(b, -1);        } else {            if (cnt == 0)             cout << -1 << '\n';            else cout << getMaxXor(b) << '\n';        }    }}// 64 位输出请用 printf("%lld")
在西伯利亚种土豆:这第二题直接暴力if else结果出bug了,调了半小时眼睛都快瞎了。还是大佬这方法简单
投递饿了么等公司7个岗位
点赞 评论 收藏
分享
评论
10
20
分享

创作者周榜

更多
牛客网
牛客企业服务