📜  SDE-1 的 Mind Tickle 面试体验(校内)

📅  最后修改于: 2022-05-13 01:58:29.665000             🧑  作者: Mango

SDE-1 的 Mind Tickle 面试体验(校内)

编码轮 - 在 90 分钟内,hackerrank 有 3 个问题需要解决:

1.https://www.codechef.com/problems/ABCSTR

2.给定一个整数数组,您必须通过递增元素并给出最小和来使所有元素唯一。

例如- 2 6 4 3 3 6

输出 - 27

解释- 2+3+4+5+6+7 = 27

3.给定数组的所有子集的总和找到数组。

例如-

样本输入 - 1 2 3 4 0 5 6 7

样本输出 - 1 2 4

解释-

子集-

{} - 0

{1} – 1

{2} – 2

{4} – 4

{1, 2} – 3

{1, 4} – 5

{2, 4} – 6

{1, 2, 4} – 7

4. https://www.geeksforgeeks.org/bitmasking-and-dynamic-programming-set-1-count-ways-to-assign-unique-cap-to-every-person/

我解决了第一,第二和第四个问题,并被选中参加面试。

排名前10位的学生被选中进行面试。

第一轮(技术):

首先,他询问了我的简历,并说:“介绍一下你自己”。

然后他询问了我的项目,关于它的数据库和安全性(只有基本的东西)。

然后他问了一个数据结构问题——

问题1.-给你一个由玩家和他们的分数组成的元组(比如- {Rohit, 8.6}, {Sachin, 9.2} ),我们必须设计一个可以执行以下操作的数据结构 -

更新-

1. 添加一个元组。

2. 删除一个元组。

询问-

3. 给定一个玩家的名字,返回其排名。

4.给定排名返回哪个玩家拥有该排名。

Ans-首先,我给了他一种使用数组和散列的方法。他告诉我要进一步优化,我给出了一种使用自平衡 BST 和哈希表的方法。他看起来很满意,很快就转到了下一个问题。

Ques2-给你一个大小为 M 的内存池,你必须实现两个函数 allocate 和 deallocate。 Allocate函数将内存分配给大小为 K(固定)的对象并返回基地址。 Deallocate函数将基地址作为输入并释放该空间。对象大小 K 是固定的。

Ans-关于最佳解决方案进行了长时间的讨论,最后我提出了一个带有链表和哈希表的解决方案。他对这个答案很满意。

第 2 轮(技术):

他从一些合乎逻辑的问题开始——

1.https://www.geeksforgeeks.org/puzzle-head-shot/

2.https://www.abc.net.au/science/surfingscientist/pdf/conundrum25.pdf

然后他让我在 DSA、OS、DBMS 和计算机网络之间进行选择。

我说DSA,他说告诉DSA以外的任何人。我选择了操作系统。

他从死锁开始,什么是死锁,什么是死锁的必要条件,什么是银行家算法。然后他问我什么是缓存,什么是LRU缓存,实现一个LRU缓存。

然后他转向 DBMS 什么是规范化,非规范化。什么是 ACID 属性,并解释它们是如何通过 RDBMS 实现的。提高查询性能的方法。

然后他问我是否知道我回答不知道的校验和算法。然后他问我是否知道 Shannon Fano 数据压缩算法,我再次回答不知道。然后他说给你的字符很少,并且有出现的概率,你已经设计了一种算法,将每个字符编码为具有最少位数的二进制表示。我想出了一个类似于霍夫曼编码的算法。然后他在他的笔记本电脑上打开了香农法诺算法的 GFG 链接,并让我理解这个算法。然后当我完成后,他让我比较两种算法并向他解释哪个更好。我花了一些时间,但最后他很满意。

第 3 轮(技术 + 行为):

最初有很多行为问题,我的爱好是什么,我喜欢什么运动等等。

然后他从操作系统的问题开始,什么是进程,什么是线程,它们的区别,什么是多线程。然后他让我给他解释一下虚拟内存和分页的概念,什么是倒置页表,什么是TLB,然后他问了一个问题,这是对第一轮第二个问题的轻微修改。然后他问我是否有关于进程同步的想法,我回答是,他让我为读写器问题编写代码。最后他告诉我他对我的表现很满意。最后他还问了一些行为问题,五年后我在哪里看自己,我的人生价值观是什么等。

判决选择。