Quikr 面试经历 |设置 3
黑客排名第-1轮
1) 找出句子中第一个重复的词。
– 使用集合逐字存储,插入重复时返回 false。
– 使用哈希图来存储计数并检测重复项。
2)给定一个坐标列表,矩形的最小尺寸是多少,使得 k 个点位于矩形内。
– 无法找到仅通过 6 个测试用例编写的完全正确的答案解决方案。
回合 - 2
1) 从二叉树的根节点打印路径。
– 简单的问题要求编写代码并检查我们是否涵盖了边缘情况。
2)找到连续数字流的中位数。
– 亚马逊面试问题中更常见的问题
3) 当您只有指向要删除的节点的指针时,删除链接中的节点。
– 遍历找到我们要删除的节点不是一种可行的方法,可以得到从下一个节点复制的想法,并且当我们将指针指向我们要删除的节点时,它是好的。
– 如果节点是链表的最后一个节点,边缘情况会怎样。
4) 用于存储字典单词的数据结构。
– 哈希映射不是最佳解决方案,因为您最终会为每个单词分配内存。
– 尝试是选择的最佳数据结构
5)在存储字典的单词时,尝试如何比哈希映射更好?
6)hash map的负载因子以及它如何影响hash map的性能。
7)关于哈希映射的equals和哈希码合约的问题。
8) 您决定选择链表或数组列表的时间。
– 当您的要求是执行更多的删除和插入而不是搜索时。
9)问并发hashmap和Collections.synchronized(hashmap)的区别
– 有点摸索,因为我不知道并发哈希图中发生的锁条带化。
10) 解释快速故障和故障安全迭代器。
11)如果不是为什么,是否允许静态覆盖?
– 不可能,因为静态方法是在编译时绑定的,而非静态方法是在运行时绑定的。
12) 询问线程池以及为什么使用它们?
回合 - 3
1) 让我编写创建死锁的代码
- 写了 2 个可运行的,它们以相反的顺序调用嵌套同步锁/
2)如何防止死锁?
3)问了一些与线程有关的问题
4) 给定字典 {cat, rat, mat,map} 的单词列表,给定 2 个单词 cap – map
您一次只能更改一个字符
例如:帽子 - 猫 - 垫 - 地图
“http://paste.ofcode.org/6Cb2DFbwHXB2nG3xJEze2n”——我建议的代码逻辑。
5) 关于使用序列化共享对象的问题。还谈到了使用 gson to Json 实用程序在应用程序之间共享对象
回合 - 4
1)让我为单例模式编写代码
– 为双重检查单例模式编写代码
2)问我是否知道装饰器模式
——我说我不知道。
3)问我机器人能够向不同方向移动,但它应该有能力后退
- 没有点击堆栈是我应该使用的数据结构,面试官提示堆栈。这是适当的数据结构,可以让步骤后退。
4)问了一个小问题,关于是否有其他无法序列化的对象我们必须在我们的类中使用
可序列化我们怎么做?
第 5 轮(F2F)