华OD-c++面经

22届非科班,自学c++,应聘的华为OD岗位,机考分数350分

笔试

【中】根据子数组和等分一维整数数组的最大组数

【易】二维矩阵的遍历

【难】字符串的数组的调整与下标修改,边界处理

技术一面

自我介绍

单片机项目

linux如何查看上一条命令?

Linux查询进程的命令?

介绍一下map?

  1. 红黑树的底层原理知道吗?
  2. 增加,删除,查询的时间复杂度?
  3. 红黑树有什么特殊的要求吗?

介绍下vector和list的区别和适用场景?

线程安全的实现?标准容器库的线程安全性?

C++ sort 的算法是怎么实现的?为什么要设置这几种排序?

除了上述的排序你还了解什么排序算法?基数排序的稳定性怎么实现的?

C++多态了解吗?简单介绍下它的实现原理和应用场景?

C++重载和重写了解吗?介绍下。

中等难度(面试官给出的难度定级)算法题,20分钟, 涉及租金的最大利润,减除租金(索引)的一次遍历,算法不难,主要是想到减除租金的影响

还能优化吗?不可以,二分法的时间复杂度更低,但是数据没有二段性,最低需要将数据遍历一遍。

//终端某合作经销商遇到一个烦恼,由于下半年各平台的打折活动频繁,其终端商品价格具有一定波动性。经销商为了保证获取最大利益,将该商品在连续的K天内的价格记录在了数组prices中。经销商在某天(设为i)决定购入某商品,将它们存入仓库。并在另外一天(设为j),经销商将商品卖出(i<=j),同时他还需要付给该仓库j-i元的租金(每天租金为1)。此经销商请你帮忙判断一下基无现在的规则,最多可以赚多少利润,并输出。注:为了简化实现,整个过程只买卖一次。。
//示例1:输入:prices=[2,1,5]输出:3解释:最优策略是第二天买入,第三天卖出,租金为1,利润为5-1-1=3.
//示例2:输入:prices=[7,6,5]输出:0解释:最优策略是任意一天买入,当天卖出,利润为0.

int profit(vector<int>& price) {
    if (price.size() == 0) return 0;
	int ret = 0;
	int minval = price[0];
	for (int i = 0; i < price.size(); ++i) {
		if (price[i] - i <= minval) {
			minval = price[i] - i;
		}
		else {
			ret = max(ret, price[i] - minval - i);
		}
	}
	return ret;
}

技术二面

  1. 自我介绍
  2. 介绍下IO多路复用?
  3. 介绍下TCP/IP协议中的三次握手和四次挥手?
  4. 算法有练习吗?
  5. 中等难度算法题,时间15~20分钟,括号生成,递归实现的回溯法
//数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
//示例 1:
//输入:n = 3
//输出:["((()))", "(()())", "(())()", "()(())", "()()()"]
//示例 2:
//输入:n = 1
//输出:["()"]

vector<string> ret;
string rec;
void create(int n, int l, int r) {
	if (rec.size() == n * 2) {
		ret.push_back(rec);
		return;
	}
	if (l < n) {
		rec.push_back('(');
		++l;
		create(n, l, r);
		rec.pop_back();
		--l;
	}
	if (r < l) {
		rec.push_back(')');
		++r;
		create(n, l, r);
		rec.pop_back();
		--r;
	}
}
int main() {
	create(3, 0, 0);
	for (auto& str : ret) {
		cout << str << endl;
	}
}

主管面试

家庭情况,职业规划,平时看什么书,有没有学过计算机专业课,期望薪资

如果有意向华为OD的,推荐联系栗栗

全部评论
转行菜狗在此。非常感谢 栗姐 的耐心指导和帮助,栗姐主打的就是一个字 靠谱。
2 回复 分享
发布于 2023-03-03 11:52 河南
感谢分享,学习学习
1 回复 分享
发布于 2023-03-05 15:36 山东
怎么还能hr代发面经的哈哈哈哈
1 回复 分享
发布于 2023-03-05 15:48 四川
谢谢分享
1 回复 分享
发布于 2023-03-08 21:56 贵州
评级几级鸭
1 回复 分享
发布于 2023-03-10 20:17 河北

相关推荐

10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
10-04 17:25
门头沟学院 Java
snqing:Java已经饱和了,根本不缺人。随便一个2000工资的都200人起投递
点赞 评论 收藏
分享
评论
24
122
分享
牛客网
牛客企业服务