技术测试:
1.给定一个由“*”和字符组成的矩阵,打印旁边有最多星星数的字符(也包括对角线元素)。如果两个字符的最大计数相同,请按字典顺序打印最小的一个。
答:简单遍历矩阵并检查条件
2.给定一个范围为(0–49)的数字数组和具有开始索引和结束索引的查询,为每个查询查找最大元素。
(我使用了简单的暴力,得到了部分分数)。
答:使用段树数据结构或平方根分解。
替代解决方案:由于我们的数字范围仅为(0–49),请为每个值定义一个数组映射。对于每个值,将索引存储在相应数组中出现的位置。对于每个查询,从49到0开始,检查给定元素是否存在于范围内。
10个技术问题(数据结构和算法、计算机网络、DBMS、操作系统)
10个问题:能力倾向
12名学生入围面试名单。
技术第一轮:
这一轮是在海得拉巴办公室与一些员工的视频会议上进行的。他们让我在编辑器上写下每个问题的代码。
1.给定连续的字符串流,随时找出前10个最大的字符串。下面的链接将很有帮助。
https://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/
2.关于多处理和多线程的一些讨论。这是高效的——创建线程或创建新进程。然后,他们让我在线程上写一个代码。
您将获得3个线程和一个全局变量,比如count=0。第一个线程用于增加计数,第二个线程用于减少计数,第三个线程用于打印计数变量。使用以上信息,打印以下图案:1 2 3 4 5 3 2 1
我使用信号量来限制线程调用的顺序,并试图构建解决方案,但无法编写正确的代码。
3.查找字符串的第k个置换。
e、 g string=ACBD,k=0;ans–ABCD。
我最初对字符串进行排序,并应用算法来查找给定字符串的下一个排列k次。
复杂度:n*log(n)+k*n
他们要求优化我无法实现的解决方案。
5名学生被选入第二轮。
技术第二轮:
1.他们问我在沃尔玛实验室的实习项目。我研究了中间件,所以他们问我什么是中间件,你们在整个项目中做了什么工作。总是试着根据自己的情况而不是团队的情况来回答。由于我的项目包含http请求,他们提出了一些问题:
- 不同类型的http请求。
- GET、POST和PUT之间的区别。
- HTML请求中的标题–请求类型,Http版本
- 数据格式–JSON,html请求中的内容类型–应用程序/JSON
2.给定一个大小为n的整数数组。如果1到n-1范围内的i的arr[i-1]
以小于O(n)的时间复杂度查找数组中的所有峰值元素。
我提出了一个解决方案,如果数组包含像4 6 8 9 3 2这样的单峰元素。然后他们给了我一个提示——你能用你的算法解决上述问题吗。我给出了打印任何峰值元素的解决方案。
https://www.geeksforgeeks.org/find-a-peak-in-a-given-array/
他们询问上述解决方案是否适用于所有情况。我的回答是肯定的,因为它由两个边缘条件支持。他们消除了边缘条件,并提出了新的解决方案。我说只有O(n)解。
3.编写一个函数来给出幂(x,y)。
4.给你一个只有一个存储单元的处理器。它在每一时刻从机器接收一个整数(先是1,然后是2,3,…)。为处理器提出一种算法,以便——
如果有人从处理器中提取一个整数,它将给出一个概率为1/(处理器从机器接收到的整数数)的整数,即。
机器将1传递给处理器。如果一个人从处理器中提取一个整数,它应该以1的概率提取1。
机器现在将2传递给处理器。如果提取,则应提取概率为1/2的1和概率为1/2的2
机器通过3级。1的概率为1/3,2的概率为1/3,3的概率为1/3。
请注意,您只有一个存储单元,因此可以存储atmost 1整数。
我给了他们一个方法。他们对此非常满意。
5.名人问题(使用stack解决)
https://www.geeksforgeeks.org/the-celebrity-problem/
人力资源回合:
告诉我一些关于你自己的事情,讨论持续了大约10-15分钟。
技术第四轮:
1.关于中间件的问题(我的实习项目),为什么使用中间件?我们不能使用前端和后端执行相同的任务吗?为什么不必要地增加一层。
2.TCP和UDP的区别。您将如何使用TCP提供的所有服务实现UDP?
答:我们可以更早地在应用层实现TCP服务,以便稍后在传输层应用UDP服务。使用应用层本身从两端更早地建立可靠连接。
3.给出一个表products,其中包含3列product_id、product_type和country。执行查询——
从产品中选择*country=“India”。
这要花很多时间。试着优化这个。
答:我使用了B+树和B+树索引的概念。
4.讨论操作系统的概念,如交换、请求分页、操作系统如何选择所需的帧(回答了页面表、页面错误、受害帧、页面替换算法的整个过程,页面表中的位,如修改、读/写等)
5.您会收到许多6GB的文件,每个文件都有整数流。你的主内存中还有4GB的空间(主要是为了换出,换入)。必须将所有文件中的已排序整数序列存储在另一个输出文件中。你会怎么做?
我给出了错误的解决方案,然后放弃了。
6.雨水问题
https://www.geeksforgeeks.org/trapping-rain-water/
为你的项目做好充分的准备,并试着向他们传达一个信息,即你在项目中做了大量的工作。
在每一轮的最后,他们会问你是否有任何问题。你应该准备一些好问题。它总是给人留下好印象。