华为直接在官网投的,也没找内推,在官网自己选部门选岗位投递即可
笔试
华为的感觉笔试题都是简单题
笔试第一题
题意:一个游乐园门票是5元,游客付钱一般是5,10,20元,给定游客的付钱序列,初始没有零钱,请问能否把所有用户的买门票要补的钱补上,可以输出true,并输出进游乐园的人数,不行输出false,然后输出不能补钱的用户编号(从1开始)
输入1:
5,5,5,5
输出1:
true,4
输入2:
5,10,10
输出2:
false,3
思路:直接存一下当前5元,10元,20元的张数,然后判断一下就可以
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int x[N], cnt, m[3], idx;
string str;
int main() {
cin >> str;
for (int i = 0; i < str.size(); i ++) {
int j = i;
while (j < str.size() && str[j] !=',') j ++;
string temp = str.substr(i, j - i);
x[cnt] = stoi(temp);
//cout << x[cnt] << endl;
cnt ++;
//cout << temp << endl;
i = j;
}
//cout << cnt << endl;
bool st = true;
for (int i = 0; i < cnt; i ++) {
idx ++;
if (x[i] == 5) m[0] += 1;
else if (x[i] == 10) {
if (m[0]) m[0] --, m[1]++;
else {
cout << "false," << idx << endl;
st = false;
break;
}
} else if (x[i] == 20) {
if (m[1] && m[0]) {
m[1] --, m[0]--, m[2] ++;
} else {
cout << "false," << idx << endl;
st = false;
break;
}
} else {
cout << "false," << idx << endl;
st = false;
break;
}
}
if (st) cout << "true," << idx << endl;
return 0;
}
笔试第二题
题意:在一个n*m的方格,其中1是可以走,0是障碍物;给定一个步长s,问从左上角到右下角,每步走s的步长,能否顺利通过。第一行输入 s,n,m,表示步长和方格的长宽,借来给n行,每行m个数,表示方格。
输出:能通过输出1,否则输出0
思路:直接DFS或者BFS一下,看看能否到达终点即可,我当时写的DFS。
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int g[N][N];
int st[N][N];
int s, n, m;
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
int dfs(int x, int y) {
if (x == n - 1 && y == m - 1) return 1;
for (int i = 0; i < 4; i ++) {
int a = x + dx[i] * s, b = y + dy[i] * s;
if (a >= 0 && a < n && b >= 0 && b < m && g[a][b] == 1 && st[a][b] == 0) {
//cout << a << b << endl;
st[a][b] = 1;
if (dfs(a, b))
return 1;
}
}
return 0;
}
int main() {
cin >> s >> n >> m;
for (int i = 0; i < n; i ++)
for (int j = 0; j < m; j ++)
scanf("%d", &g[i][j]);
st[0][0] = 1;
cout << dfs(0, 0);
return 0;
}
笔试第三题
(⊙﹏⊙)
第三题忘记题意了…当时好像写了个伪算法,过了50%的样例(还是自己弱
笔试总结:华为的笔试1,3题都要处理一下字符串,如果用python的split(‘,’)的话,速度稍微会快一点,C++要稍微处理一下字符串,提取一下中间的数据…
一面
- 自我介绍
- 介绍论文项目
- 介绍实习经历
- 讲一下SVM的推导
- 讲一下EM的数学原理
- 算法题:求一个字符串的最长回文子串 Leetcode第5题
吐槽一下:华为的面试用的zoom,然后笔试题要我在纸上写,然后拍照给他???
二面
- 自我介绍
- 介绍实习经历
- 介绍论文项目
- 听了我的实习经历后,让我手写个LR,然后满足如下条件:
4.1:损失函数要加上L2正则
4.2:支持SGD和Mini-batch的GD
4.3:优化器用Adam
???这谁顶得住啊,真就造火箭呗
直接让在我的电脑上开个txt写,然后屏幕共享这样
勉强写了个简陋版的,Adam没写,L2正则没写(写的话感觉损失函数的求导可能会出问题,当时没有把握,遂放弃)
据说如果能入职,是我之后的leader
三面 (部门大主管)
- 自我介绍
- 聊人生???
等后续消息中
大佬上岸了吗
目前字节和网易开奖了(华为还没开奖hh
沾沾喜气
互相沾沾
恭喜同学进入池子hh
希望顺利上岸(笑哭)
支持~ 问问是校招么
对的,校招
部门主管聊人生?这。。。。。。
感觉基本主管都是和你聊聊人生(笑哭,可能我太弱了)