Oyo Rooms 面试体验(软件工程师校园内)
Oyo 房间参观了我们的校园,并为软件工程师角色进行了 3 轮。
第一轮:在线测试
- 第一轮是在线编码轮,包含 10 道 MCQ 和 2 道编程题。
- MCQ 主要在 os、dbms 上。难度级别中等。
- 问题1:最长递增子序列:https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/
- 问题2;格雷码(最优化的方式):https://www.geeksforgeeks.org/generate-n-bit-gray-codes/
第 2 轮:技术技能
首先是对简历问题的快速设置。
- 介绍
- 1-2个项目简要询问
- 接口和抽象类的区别:https://www.geeksforgeeks.org/difference-between-abstract-class-and-interface-in-java/
- 写方法来显示按值传递和按引用传递之间的区别
- oops 原则:https://www.geeksforgeeks.org/object-orienting-programming-oops-concept-in-java/
注意:代码要正确编写
1.然后面试官让我写代码来打印二叉树的垂直遍历。
https://www.geeksforgeeks.org/print-binary-tree-vertical-order-set-2/
2. 这是 tic 和 toe 的变体,有 n 行 n 列。我被告知获胜的州,并被要求实施。 ——问这个问题是因为我在一个项目中实现了井字游戏。
3. 如果树的叶子被点燃,需要最少的时间完全烧毁树木。 (bfs解决方案)
第三轮:技术技能
- 被要求说出要使用哪个概念来设计每个消息都有优先级的消息传递系统。
- 继续上面的问题——详细询问了堆的实现。
- 直方图问题– https://www.geeksforgeeks.org/largest-rectangle-under-histogram/
- 我被要求讲述如何设计字典(使用 Trie 数据结构),只问了一个概念。没有要求写代码。
此外,重点是检查是否正确编写代码、解决问题的能力以及进一步优化代码。