Expedia 为全职和实习生访问了我们的校园,而我坐在实习生中。过程包括在线测试轮次和 3 轮面试。
在线编码测试(1 小时 30 分钟)
他们的截止值为 0,测试是在 HackerRank 上进行的。
测试包括 10 个 MCQ 和 2 个编码问题。
MCQ 围绕着 OS、OOP、数据结构和算法。
编码问题如下:
- 您总共有n 个硬币要形成楼梯形状,其中每个第k行必须正好有k 个硬币。给定n ,找出可以形成的完整楼梯行的总数。 (即使是二分搜索也为某些测试用例提供了 TLE,只有 O(1) 解决方案可以通过所有测试用例)
- 给定一条可以无限量行驶的道路。道路的索引从 0 到 n 开始。有 m 辆车的起始和结束索引以 2 个数组的形式给出。我们必须找到汽车从未行驶过的最大差距。 (这个问题也有时间和内存限制)
第 1 轮:技术面试( 1小时 – 1小时 30 分钟)
首先她让我做自我介绍,并说一些我简历中没有提到的事情。
然后问了我一个编码问题:
给定一个排序和旋转的数组和一个元素,在完全排序的数组中找到该元素的索引。 (这个问题涉及处理很多情况,查找数组是左旋还是右旋,然后通过二分搜索找到旋转点和给定元素的索引。我被要求对所有这些进行编码)
在我编写上述问题的代码时,她问我
- 什么是运行时和动态多态?
- Java是完全面向对象的编程语言吗?
- 以及一些我不记得的与操作系统相关的问题(我认为这是为了检查您在多任务处理方面的能力)
下一个问题是:
https://www.geeksforgeeks.org/find-the-number-occurring-odd-number-of-times/
查找数组中出现奇数次的次数
(我给了她一个使用 2 个循环的 O(n^2) 解决方案,一个使用 Hashmap 的 O(n) 解决方案和在 O(n) 中运行的 XOR 解决方案。然后她问我是否能想到一个解决方案 O (1)空间复杂度和小于0(n)时间复杂度)
然后很多关于hashmap的问题:
- 什么是散列
- 哈希图中使用了哪种数据结构
- c++ STL 映射是如何设计的/哈希映射的内部功能
- 设计你自己的Hashmap
接下来是,
一个数字在链表中表示,每个数字对应链表中的一个节点。加1。我被要求对此进行编码。
然后这个问题修改为:一个数字在链表中表示,使得几位数字对应链表中的一个节点。加1。示例:数字 2323499 表示为 23->2->349->9 应该有一个输出
23->2->350->0(每个节点的位数不均匀,结果应该与给定节点的每个节点的位数相同。)
然后是一个谜题:10个硬币的谜题
https://www.geeksforgeeks.org/puzzle-24-10-coins-puzzle/
最后一个问题是:
在不使用额外内存的情况下反转堆栈。我被要求告诉方法,然后编写代码。
(https://www.geeksforgeeks.org/reverse-stack-without-using-extra-space/)
第 2 轮:技术面试(45 分钟 – 1 小时)
采访以一般性介绍和一些关于我的爱好的讨论开始。
然后让我告诉我的方法并为 DP 问题编写算法:Maximum size square sub-matrix with all 1s
https://www.geeksforgeeks.org/maximum-size-sub-matrix-with-all-1s-in-a-binary-matrix/
下一个问题与以下问题相同:在 geeksforgeeks 中给出的所有橙子腐烂所需的最短时间,语言略有变化。这要通过 BFS 来解决。
https://www.geeksforgeeks.org/minimum-time-required-so-that-all-oranges-become-rotten/
与此同时,她问了我很多问题,其中一些是:
- 编译器如何为变量分配内存地址
- 什么是记忆
- 网址是如何工作的
- URL中写HTTPS的意义
- 什么是 DNS 服务器
- 我在编译器中遇到的所有错误以及这些错误背后的原因
- 您使用过的所有排序算法。你可以为堆排序和快速排序代码编写代码吗?
然后她问我对这家公司的了解,并给了我一个现实生活中的问题:给定航班的起点和终点,例如:德里到孟买、德里到勒克瑙、孟买到果阿、勒克瑙到马杜赖、马杜赖到果阿。问我关于我更喜欢的数据结构,然后是如何优化航班预订,即找到一个航班,比如从德里到果阿,中间停靠次数最少。
所有这一切都以著名的绳索拼图结束:
https://www.geeksforgeeks.org/puzzle-1-how-to-measure-45-minutes-using-two-identical-wires/
第 3 轮:
人力资源回合(45 分钟 – 1 小时)
这是最有趣的采访,由导演拍摄。在这期间我真的很开心。首先面试官问了我简历中提到的项目及其实际应用。
我的大部分项目都在 ML 中,所以他给了我一些行业在对数据进行验证时面临的现实问题。
然后我们就亚马逊推荐系统的工作进行了 20 分钟的讨论。然后他让我推荐一些基于 ML/AI 的亚马逊新功能,可以改善他们的业务。
接下来是关于如何使用机器学习为游客提供良好体验的一些讨论。
最后,他问我如何看待自己在未来几年的成长。
最后,他问我有没有什么问题要问他。
几个小时后宣布结果,我被选中了🙂