📅  最后修改于: 2023-12-03 15:17:30.173000             🧑  作者: Mango
本次面试是 Mahindra Comviva 在我校举行的初试面试,面试主要涉及数据结构、算法、网络通信、操作系统等方面的知识。同时还考查了应聘者的编程能力、团队协作能力等方面。
本次面试共有两道编程题和一些技术问题。下面是具体题目:
实现一个 LRU 缓存,支持以下操作:
get(key)
:获取缓存中键为 key 的值,若不存在则返回 -1。put(key, value)
:插入键值对 (key, value),若键 key 已存在,则更新其值;若不存在,则插入该键值对。如果插入该键值对后缓存大小超过了缓存容量,那么在插入该键值对之前,先删除最近最少使用的键值对。有一些蓄水池,现在需要把这些蓄水池全部连接一起,形成一个大的蓄水池。给定每个蓄水池的坐标,以及蓄水池之间的距离,求连接它们所需要的最小的开销。
这次面试我深刻地感受到了一个好的面试官对面试的重要性。面试官不仅要能够提出合适的问题,还要能够引导应聘者思考,帮助应聘者找到解决问题的思路。在本次面试中,面试官非常热情、耐心地与我交流,让我在面试中体验到了很好的面试氛围。
此外,我也认识到了自己的不足之处,感受到了自己学习的方向和目标。我会认真总结这次面试的收获,进一步提升自己的技术水平和综合素质,并为能够加入 Mahindra Comviva 感到十分兴奋和期待。
# Mahindra Comviva 面试体验(校内)
本次面试是 Mahindra Comviva 在我校举行的初试面试,面试主要涉及数据结构、算法、网络通信、操作系统等方面的知识。同时还考查了应聘者的编程能力、团队协作能力等方面。
## 面试题目
本次面试共有两道编程题和一些技术问题。下面是具体题目:
### 题目一
实现一个 LRU 缓存,支持以下操作:
1. `get(key)`:获取缓存中键为 key 的值,若不存在则返回 -1。
2. `put(key, value)`:插入键值对 (key, value),若键 key 已存在,则更新其值;若不存在,则插入该键值对。如果插入该键值对后缓存大小超过了缓存容量,那么在插入该键值对之前,先删除最近最少使用的键值对。
### 题目二
有一些蓄水池,现在需要把这些蓄水池全部连接一起,形成一个大的蓄水池。给定每个蓄水池的坐标,以及蓄水池之间的距离,求连接它们所需要的最小的开销。
### 技术问题
1. 简述 TCP 和 UDP 的区别。
2. 什么是进程和线程?它们之间有什么区别和联系?
3. 什么是操作系统中的进程调度?简述几种常见的调度算法。
4. 什么是 CPU Cache?它有什么作用?
5. HTTP 协议中的状态码有哪些?分别代表什么含义?
6. 什么是 RESTful API?它的设计原则有哪些?
## 面试感想
这次面试我深刻地感受到了一个好的面试官对面试的重要性。面试官不仅要能够提出合适的问题,还要能够引导应聘者思考,帮助应聘者找到解决问题的思路。在本次面试中,面试官非常热情、耐心地与我交流,让我在面试中体验到了很好的面试氛围。
此外,我也认识到了自己的不足之处,感受到了自己学习的方向和目标。我会认真总结这次面试的收获,进一步提升自己的技术水平和综合素质,并为能够加入 Mahindra Comviva 感到十分兴奋和期待。