📜  SDE 的 Google 面试体验

📅  最后修改于: 2021-11-21 05:54:48             🧑  作者: Mango

在 Covid-19 锁定期间,Google 的一名招聘人员联系了我,要求我担任印度的软件工程师职位。招聘人员给了我大量资源来准备面试。我会尽量分享所有可能的资源、问题(提示)、最重要的学习主题、练习平台(日常问题和模拟面试)、一些技巧、好的博客,当然还有你在准备时不应该犯的错误大科技。毫无疑问,谷歌的技术面试很大程度上基于 DSA,它有自己的难度,但我尽力了,在书面编码轮之后进入了第三轮。这种动力和体验真的充满了学习。

让我们开始准备

第 1 步:为 GFG Google 档案添加书签。在我的准备过程中,它对我帮助很大。阅读他人的面试经历是让自己为下一次工作面试做好准备的最佳方式之一。

第 2 步(数据结构):您不想错过的最重要的数据结构是:列表、地图、堆栈、优先队列、二叉树、图、袋子、集合

第 3 步(重要话题):谷歌面试中最常问到的话题(根据我从招聘人员那里收到的邮件):

  • BFS/DFS/洪水填充
  • 二分查找
  • 树遍历
  • 哈希表
  • 链表、堆栈、队列、两个指针/滑动窗口
  • 二叉堆
  • 动态规划
  • 联合发现
  • 临时/字符串操作

您应该知道的其他主题: Trie、段树/Fenwick 树、位掩码。

Step 4(Sites to practice):强烈推荐的练习题的网站(通常是练习中等和难度级别的问题):

  1. Leetcode(强烈鼓励)
  2. Geeksforgeeks(强烈鼓励)
  3. 顶码器
  4. 代码力量

第 5 步(编码书):如果你抽出一些时间来练习这本书中的问题真的很棒,https://books.google.co.uk/books/about/Cracking_the_Coding_Interview.html?id=anhAXwAACAAJ&hl=en

第 6 步(模拟面试):强烈推荐使用前置放大器 (https://www.pramp.com/#/)。

第 7 步(BigOCheetsheet)这是一个很棒的 bigocheatsheet,可以提供很大帮助 https://www.bigocheatsheet.com/

第 8 步: Google 招聘人员提供的资源-> 如何最好地准备技术面试:

第 9 步(不要忘记!):在 Google 文档上练习编码的一些技巧

第 10 步(Google 编码问题):Google 编码问题的重要列表。

分享我的面试细节(问题模式和难度)

第 1 轮(编码):本轮有 2 道简单/中等难度的问题。两者都基于DP的概念。第一个问题与经典的 DP 问题非常相似(达到 1 的最小步骤)https://www.spoj.com/problems/MST1/。第二个问题与 https://leetcode.com/problems/longest-palindromic-substring/ 完全相同。在这里,我们应该在给定的字符串找到最长的回文子串。第一个问题已经完全解决,第二个问题被部分接受,因为我使用了蛮力方法。

第二轮(电话面试):这一轮进行得很顺利。在这方面,我被问到了 2 个问题。第一个是中等级别的模式搜索问题(字符串)。 GFG 链接以获取更多详细信息。第二个问题基于堆(优先队列),GFG 链接。

第 3 轮:这一轮也是虚拟的。与前几轮相比,它有一些困难的问题。第一个问题类似于https://leetcode.com/problems/text-justification/,另一个问题基于类似的概念,如https://leetcode.com/problems/the-skyline-problem/,另一个问题是 https://leetcode.com/problems/angle-between-hands-of-a-clock/。这一轮进行得很顺利,我被要求参加下一轮。

第 4 轮:本轮比之前所有轮都更难,问了 1 个 DP 中型和 1 个 Graph Hard 问题。我能够解决第一个问题,但陷入了图表 :(。图表问题类似于 https://leetcode.com/problems/shortest-path-with-alternating-colors/(有点棘手)和 DP 问题也是 leetcode medium 的,这一轮对我来说不太好。

提示:

  1. 准备一份好的简历(干净、清晰、准确)。不要放任何不必要的信息。

  2. 就在您的下一次在线面试之前:

    • 准备好笔和纸,你永远不知道什么时候写
    • 随身携带一个水瓶
    • 把手机调成静音
    • 5分钟前登录(很重要)
    • 大声说清楚
  3. 充分利用“告诉我你自己”的问题

  4. 不要放弃!即使你在面试中遇到了一份你真正认为非常适合你的工作,也不要放弃!