📜  Birst India 面试经历

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

Birst India 面试经历

总共 5 轮:清除 3 并达到 4 轮然后被拒绝:(。

第一轮:20 MCQ 45 分钟,1 分钟/2 分钟专用问题明智。
=============
获得 85% 的正确率并被选为下一轮电话会议。

第二轮:电话面试,主要是关于Java和多线程/逻辑的使用
===========
问)您将如何将博客、评论和子评论保存在数据库中?
问)什么是 serialversionUID ?您将如何在Java中的两个不同对象之间传输对象(答案:序列化)?
如何确保两个系统中传输对象的版本相同?
Q) Hashmap 如何在Java中工作?
Q) ArrayList 如何在Java中工作?
Q) 您有两个包含 GB 数据的大文件。多快比较它们并判断它们是否具有相同的数据?

第三轮:在线测试
=============
Q) 设计一个存储数百万键值对并使用命令创建、检索、更新、删除、检索所有键值对的应用程序。

示例(CREATE、GET、UPDATE、DELETE、GETALL、QUIT 是命令):

输入命令:
创造食物 = 苹果
获取食物
苹果
创造食物 = 香蕉
## 键'FOOD'已经存在##
更新天气 = 下雨
##键“天气”不存在##
创建天气 = 太阳
删除食物
获取食物
## 键“食物”不存在##
获取天气
太阳
得到所有
##键'ALL'不存在##
辞职

如果可能,进一步添加以下功能/增强功能:

1)添加关键层次支持,如食物/膳食/晚餐和食物/小吃/午夜等。
2)增加缓存机制。
3)从文件而不是控制台读取命令和键值对。

解决方案:我使用 Trie DS(而不是 Tree DS)来实现这一点,并且使用此 DS 的第一个增强功能非常容易,内存使用量更少。这是test.zip中的参考代码

Q) 给定一个数组,先升序后降序。从数组中找出最大值?

第四轮:来自美国的电话,在线实时白板测试
===========
Q) 给定一个数组,先升序后降序。以小于 O(N) 的复杂度从数组中找出最大值。

无法完成并被拒绝🙁