第 1 轮:在线编码轮。有两个编程问题应该在 1 小时内解决。
- 给定两个输入字符串 a,字符串 b,返回一个字符串数组,该数组由字符串a 中与其中的字符串b 匹配的单词推荐组成。例如 -> String a = “这是获得最佳知识的最佳方式。” String b = “be” 所以输出将是 {best}。如果字符串b 有 = “th”,则答案将是 {this, the, there}。
2. 基于回文的问题 -> 给定三个整数 a, b, c ;找到 a 和 b 之间的最大回文数(包括两个),使得
(maximumPalindromicNumber – 较小的PalindromicNumber) > c.
我设法在 45 分钟内解决了这两个问题。即使是解决了一个问题的人也会进入下一轮。
第二回合:纯数据结构和算法回合。我收到了有关数组、堆栈、队列、树、图的问题。我没有被要求编写代码,但应该大声思考。这是最有趣的一轮,因为我发现数据结构和算法非常有趣。我记得,一个问题是你给出了长度为 n 的数组,它只包含从 0 到 n-1 的元素。元素可能是重复的。你必须在时间复杂度 O(n) 和空间复杂度 O(1) 中找到每个元素的频率。我设法在面试官的一些提示下即时解决了这个问题。
第三轮:这一轮完全基于系统设计。我应该从后端的角度来设计文本编辑器(桌面应用程序),以及我将如何支持不同的功能。您将有理由使用什么样的数据库。你的Java代码的结构是什么。他问了不同的层,每一层我要做什么。一旦我想出了最低要求的解决方案,他告诉我在编辑器中也加入标签功能。我这样做了,他对解决方案很满意。
第 4 轮(管理轮):他问了我一些基本的操作系统问题,如进程和线程的区别、JVM 体系结构、中断如何工作、 Java如何支持多线程。然后让我根据一些限制来设计大学考试安排程序。
第 5 轮( VP 轮) :这是行为轮,因为他问你为什么在 7 个月后离开你现在的公司。信号量和互斥量的区别,TCP 和 UDP 的区别。一个数组简单级别的问题。与此同时,他一直在他的笔记本电脑上打字。我猜,他在不同的参数上给我打分。
最后他们在简短的 HR 回合后给了我一个报价。接受了报价🙂。
感谢 GFG 以某种方式提供帮助的所有文章。继续帮助人们实现他们的梦想,最重要的是继续为我们提供知识。