📜  ThoughtWorks 面试经历 |设置 5(校内)

📅  最后修改于: 2022-05-13 01:58:30.673000             🧑  作者: Mango

ThoughtWorks 面试经历 |设置 5(校内)

举办了 ThoughtWorks 校园活动,并持续了 3 天。没有对学生施加 CGPA 限制。大约 350-400 名学生参加了校园活动。
选拔过程共进行了6轮。
1. 短编码轮
2. 长编码轮
3. 技术面试1
4. 技术面试2
5. Skype 面试
6. 电话面试
对于编码回合,我们使用了我们的笔记本电脑,其中一些使用了大学实验室系统。而且所有回合都是淘汰赛。你没有第二次机会。无情,对吧?
回合(正如它发生的那样)如下所述。

短编码
在这一轮中,给出了一个小编码问题来解决。时间限制是 20 分钟。问题是——”给定一个偶数整数列表,以这样的方式折叠它,新列表由添加第一个和最后一个元素、第二个和倒数第二个元素、第三个元素后获得的元素组成和倒数第三个元素,依此类推”。这里,list 不是链表。它是一个普通的数组。
很基本的东西。只有正确的输出才能进入下一轮。

长编码轮
110人进入了这一轮。这是您的对象建模技能发挥作用的回合。我们期待一个时间限制为 1.5 小时的 OOP 问题(这是通用的 TW 风格),但 TW 决定让我们感到惊讶。他们递给我们一张纸,上面有一个编码问题。我们必须在 30 分钟内向他们展示输出结果。这是一个简单的程序,其中一轮网球比赛的分数被提供给我们(显然是作为控制台的输入),我们必须显示获胜的球员的名字。实现起来并不难,但他们希望我们通过所有测试用例并处理边缘用例。
许多学生无法解决这个问题,立即被淘汰。解决问题的人现在被要求重做同样的问题,但这次他们必须使用对象建模(应该已经看到它的到来,哈哈,因为它的 TW)。他们希望我们在声明变量名和方法时要小心,并且还希望我们能够相互关联的适当类。时间限制是惊人的40分钟。
这里要理解的一件重要的事情是,当 TW 给你一个 OOP 问题要解决时,你不需要强调找到解决方案。相反,努力使您的班级模型正确。这就是他们所寻找的。
22人进入下一轮。

技术面试1
这是第二天举行的。所有 22 人都接受了 2 位 ThoughtWorkers 的采访。这是你几乎所有东西都钻研的地方,尤其是对象建模。
我可能是最后一个参加面试的人。
他们开始于:
1. 说说你自己
2. 下一个问题是数据库设计问题。问题是:
当一个航班完成一次旅行时,它会被转移到机库或开放空间,在那里进行适当的服务,例如清洁、加油等,然后再分配给另一次旅行。假设 TW 被分配了维修飞机的职责。您将如何设计一个数据库来帮助 TW 处理整个运营并通过跟踪飞机在 TW 服务上花费的时间量以及向航空公司收取服务费用来产生收入。
处理此问题的歧义。例如
“我们是在谈论多个机场还是一个机场?”
“开放空间和机库本质上是一样的吗? ”
“有多个层次吗? ”
“我们在这里谈论什么样的服务? ”
“可以为开放空间和机库中的飞机提供相同的服务吗? ”
“机库/开放空间的大小”
然后他们转向数据结构和算法。
3. 查找数组中的峰值元素。给定一个数组,将数组重新排列在峰谷交替位置。
4. 给出一个可以在 O(1) 时间内给我们一个峰值元素的数据结构。
5. 一些树的问题。
6. 您如何找到西里古里的非素食餐厅? (不,答案不是 Zomato :p)。由于我用 BFS 提供了一个图形解决方案,他问我如果搜索是从钦奈进行的,那么什么是更好的选择。
7. BFS abd DFS 的区别。
8. 25匹马谜题(标准谷歌问题)。

技术面试2
这一轮只有9人晋级。
他们让我再次自我介绍。
问题是:
1.多线程讨论:Java的多线程机制、共享资源、监视器。
2. Java如何让线程访问共享资源。关于同步的讨论。
3. 一位面试官给了我一个小代码片段,让我解释一下同步的过程。在那个特定的代码中甚至需要同步吗?
4.关于Java中不同集合类的问题
5. 在已排序的旋转数组中搜索元素。在 O(log n) 时间内完成。(纸上的代码)
6. 蜡烛拼图
技术面试非常彻底且令人筋疲力尽,但是如果您正确了解自己的东西,那么您会喜欢它。面试官非常友好,如果你被困在某个地方,他们会帮助你。面试基本上是类似的讨论,他们想要测试你的能力而不是你的知识。处理歧义非常重要,他们希望您澄清您的疑虑。在跳到解决方案之前,请仔细考虑。我的两次技术面试都在一个半小时左右。
向其他受访者提出的一些有趣的技术问题是:
1. 为我们的银河设计班级模型。
2. Youtube 是如何运作的?
3. 设计一个冰淇淋店。
4. 编写 LinkedLists 的解决方案,例如折叠、查找交集、检测循环、仅使用 1 次遍历查找第 k 个到最后一个元素。
5.哲学家用餐问题。

Skype 面试
本轮共有8人晋级。在这一轮中,一位 ThoughtWorker 加入了我的 Skype 通话。
这一轮基于台湾社会和经济正义的第三个支柱。他想知道我对一些与经济和社会正义最相关的东西的看法。面试官非常容易交谈,这一轮持续了大约 45-50 分钟。

电话面试
这一轮有一些通用的人力资源问题要问我。他们很正常,你会在任何其他 HR 面试中找到。这一轮持续了大约40分钟。
最终,我们 8 人都获得了 ThoughtWorks 应用程序开发人员的职位。

ThoughtWorks 是一家非常适合工作的公司。他们寻找的开发人员不仅擅长自己的工作,而且能够跳出框框思考。如果您出现在 TW 中,请确保展示您的 OOP 肌肉。