携程Java后端实习 两轮技术面

更新: 5.25 HR面

5.27

进入人才池。 感觉和HR聊的还行,没想到挂了。 可能是 25届毕业 或 排序靠后吧。

4.15笔试

...

4.26 一面

腾讯会议 (50+min)

  1. 栈和队列,应用场景
  2. 虚拟内存
  3. 页表作用
  4. 系统调用,中断,异常
  5. 进程之间相互独立如何理解?
  6. aqs原理,可以举一个具体的实现来说? (这里说的比较多)
  7. JUC,线程之间如何实现同步
  8. 分布式锁的底层原理
  9. 项目中用到了lua脚本,Lua脚本的作用?
  10. Redisson的底层机制了解吗? 与redis实现分布式锁有什么区别?解决了哪些问题?
  11. mysql主从同步延迟太大如何处理?
  12. 算法题: 最长回文子串 (本地编译器写,共享屏幕)

反问:...

有些问题记不清了,面试官人很好,全程没有很严肃,回答不好的点也会进行给一些提示。

5.12 二面

腾讯会议,大约40min

  1. 自我介绍
  2. 项目中遇到了哪些困难的问题,如何解决的?

手撕算法

开启共享屏幕,本地编辑器写,每个题目写完后要求讲思路

  1. 反转链表,不允许递归
  2. ipv4地址编码、解码
  • 编码: 将ipv4 使用一个int类型存储
  • 解码: int类型解码为ipv4地址
int encode(String ipv4);
String decode(int ipv4);
测试输入:"10.0.0.1"

写完算法就到反问环节了,我还问有没有其他问题了,感觉有点快。

反问环节: ...

附 : 第二题ipv4 编码、解码 C++实现

思路: int类型有32位,用8个bit位分别存储ipv4 每个部分。

这是现场写的,代码有些冗长,有很多可以优化的地方。

#include <bits/stdc++.h>
using namespace std;

/* 
int encode(String ipv4);
String decode(int ipv4);
测试输入:"10.0.0.1"
*/

// 编码
int encode(string ipv4) {
    int code = 0, n = ipv4.size(), num = 0;
    vector<int> parts;
    for (int i = 0; i < n; ++i) {
        if (ipv4[i] == '.') {
            parts.push_back(num);
            num = 0;
        } else {
            num = num * 10 + ipv4[i] - '0';
        }
    }
    parts.push_back(num);
    for (int i = 0; i < 4; ++i) {
        code <<= 8;
        code |= parts[i];
    }
    return code;
}

// 解码
string decode(int ipv4) {
    string ans;
    vector<int> parts;
    for (int i = 0; i < 4; ++i) {
        int num = (255) & ipv4;
        parts.push_back(num);
        ipv4 >>= 8;
    }
    reverse(parts.begin(), parts.end());
    ans = to_string(parts[0]);
    for (int i = 1; i < 4; ++i) {
        ans += "." + to_string(parts[i]);
    }
    return ans;
}

int main() {
    int val = encode("10.0.0.1");
    cout << decode(val) << endl;
    return 0;
}
#如何判断面试是否凉了##我的实习求职记录#
全部评论
这一面难度有点高啊
1 回复 分享
发布于 2023-05-24 07:50 河南
m
点赞 回复 分享
发布于 2024-03-09 18:02 贵州

相关推荐

1、自我介绍2、问了项目的情况3、项目中的技术难点以及怎么实现4、为啥高并发用redis(答了基于内存,分布式,集群,面试官应该想听到io多路复用,没答出来)5、redis常用的数据结构,实现消息队列用哪个6、单例模式怎么实现(答了饿汉式、双重检查锁)7、这两个具体代码大改说一下8、为什么要私有构造函数(答防止在外部创建对象)9、谈一谈线程安全问题(答了竞争资源,引出加锁机制,乐观锁,悲观锁)10、场景题:火车票系统,需要通过爬虫爬取用户行程的状态发送给12306,如何提高发送效率,短时间处理千万级请求?(答了多线程,分布式,消息队列异步处理啥的,完全没答到点上)11、我说了多线程,面试官先追问多线程参数怎么设置(回答七个参数以及cpu密集型和io密集型等)12、追问io密集型设置为cpu*2是怎么来的(没答上来)13、后面面试官说我场景题思路答反了,我说的是12306那边需要处理的方案,而这边由于发送请求不需要等待回包,所以可以线程一直发不阻塞,也就是异步非阻塞io模型,可以采用netty框架,http连接池连接复用等等(这个是真不知道😥)14、扩展题:问知道docker吗(答了解一点,讲了一下大致是干嘛的)15、问docker和虚拟机的区别(简单答了一点)总结:面的一坨,问的很细,场景题直接宕机,呆了半天,感觉寄了
携程一面201人在聊 查看15道真题和解析
点赞 评论 收藏
分享
评论
10
26
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务