采访1: 面试官问了我的简历,然后问了我以下问题。给定一个从整数映射到实数的函数,它严格地增加到某一点,比如a,然后严格地减少,写一个函数来找到这一点。解决方案是一个简单的二进制搜索,技巧是到达峰值的另一侧。这可以通过迭代增加“x”并检查向下的坡度条件来实现。这一步可能是恒定的,但指数级的增加会让你更快到达终点。我被要求通过给出递推关系来证明这一点,从而展示其复杂性。我还被要求使用我选择的任何语言编写整个算法,而我使用的是c语言。
采访2 当面试官看到我简历中提到的一个学术项目时,他问我有关插座和端口的网络。 采访问题如下: 1) 给定一棵二叉树,其中每个节点的值都是一位数字,求每个根到叶路径生成的数字之和。他还要求为相同的主要功能编写代码。我找不到关于Geeksforgek的确切问题,但这一个已经足够接近了
2) 给定一个numpad,使每个数字都与一组字母相关联,给出给定一个数字串可以形成的所有字符串组合。他还要求为相同的主要功能编写代码。
采访3 1) 给定一个整数数组,从该数组中找到一个子集,这样,在对该集合的元素求反后,所有元素的总和将等于零。 我无法解决这个问题,在给我一个使用动态规划的提示后,他继续下一个问题
2) 给定两个排序数组,在不使用额外空间的情况下找到合并数组的中值。我给出了一个O(N)解,他让我给出一个O(log(N))解,我在考虑之后给出了这个解
3) 以之字形顺序逐级打印二叉树 .我给出了一个使用双端队列的实现,他不满意,因为这会导致在d队列中存储级别的额外空间复杂性。当我决定用两个队列来做同样的事情时,他很高兴。他还让我把它编出来
采访4 1) 面试官问了我知道的数据库类型,并详细阐述了mongodb和JSON等非关系数据库。
2) 接下来,他问我在数据库中建立索引的必要性及其实现。
3) 在拍卖系统中,出价最高的投标人获胜,但以第k个最高价格收费。为它开发一个系统。使用hashmap解决了这个问题。被要求为同样的问题编写代码。
4) 给定一个数组,使得除一个元素外的所有元素都是重复的,找到这个元素。他对问题进行了调整,增加了一个条件,即有两个这样的元素,而不是一个。 即使他给了我一些提示,我也找不到解决办法。最后他给了我答案,但他立刻说可能不行。我意识到了为什么它会起作用,并解释了同样的原因。
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。