📌  相关文章
📜  应用程序开发人员的 ThoughtWorks 面试经验 | 2年以上经验

📅  最后修改于: 2021-09-23 05:31:02             🧑  作者: Mango

我通过 LinkedIn 申请了 Application Developer-Consultant。几乎在 2-3 周后接到 HR 的电话,HR 记录了诸如预期 CTC 和技术堆栈相关经验等细节。对干净的代码和新技术也进行了长时间的讨论,然后解释了面试将如何进行以及将进行多少轮。要求是Java开发人员(包括 Spring Boot、Kafka、ORM 等),但我只在 Spring MVC 上工作过,然后她给了我 10 天的时间来学习它。

一共进行了三轮面试:

  1. 结对编程回合(2021 年 6 月采访)
  2. 技术讨论(2021年6月采访)
  3. 领导力与社会讨论(2021年6月采访)

第 1 轮(结对编程轮):

  • 在我的主要编程语言面试前 2 天,我收到了一个 Github URL,并被要求克隆存储库以熟悉代码库并尝试了解它当前的功能以及它是如何工作的。
  • 注意:IDE 可能是您的选择。
  • 我已经准备好了这个代码库 URL。它是一个基于 SpringBoot、Java8、JUnit 的项目的 Rest API。
  • 但是在面试时遇到了一个基于Java应用程序的不同问题。
  • 问题:制作一个用于密码验证的Java应用程序,定义了一些规则来检查密码。有某些不同类型的用户(按某些类别分类),他们有某些地址。因此,需要检查用户是否有效,如果有效则其密码为弱、强或中。
  • 期望 – 展示您与您配对的 ThoughtWorker 编写代码、沟通和协作的技术能力。
  • 他只是专注于接口、类和干净的代码。还要仔细阅读每个说明。他还检查我是否能够接受他的提示。
  • 持续时间 – 90-100 分钟。
  • 面试官数量 – 1

幸运的是 !!我的代码运行了。

第二轮(技术讨论):

  • 期望——您对技术堆栈知识的广度和深度。
  • 面试官数量 – 1
  • 这一轮有点棘手和冗长。他们告诉我持续时间是 1.5 小时,但我们几乎用了 2.5 小时就结束了
  • 他让我讨论我有深厚知识并作为开发人员参与的任何项目。我解释了我最近的工作项目。问到项目的架构,我的项目是一个网络项目。因此,对 N/w 为什么 tcp 不是 udp、voip、sip 堆栈等进行了深入的讨论。
  • 我曾在负载均衡器 Haproxy 上工作过,因此也开始对此进行深入讨论。大约需要 30-40 分钟。
  • 之后他不满意,告诉我要对这个项目有深入的了解。
  • 然后他开始讨论Rest API的、开发者的观点、需求收集阶段,还让我为REST API编写一个简单的代码。给了我一些创建 REST API 的场景

数据库:

  • 给了我一些场景,比如为 Dominoz 创建数据库。但我从来没有从事过数据库设计,所以他也帮我设计,他只是期待多对多、一对多、多对一等关系的表。
  • 然后他让我规范化这些表格。幸运的是,我知道如何对表格进行规范化并完成了。
  • 类图:让我为给定的场景画一个类图。
  • 最后他让我打开我最喜欢的IDE,同时我们讨论了Java8。

Java 8 Streams:给出了使用Java Streams进行编码的不同场景,包括map、flatMap、reduce、max、min等函数,并讨论了这些函数的意义。

DAA 和 DS:

问的问题是:

  1. 2 无序链表,创建一个有序的LL。创建自己的 LinkedList,不要使用Java LL 类。
  2. 雨水捕集。不要使用 Java 的内部数据结构类,创建你自己的。 (就像我使用 Stack 一样,使用 ArrayList 创建一个堆栈)

两个代码都成功运行。

本轮通关!!

第三轮(领导力和社会讨论):

  • 持续时间:60 分钟
  • 面试官数量 – 1
  • 开始讲当前的疫情形势,这段时间成为孤儿的孩子,需要为这些孩子采取什么措施。讨论女权主义,这是必要的。 ME TOO 运动,Triple Talaq,南方的一座寺庙,那里不允许妇女、特权人士和非特权人士。
  • 关于项目,角色和职责,我感到压力和处理的情况。等等。

本轮通关!!

1周后,招聘人员打电话给我协商套餐,并在同一天提供了这封信!!

与 Thoughtworks 进行面试真的是一次很棒的经历。 (感觉就像讨论和大量学习)