📅  最后修改于: 2023-12-03 15:42:33.604000             🧑  作者: Mango
本文介绍了本人在高通校园招聘中参加的第 11 组面试经历。面试主要涉及 C++、数据结构与算法、操作系统等方面的知识。
本次面试流程如下:
自我介绍时需要简明扼要地介绍自己的基本信息、背景和工作经验等,避免过于冗长。
交流项目经验需要将自己参与的项目和负责的部分说明清楚,以及实现过程中遇到的问题和解决方案等。
C++中的虚函数和纯虚函数都是用于实现多态的,其中虚函数是有具体实现的函数,纯虚函数则没有实现,需要由子类进行实现。
class Base {
public:
virtual void func1() {
// 具体实现
}
virtual void func2() = 0;
};
上述代码中,func1()
是虚函数,有具体实现,func2()
是纯虚函数,没有实现,需要在子类中具体实现。
在问答环节中,面试官主要涉及数据结构与算法、操作系统等方面的知识,需要从基础知识到高级内容都掌握。
代码实现是本次面试的难点,需要对算法和数据结构有深入的理解。在本次面试中,面试官出题目如下:
给定一个数组,找出数组中所有数对之和为给定值的数对并输出。
void print_pairs(vector<int>& nums, int sum) {
unordered_map<int, int> mp;
for (int i = 0; i < nums.size(); i++) {
int complement = sum - nums[i];
if (mp.find(complement) != mp.end()) {
cout << nums[i] << " " << complement << endl;
}
mp[nums[i]] = i;
}
}
上述代码中,我们使用哈希表存储已扫描的数以及其下标,并在遍历时寻找是否有满足条件的数对。
本次面试主要考察了C++基础、数据结构与算法和操作系统等方面的知识,需要在平时多加练习以及深入理解其中的细节。同时,在面试过程中要表现出自信,有问题需要主动沟通并解决,这对于评判面试结果也有很大影响。