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

📅  最后修改于: 2021-11-23 07:48:10             🧑  作者: Mango

不切实际。不切实际的。我申请了印度浦那的应用程序开发人员(全栈)职位。面试过程包括4-5轮。

关于我: 7 年以上的全栈Java开发(仅限从头开发项目)

TW = 思想作品

面试前(复杂性 – 非常简单):这将是他们提供的一些小程序,只是为了检查您的基本编程逻辑(HackerEarth 类的测试链接)。您需要将答案提交给 TW 公开的 REST API。

代码重构(复杂度平均):他们检查您的 Junit/UnitTesting 技能,并了解您如何重构代码。这里的重点是在重构代码之前应该正确地编写 Junit/测试用例。测试用例作为一个检查点,以确保您的代码即使在被修改/增强后仍能产生正确的结果。

此外,他们还推出了自己的传奇程序员著作 Martin Fowler 之一,但我必须说这是一本非常好的读物。

技术深度(复杂性 – 难):这是他们检查您对“核心”技能了解多少的地方。我的是Java。我在这里没有问题。多年来,我已经掌握了这门语言,并在多个Java框架上工作过。如果你的核心很强,你就会清除它。

这里没有代码解决,只是他们检查你解决问题的方法。

例如。如果我要自己设计一个内容交付网络 (CDN),我的设计会是什么,我会使用什么数据结构等等,并且会发生很多交叉问题来检查你为什么在你的设计中选择某些东西。

技术广度(复杂性-困难):这是最差的一轮。而且是最不切实际的。他们会检查一个人除了核心技能之外还知道哪些其他语言。

我只知道Java(我的核心技能)。

所以他们让我休息一下,学习一门新语言,比如 GoLang 或Python ,并探索一些 NoSQL 数据库。我在Java、前端和 RDBMS(SQL 数据库)方面有经验。

我把它放在心上并自学了 GoLang(后端语言,如Java)和 Apache Cassandra(NoSQL 数据库)。 3 个月后,我再次进行了这一轮,但被拒绝了。

给出的原因是我引用了 HR 的原因。 “至于反馈,我们觉得你对 Cassandra 和 Golang 的理解有待提高”

所以基本上他们拒绝了我的一些不是我的核心技能的东西。我有三个月的时间来学习,这三个月里每个周末都不是三个月,因为我在当前组织中担任领导,我有责任交付客户工作。

为了研究这个,我中间拿了几片叶子。无论身体上和精神上有什么可能,我都会尽我所能,并尽可能多地学习,但他们希望我拥有知识,即专家级别的知识,这是不现实的。

此外,在这段时间里,由于这一切,我处于极度的抑郁和焦虑之中。这就是为什么我说不切实际和不切实际的采访。如果他们要求你学习并在三个月后回来,我个人不建议回到他们身边,因为据我观察,这些候选人几乎总是被拒绝。

如果所有的面试轮次都在一个流程中进行而没有让您拖延 3 个月,那么就去做吧,否则就不要经历这么多痛苦。

PS:我尽量只写事实,不要情绪化,这样你就可以自己判断应该做什么。