📜  WorkIndia 面试经历

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

WorkIndia 面试经历

有4轮

  1. API 测试轮(2 小时)
  2. 系统设计技术回合(2 小时)
  3. 团队负责人技术回合(2 小时)
  4. 文化轮(人事轮+薪酬谈判轮)

第 1 轮:这是一个 API 开发轮。 HR 将在回合开始前 1 小时发送问题。我们需要编写有效的 API 代码。您可以自由使用 google 查找解决方案,但是不允许复制现有项目。您必须将您的项目推送到 GitHub 存储库并提交此 Google 表单

我被问到以下问题:

问题陈述:您的任务是创建一个支持项目要求的 HTTP API。记录用户笔记的 Web 应用程序。

要求:

用户帐户注册:创建一个用户帐户。这些凭据将用于登录此面板。

[发布] /应用程序/用户

请求数据:{

'用户名': str,

“密码”:str

}

响应数据: {

'状态':'帐户已创建'

}

用户帐户登录:提供使用用户凭据登录面板的能力。

[发布] /app/user/auth

请求数据: {

'用户名': str,

“密码”:str

}

响应数据: {

“状态”:“成功”,

'userId': 整数

}

列出已保存的笔记:

为登录用户提供存储笔记列表

[GET] /app/sites/list/?user={userId}

请求数据:

响应数据: [已保存笔记列表]

返回的列表应该属于请求传递的userId

保存新笔记:

为用户提供添加新注释的能力。

[POST] /app/sites?user={userId}

请求数据: {

'注意':str,

}

响应数据: {

“状态”:“成功”

}

可选要求:存储在数据库中的所有笔记都必须加密。没有密钥,任何人都不能阅读存储的笔记文本。密钥可以存储在代码本身中。

技术栈:您选择的任何网络服务器(Python Flask / Django、NodeJS Express / Koa、 Java等)

数据库:MySQL(必修)

解决方案: https://github.com/sudheersingampalli/WorkIndia-notesapp

第 2 轮(系统设计轮):设计一个 TikTok 的克隆,它将支持以下要求:

要支持的功能:

  • 用户可以发布视频
  • 用户可以看到其他用户的新闻源
  • 喜欢和评论功能
  • 用户可以互相关注。

解决方案: https://www.youtube.com/watch?v=VJpfO6KdyWE

数据库设计完成后,我被问到一个额外的问题,例如:

  • 许多用户在一天内发布超过 5 个视频。
  • 查找最受欢迎的用户:在他的视频中获得最多赞的用户
  • 添加最喜欢的功能。
  • 有关如何扩展上述系统的问题,当拥有 1000 万粉丝的名人登录您的应用程序时会发生什么等。

第 3 轮(团队负责人将面试):

  • 深入讲述你的经历
  • 您贡献的 2 个项目及其深度影响
  • 您面临的生产问题以及您是如何解决的

DS 问题:可能会出现以下问题之一:

  1. 给定一棵二叉树,找出所有没有兄弟节点的节点
  2. 砖问题。 2D 矩阵以 0,1 给出,其中 1 表示砖是好的,0 表示砖有裂缝。找到倒水时的路径。
  3. “给定 5 个容器。每个容器都有重 10 克的滚珠轴承,但 1 个容器有一批重达 9 克的坏批次滚珠轴承。每个容器都有相同数量的滚珠轴承。找出找到坏容器所需的最小称重尝试次数。 (重量更轻的那个)”
  4. 三只蚂蚁坐在等边三角形的三个角上。每只蚂蚁开始随机选择一个方向并开始沿着三角形的边缘移动。没有蚂蚁发生碰撞的概率是多少?

第 4 轮(文化轮):人力资源问题和薪酬讨论。