📜  Delhivery 校园后端开发人员面试体验(2018 年 11 月)(1)

📅  最后修改于: 2023-12-03 15:14:39.984000             🧑  作者: Mango

Delhivery 校园后端开发人员面试体验(2018 年 11 月)

最近,我参加了 Delhivery 公司的后端开发人员面试,以下就是我的经历和体验。

1. 面试安排

面试分为两轮,第一轮是笔试,包括编程题和填空题,第二轮是技术面试。

2. 笔试
2.1 编程题

编程题是一道字符串处理题,要求实现一个函数,输入一个包含多个字符串的数组,将这些字符串拼接在一起并返回,需要去掉重复的字符串。

我的解题思路是:通过 HashSet 去重,再使用 StringBuilder 拼接字符串。时间复杂度为 O(n)。

2.2 填空题

填空题需要填写多个代码的空白部分,主要考察对 Java 语言的基础知识和数据结构的理解。

3. 技术面试

面试官首先了解了我的项目经验和工作内容,然后出了几道算法题和 Java 相关问题:

  1. 递归和动态规划的区别是什么?
  2. 实现一个二叉树的遍历(前序、中序、后序)。
  3. 用 Java 实现一个单例模式。
  4. Java 中的线程池有哪些参数?各自的作用是什么?
4. 总结

整个面试流程非常顺畅,面试官态度友好、专业。笔试题目难度适中,技术面试考察的内容比较全面,需要自己好好准备。希望这篇面试体验分享能对正在准备面试的程序员们有所帮助。

// Java 实现去重后的字符串拼接
public String concatenateStrings(String[] strings) {
    Set<String> set = new HashSet<>();
    StringBuilder sb = new StringBuilder();
    
    for (String s : strings) {
        if (!set.contains(s)) {
            set.add(s);
            sb.append(s);
        }
    }
    
    return sb.toString();
}