华为数据通信AI工程师笔经(压线过)
华为AI工程师的笔试是达到150分就算通过(按照通过样例数给分,三道题按顺序分别是100,200,300总分600分),由于当时投华为比较早,所以在第一次笔试挂了(116分)之后,当时还给了我第二次笔试(150分)的机会,压线过🥲。面经部分
第一次笔试(4.26)
问题1
代码可以进行模块化编译,但是不同模块的代码有不同的依赖。现在给定n条代码已经他们之间的依赖关系,请输出至少需要多少次编译才能将全部代码编译。
案例:
输入:
5
5
3 2 3 4
1 5
1 5
1 5
0
输出:
3
解释总共有5个代码,编号为1,2,3,4,5。1号代码依赖2,3,4。2,3,4号代码依赖5。5号代码无依赖。所以编译顺序是5->(2,3,4)->1。总共编译三次
问题2
有一资源池,资源池里给工作任务分配id。有两种分配方式,动态分配和固定分配。动态分配按照资源池现有id顺序分配指定数量的id,固定分配任务固定名字的id。输入分配池的所有id,以及n个操作。求n次操作后,第一个资源池里的id
案例
输入:
1 3
3
1 1
2 3
3 1
输出:
2
解释: 资源池里的id由1到3,为1,2,3。第二行等于3表示,接下来包含3个操作。接下来n行表示操作,每行有两个数字,第一个数字表示要进行操作的种类,1开头为动态分配,后面接着的数字表示动态分配id的个数。2开头表示固定分配,后面的数字表示分配资源池里的id。3开头表示释放任务里面的id,让其回到资源池里。资源池里有id:1,2,3。接下来有3个操作。第三行为1 1,表示动态分配一个id。咋资源池由 1 2 3变为2 3.第四行为2 3,固定分配id为3给任务,资源池剩下id为2。第五行为3 1,表示释放任务中的id1,现在资源池里id为2 1。所以最后输出2
这道题比较阴险的是时间限制好像是只有256ms,时间上很难过
问题3
坐标中有n个点长着草,这些草每天会往外长出一格。求平面内至少一个点出现M种草需要多少天
案例:
输出:
M=2
N=2
2 1
6 2
输出:
2
第二次面试(5.6)
问题1
打印机是靠一排喷墨点喷出墨水来打印字符。但是打印机的喷墨点有时会损坏,而导致该处无法喷出墨水。这种情况采用二次喷墨的方式,在二次喷墨中,移动还能使用的喷墨点至上次没有喷墨的地方,并且关闭其他的喷墨点。
输入:给定一个整数N表示有几个喷墨点,第二行紧着若干个四位十六进制数,表示第一次喷墨的情况,1为有墨点,0为无墨点。
输出:第一行输出至少需要移动多少位才能使所有未喷墨的点重新上模。如果向右移或者向左移均可,先输出先右移的结果,输出的结果包括两行,第一行为移动的位数,第二行为N长的0-1字符,0表示不需要喷墨,1表示需要喷墨。
案例1:
输入:
14
0xE77F
输出:
2
+2
01100010000000
-2
00011000100000
问题2
带有特殊字符的计算,定义有三种字符,这三种字符的计算情况如下:
字符加法满足交换律,所有案例保证不会出现数字加特殊字符
案例:
输入:
15
123.45#1+126.53@
输出:
250.0001
问题3
王子救公主
忘记了🫠
总结
华为的笔试难度应该算比较高的了,相较于我做的美团的笔试的话,虽然达到150分就能过,华为好像还有一个机制,就是实习的笔试过了之后,秋招的笔试就可以不要用做了。后续就是面试部分了
#我的实习求职记录##华为信息集散地#分享我在这段时间里面找实习的面经和感受