对于软件开发人员角色(分析师):
第 1 轮:在线编码轮
2 小时内的 2 道编码问题。
一季度。给定一个数字“x”,以及“y”到“z”的范围。找到该范围内所有数字“n”的计数,使得数字“n”和“x”的乘积不包含数字“n”中的任何数字。例如如果 x=2, y=11, z=13, 那么,
- 对于 n=11, 2*11=22 //有效
- for n=12, 2*12=24 //无效,因为 24 包含来自 n=12 的 2
- 对于 n=13, 2*13=26 //有效
因此,count=2(https://www.geeksforgeeks.org/count-numbers-in-range-such-that-digits-in-it-and-its-product-with-q-are-unequal/)
Q2。一个人从 A 市到 B 市旅行。他从 X 笔钱开始。他每天都会花一些钱,也可能会工作几天来赚钱。他可能赚得比他在同一天花的钱多,或者他可能花的钱比他在同一天赚的钱多。给你一个整数数组,代表他的净储蓄(收入支出),找出他应该开始的最低金额,以确保他在任何一天结束时总是有一些钱(> 0)。 ( https://www.geeksforgeeks.org/minimum-initial-energy-required-to-cross-street/ )第 2 轮:Coderpad 轮
1 小时内完成 2 道编码问题,并与面试官简要讨论该方法。还要为代码编写测试以运行测试用例。
1.在Java实现Deque类及其方法(使用双端队列的方法)。
2. 收集雨水:https://www.geeksforgeeks.org/trapping-rain-water/
第 3 轮:面试轮 – 技术
- 询问双向链表及其工作原理。由于它占用空间,您将如何使用单指针对其进行优化(我使用 XOR 链表给出了解决方案)。
- 实现 LRU 缓存 ( https://www.geeksforgeeks.org/lru-cache-implementation/ )。
- Comparator 和 Comparable 之间的区别。给定用户定义的类 Employee 和员工列表,根据员工的年龄对列表进行排序。您将使用什么来排序、比较或比较以及为什么?您将如何决定何时使用可比较以及何时使用比较器?
- 询问匿名对象。
- == 和 equals() 的区别。
- Java中 HashMap 的内部工作。何时覆盖 equals() 以及何时覆盖 hashCode() 方法。
第 4 轮:面试轮 – 技术
- 给定 n,编写递归代码以打印高达 n 的斐波那契数列(https://www.geeksforgeeks.org/tail-recursion-fibonacci/)。
- 给定长度 n,打印所有可能的长度为 n 的二进制字符串( https://www.geeksforgeeks.org/generate-all-the-binary-strings-of-n-bits/ )。
- 给定时间 hh:mm。找到时钟的分针和时针之间的角度。 (https://www.geeksforgeeks.org/calculate-angle-hour-hand-minute-hand/)
- 给定一个最大的单词字典,您将使用哪种数据结构来设计一个搜索选项,这样当您搜索 let say “typ” 时,它会从字典中给出可能的结果,例如“typed”、“typing”等(我说试)
- 给定两个字符串S 和 T。找到 S 中包含 T 的所有字符的最小子字符串。另一个字符串/)
第 5 轮:面试轮 – 技术
- 给定两个链表,其中链表中的每个节点都表示一个数字。查找两个链接列表的总和。 Foreg- List A: 1->2->3, List B: 9->1->5,那么总和将为:1->0->3->8。 (https://www.geeksforgeeks.org/add-two-numbers-represented-by-linked-lists/)
- 在单线程环境中,找到字符串的第一个非重复字符。 (https://www.geeksforgeeks.org/given-a-string-find-its-first-non-repeating-character/)
- 在多线程环境(4 个线程)中,在长字符串找到第一个非重复字符,每个线程应该独立并发执行。 (我将字符串分成 4 个子串,让每个线程独立并行解析,并将子串的非重复字符的索引存储在 hashmap 中,然后将所有 4 个 hashmap 返回到主线程。然后主线程将读取 4 个 hashmap 并找到最终结果第一个非重复字符)
- 您将如何为函数编写测试(单元测试)。询问模拟和修补。
- 被问及依赖注入(由于我在 spring 上的项目),它是否改进了对您的应用程序的测试?如果是,如何?
- 询问单例模式。
第 6 轮:面试轮 – 招聘经理
- 详细询问公司目前的项目。
- 为什么离开现在的公司?
- 为什么是高盛?
- 除了技术之外,您是否曾在您当前的组织中为非技术方面做出过贡献?
- 询问了一些关于敏捷工作流程的问题。
终于录用了!!
感谢 GeeksForGeeks 提供如此出色的准备平台。