在线访问InterviewStreet:
18个MCQ(常规C循环问题,联网,dbms,os,分析)
2个编码问题
1.检查无向图是否是树。
2.给定一个整数数组,打印出两个绝对差最小的元素。
面试回合:
第1轮:
说说你自己。
1.给定一个矩阵(不一定是正方形),其中对行中的元素以及列中的元素进行排序。在矩阵中找到一个给定的整数。
告诉方法。然后编写代码。
2.给定一个将骑士放置在nXn棋盘上的位置。找到可以放置在板上的最大骑士数,这样就不会有2个骑士互相攻击。
请记住,您只需要给出骑士的人数,而不是他们的所有职位。我首先可以安排ceil(n * n / 3)个骑士。然后他问我找到更好的解决方案。最终我到达了ceil(n * n / 2)。然后他让我编码。然后,他让我删除了ceil条件(分别检查偶数和奇数)。
他问我是否对他有任何疑问。我问–亚马逊努力成为地球上以顾客为中心的公司。作为程序员/开发人员,您会怎么做才能实现这一目标,因为通常来说,客户的问题是高级经理和计划人员的问题。
第二回合
从我的实习生项目中的一些问题开始。
1.给定二叉树,将每个节点的数据替换为其所有后代节点的数据之和。(叶节点将为0)
2.给定正整数排序数组,找到丢失最少的正整数。首先,我给出了一个O(n)解。然后他要求我对其进行优化。最后,我给出了O(log n)解决方案。
3.给定一个数字流,从中找到k个随机数。我向他解释了水库采样方法。他问为什么这种方法行得通。每个数字被选中的概率是多少?如果流少于k个数字(其1),则选择任何数字的概率是多少?
他问我是否有问题。我说我有一个,但是我已经问过以前的面试官。他问我对此是否满意。我说答案非常令人满意。
第三回合(CS回合):
他问我是否适合编写SQL查询。我不想。
1.什么是接口?为什么使用它?举个例子。什么是抽象类?为什么使用它?举个例子。为什么有2个不同的接口和抽象类概念?
2.你知道单身人士班吗?它是什么?实现一个简单的单例类。我在使属性变为静态等方面犯了一些错误。他指导了我,最后我纠正了所有错误。
3.给定一个二叉树,其中每个节点都有一个额外的下一个指针。填充下一个指针,以便每个节点的下一个指针指向其下一个兄弟节点。首先,我给出了一个需要映射的解决方案,其中每个映射键将是一个级别号,而值将是指向该级别最后一个当前访问的节点的指针。然后他要我在没有空间的情况下做。最后,我给了他一个没有空间的解决方案。我提供了一种非递归的方法,他请我对其进行编码。
第4轮(西雅图办事处的高级SDE 3):
他向我介绍了自己,他的团队,他的工作以及他的团队的工作。
1.告诉我您的一项具有挑战性的项目/实习/课堂作业。
2.给您的生活带来负面反馈的情况,以及您如何应对这种情况。
3.向我解释了一种缓存情况,其中,键将在缓存中,并且每个键都指向一个字符串。这是LRU缓存条件,我必须实现LRU缓存。然后编写一个函数,从该缓存中检索一个字符串(给定其键)。 Retrievel应该是O(1)(如果您给O(n)检索,他会要求您将其设为O(1))。
终于得到了报价! 🙂
在回答问题时,请澄清您所想到的任何疑问。完全不要自己做任何假设。
继续按您的想法讲自己的方法。即使可能,即使您编写代码,也要保持说话。他们想测试您是否真的知道这种方法,而不仅仅是复制代码。所有回合都是技术性的和淘汰性的。在他们的程序中,最后一轮权重最高。编写干净的代码,询问是否需要一些时间。
非常感谢GeeksForGeeks团队为面试准备提供的帮助! 🙂
亚马逊的所有练习题!