Sahaj软件解决方案面试经验
公司从事技术咨询、产品设计和定制开发。
第一回合 :
类型:在线能力问题
问题:40,时间:40分钟
主题:
- C、C++ 和Java能力
- 网络
- 操作系统
第二轮 :
类型:编码轮
问题:1、时间:45分钟。
第三轮:
类型:技术面试
时间 : 1:30 小时
- 自我介绍+项目说明
- 为什么 C 和 C++ 依赖于操作系统?是什么让它如此?
- 为什么Java独立于操作系统?
- 解释JVM的架构和功能。
- JVM、JRE 和 JDK 有什么区别。
- 什么是悬空指针?
我说,我不知道。然后他们问,“什么是指针?”,“双、三、四指针有什么用?” - 为什么Java不提供多重继承?
- 如果我们在c++中使用多重继承会发生什么冲突以及如何克服它?
- 数据结构
- 排序算法的实时应用。
- 不同排序算法的时间复杂度。
- 选择排序算法的约束是什么?
- 何时使用快速排序?什么时候使用归并排序?
- 你得到一棵二叉树和 X 的总和。你需要找出任何两个节点的总和是否为 X。预期的时间复杂度:小于 O(n^2)。
- 如何实现搜索引擎?也就是说,如果我们尝试输入一个单词,它会通过自动完成单词来提供建议。那么如何实现呢?
答:特里 - 然后他们让我解释 trie 的基本工作原理。
- 面向对象:
- 面试官拿着水,把水瓶放在我面前,问你如何在 OOP 中表示这个水瓶?
- 什么是关联、聚合、组合和泛化?
我用小的Java代码示例解释了它们。然后他希望我用实时应用程序来解释它们。
操作系统 :
- 调度
- 穿线
- 多线程
- 同步和并发问题
- 如何克服同步问题?
我说可以使用信号量或监视器来解决。然后他让我解释一下。 - 什么是死锁?
- 死锁的必要条件是什么?
第四轮:
类型:人力资源
时间:1小时
- 首先是关于个人信息
- 那你为什么选择信息技术?
- 您最近解决了哪个复杂问题并对解决方案感到满意?是什么造成的?我说数独,
- 他问:“你是怎么解决的?”我说“我使用了回溯”
- 然后他说:“假设我们是一个没有受过教育的老人,你将如何向我们解释回溯和动态规划?”
- 如果给你一个纬度和经度,你将如何找到附近的餐馆?关于这个问题的讨论已经超过 15 分钟了。他对我的回答不满意。我不知道该如何回答这个问题。
- 板球 LBW 决策中使用了哪种算法? (检查球是否击中树桩)。
还有一些基本问题,比如问我的昵称等。
最后讨论:
他们在这一轮中完全取笑我,问“你的 aadhar 号码是多少?”,“我叫什么名字?,你怎么会忘记我的名字,我今天已经花了一个多小时了? “ ETC。