Innoviti 面试经历
第一回合
————————-
在线测试大约 2 – 2.30 小时。书面考试说明说时间对他们来说不是障碍。因此,代码的准确性和正确性比完成更重要。
您可以在 2 小时内轻松完成测试。
共6节。部分是 RDBMS(实践问题而不是理论问题),设计模式相关问题, Java部分,计算机基础部分,最后是笔试中的一个代码。
在 RDBMS 中,问题是合乎逻辑的,并且与存储、数据库引擎及其基础有关。他们要求根据某些条件优化查询,您必须选择最接近参数/问题约束的查询。
在Java设计模式中,多线程相关概念被问到。例如,给出了一段代码,您需要进行转换以使其遵循某种设计模式。
总的来说,我觉得测试很容易,如果你了解基础知识并使用逻辑推理来破解。
最后给出的代码是解析一个文件并根据问题约束找到答案。我使用了 hashmap/hashtable 并使用更少的空间来优化代码。这使程序更有效率。我们必须将解决方案提交到他们的系统中。我一直使用在线 IDE,因为它们允许在测试期间使用。
第二轮
————————-
这是一个技术回合,面试小组中有 2 人。他们问了我上一个项目的 80%。不要忘记为你最好的项目做准备。他们会在这件事上折磨你。我轻描淡写地忘记了这件事。他们突然要求你画出它的建筑。设计模式应用在那里。通信模型、应用程序中的层等等。
我不知所措,觉得面试应该是在逻辑数据结构上,而不是把时间浪费在问一些已经完成的事情上。
然后他们询问了Java collection
1.HashMap内部实现
2.列表界面
3.如何比较两个用户对象(通过覆盖对象的equals方法)
4. 集合的排序通用接口。
他们询问了 REST API 及其架构风格。他们询问了 servlet、Web 服务器(tomcat)。 servlet 的生命周期。
这一轮进行了大约40分钟。
第三轮
————————-
和公司的CEO一起!!:)
他是一个很好的人,和他说话我感到很谦虚。他告诉我哪个是你最喜欢的项目,然后事情又像第二轮一样,剩下的就是你知道历史!!!
最后他给了我一个代码,我花了大约 40 分钟来解决和解释我写的代码。
这一轮进行了大约 1 小时 15 分钟。