一天结束,华为软件开发一面二面主管面面经
1面、
上来就是一通介绍,介绍部门业务、部门主要产品、部门生活、还说每周三是部门活动时间,可以一起去打篮球
扯淡6分钟多吧,然后开始了
1、遇到的最大困难是什么?
2、介绍项目
3、项目中为什么这么改进?原因?
4、写个题吧,见下。面试官说lower_bound 和 move用的不错
5、介绍华为新人培养过程,说是会有老手带
6、华为加班比较严重,有没有做好心理准备
7、反问
一面感觉是来聊天的,扯了好多有的没的,大概40分钟吧
/一个整数数组 统计数组每个元素中比他小的个数
// 输入 8 1 2 2 3 输出 4 0 1 1 3
// 比8小的有4个,比1小的有0个、、、、
vector<int> countNum(vector<int>& data) {
int len = data.size();
if (len == 0 || len == 1) return vector<int>();
vector<int> copy(data);
sort(data.begin(), data.end());
vector<int> result;
for (int i = 0; i < len; ++i) {
auto pos = lower_bound(data.begin(), data.end(), copy[i]);
result.push_back(pos - data.begin());
}
for (auto a : result) {
cout << a << " ";
}
return std::move(result);
}
int main(void) {
vector<int> data = { 8,1,2,2,3 };
countNum(data);
return 0;
}
2面、
好像是个大佬
1、上来就让介绍项目
2、深挖项目
3、让画项目架构图,解释其中的关键点
4、你的角色是什么?你做了哪些贡献
5、有没有实验结果证明?比如实验对比记录之类的,可以给我看看吗?
5、问了子网掩码的作用,为什么要子网掩码?
6、写个题吧,见下
7、反问,我问了华为对于新人培养的大概过程。
// 有两个2个表 表1存的是姓名 表二存的是姓和地址的映射, 找出第一个表中所有人的地址
/*
name = { "ab","ac","bc","bd","dc","cd" };
unmp= { {'a',"花园小区"},{'b',"长安小区"},{'d',"幸福小区"}
ab:姓a,名 b bc:姓b 名c ,
找出ab的地址,ac的地址、、、、、、
(后来又让我用一个数据结构存一下:我用的是vector<pair<string,string>> result; 存的,当我写出 result.emplace_back 的时候就让我停笔了,他说我平时应该是经常写代码....)
*/
void getAddress(vector<string>& name, unordered_map<char, string>& unmp) {
int len = name.size();
if (len == 0) return;
for (int i = 0; i < len; ++i) {
if (unmp.find(name[i][0]) != unmp.end()) {
cout << name[i] << " ,address:" << unmp[name[i][0]] << endl;
}
else {
cout << "no found,name: " << name[i] << endl;
}
}
}
int main(void) {
vector<string> name = { "ab","ac","bc","bd","dc","cd" };
unordered_map<char, string> unmp= { {'a',"花园小区"},{'b',"长安小区"},{'d',"幸福小区"} };
getAddress(name, unmp);
return 0;
}
总体感觉还可以吧!二面问得很深,目前经历过的问项目最认真的一个了。
PS:接到主管面试通知了,让留好时间。。。。有点慌,速度有点快。
3、主管面
就是聊人生,谈理想之类的。
一天结束,相当迅速,上午一二面,下午主管面。
查看5道真题和解析