📜  PayPal 软件工程师面试经验 – 2 Chennai

📅  最后修改于: 2021-11-18 01:17:42             🧑  作者: Mango

每一轮都在淘汰赛的基础上进行。

第 1 轮:(基于 Hackerearth 的测试)[时间:1 小时 15 分]

这一轮有2个问题。

  1. 给定一个大小为 N 和 K 的查询数组,找到包含最左边或最右边的索引(来自 queires)的段数,并且索引处的数字 >= 该段的每个元素 例如:arr[] = [1,2 ,3] K = [3] -> o/p : 3 ([3],[2,3][1,2,3])
  2. 修改这个问题(https://leetcode.com/problems/find-k-closest-elements/)。

判决:清除

第二轮:F2F [时间:1小时]

  1. 给定一个数组和一个目标和 k,找出所有 a[i] + a[j] = k。跟进:处理数组是否同时具有重复和非重复元素
  2. 找到字符串的第一个非重复字符(只有小写字母)https://leetcode.com/problems/first-unique-character-in-a-string/。跟进:i) 包含小写和大写 ii) 不区分大小写和区分大小写 iii) 在 O(1) 空间复杂度

判决:清除

第三轮:F2F [时间:1小时]

  1. 查找链表是否为回文 [预期时间和空间复杂度:O(n) & O(1)]。 https://leetcode.com/problems/palindrome-linked-list/
  2. 求二叉树的直径(https://leetcode.com/problems/diameter-of-binary-tree/)
  3. 验证一棵树是否是 BST(https://leetcode.com/problems/validate-binary-search-tree/)

判决:拒绝

想法/分析:必须解释第一个逻辑/方法,并且只有在面试官满意时才允许进行编码。第一次切割需要最优化的时间和空间复杂度解决方案。如果你说一个蛮力/次优解决方案,你将被要求考虑更好的解决方案,然后只允许编码。如果您无法在 20 分钟内想出解决方案,则当前问题将被搁置,并会询问下一个问题。必须彻底了解时间和空间复杂性。

祝一切顺利 !!!