三星于 2019 年 8 月访问了我们的校园招聘实习生。第一轮是在线测试,包括三个需要在 60 分钟内解决的编码问题。不同的学生被分配了不同的问题;其中一些是:
1) 使用严格的 O(1) 空间反转字符串的所有单词。
2) 计算树中所有节点的数量,使得它们的键等于左孩子和右孩子的键之和。
3) 基于图的问题。
问题很简单,但有很多隐藏的测试用例;代码必须涵盖所有边缘情况。
在参加考试的 200 多名学生中,有 37 人入围。
第1轮
这是一个纸笔编码回合,每组 5 人,每个学生都应该为单独给他/她的问题陈述写下一个有效的算法。我们被问及基于它及其相关概念的问题。从 5 人一组中,有 3 名学生入围。其中一些问题是:
1.分数背包并使用动态规划实现它(修改01背包)。
2. 最长回文子串
3、在一个由0和1组成的矩阵中,找出由1组成的H和T的个数。
4. 以链表格式存储的非常大数的算术运算。
同样,在 37 名学生中,有 27 名学生被选中。
第二轮
这是一对一的技术回合。面试官从不同的角度测试学生的知识。我的面试官非常友好,但多次试图混淆我。
1. 找出最长公共子序列
我没有写代码;但是在纸上和笔上,他开始向他解释从动态编程到记忆化的所有内容,以及 LCS 算法如何使用示例一步一步地工作。他很满意。
2. 5 m 长的线切割成 1 m 线的售价为 2 rs/m,2 m 线的 SP 5 rs/m,3 m 线的 SP 7 rs/m 和 4 m 线的 SP 8 rs/m .找出应如何切割给定长度的电线以获得最大 SP。
我开始使用贪婪的方法,但他试图操纵我说动态编程是解决方案;使用二维表。在想了很多之后,我没有让步,并使用贪婪的编程给了他一个解决方案,他同意了。
3. 给定基类和派生类,基类对象能否调用派生类构造函数?反之是否可能?
4. Java内部类的概念及其各种类型。
在这里我应该写出所有可能类型的名称和语法。
5. 散列和流行的冲突解决方法。
6. 著名的“烧电线”拼图。
并询问了更多技术问题。
我的面试持续了 45 分钟。最后选出了21名学生。我感谢 GeeksforGeeks 和这里的社区提供了如此精彩的资源,帮助我准备考试和面试。