📌  相关文章
📜  HashedIn 软件工程师面试经验-II | 2021 年 5 月

📅  最后修改于: 2021-11-18 02:14:13             🧑  作者: Mango

我于 2021 年 5 月从 Instahyre 申请了 HashedIN,几天后我接到了技术招聘人员的电话。我们就我的工作经验和技术栈进行了一次小型讨论。我有1年零8个月的经历。两天后招聘人员安排了第一轮。

第 1 轮(DSA):1 小时

  1. 本轮以介绍开始。面试官非常友好。
  2. 然后我们就我简历中的第一个项目进行了讨论。因为是小组项目,所以面试官对我的贡献比较感兴趣。此外,我已将其部署在 Heroku 上。于是,面试官检查了一下,又问了一些问题。
  3. 然后面试官直接切换到了DS-Algo。第一个问题是寻找在有障碍物的迷宫中是否存在从源到目的地的可能路径。然后我们讨论了这个方法,我被要求编写代码。此外,还讨论了空间和时间复杂度。 (https://www.geeksforgeeks.org/find-whether-path-two-cells-matrix/)
  4. 然后面试官改进了问题,要求打印从源到目的地的最小路径。我们讨论了这个方法,然后我写了代码。此外,还讨论了空间和时间复杂度。 (https://www.geeksforgeeks.org/shortest-path-in-a-binary-maze/)
  5. 第三个问题是按照从右到左的第一行,从左到右的第二行,从右到左的第三行……..等格式按级别顺序遍历打印二叉树。期望在 O(N) N- 树中的节点数。然后我们讨论了这个方法。但是我没有被要求为这个问题编写代码。此外,还讨论了空间和时间复杂度。 (https://www.geeksforgeeks.org/level-order-traversal-in-spiral-form/)
  6. 下一个问题是我们如何解析 JSON 文件?给出了一个示例 JSON 文件。并询问了根据某些条件获取所需数据的方法。
  7. 然后我们讨论了斐波那契数列的时间复杂度。
  8. 一些背景讨论和面试官问你有什么问题吗?

我能够为第一和第二个问题(非常流行的图形问题)编写代码。还讨论了使用 2 堆栈方法的第三个策略。 JSON 解析我提出了一个递归的解决方案。所以,面试官被说服了。所以,总的来说这是一个很好的回合。

第 2 轮(系统设计):1 小时

  1. 这一轮也以介绍开始。面试官很好。
  2. 他直接跳到了技术部分。首先要求编写方法重载和方法覆盖的代码。 Java的HashMap和HashTable有什么区别?如果我们已经有了 HashTable,为什么还要使用 HashMap?
  3. 关于 REST API 的一些讨论。然后给了我一个 URL,并让我写出所有可能的方式来通过更改 URL 来发送数据。此外,要求使用 REST API 编写控制器。
  4. 由于我在微服务方面有经验,他问了负载均衡器和反向代理之间的区别。
  5. 然后他要求设计一个 Tiny URL 生成服务。这是一个非常流行的系统设计问题。然后我们讨论了如何扩展系统。如果我们有非常昂贵的数据库调用,有哪些不同的方法?讨论 DB 中的索引。
  6. 面试官问你有什么问题吗?

我能够回答大部分问题。但我不知道反向代理。总体来说还可以

第 3 轮(健身比赛):30 分钟

  1. 是与 HashedIn 的一位董事合作的。他在 IT 行业拥有大约 20 年的经验。非常有礼貌和友好。
  2. 首先我们讨论了工作经验,我在项目中面临的挑战,关于团队的问题,如何保持代码质量我使用过哪些工具?
  3. 一些行为问题。
  4. 我在大流行中学到了哪些新技术?除了办公室工作,你还有什么想法?
  5. 然后我们讨论了 HasedIn 的工作文化,为什么要寻求改变,为什么 HashedIn 等等。

这是一个很好的回合。老实说。

判决:选择

建议:

  • 学习 ALGO-DS 和系统设计技能。老实说如果您不确定,请说不知道。不要试图欺骗。祝一切顺利!!!