首页 > 编程知识 正文

华为非技术岗笔试,华为成立于1987还是2018

时间:2023-05-03 09:12:34 阅读:120153 作者:1712

嗯,昨天晚上参加了华为笔试。 果然一个也没及格。 第一个问题应该都能及格,但结果出乎人的意料。 但是,总体上取得了一定的结果。 第1个问题的leetcode05问题,输入字符串,输出最大的回文字符串。 具体算法的描写写在05题中,但不需要输出字符串,只需要输出字符串的长度。 但是,05问题的代码只能通过部分40%的例子。 不知道为什么,理论上应该没有问题。 主要考试也不会给出例题,所以输出的任何例子有问题都不知道,所以没有办法优化问题。 然后又写了一个解法,不过20%。 步骤如下。 # include iostream # includestringusingnamespacestd; intlargeststring(strings ) if ) s.size )==0) return 0; int i=0; intj=s.size((-1; int answer=0; while(ij ) {while ) s[I]!=s[j](----j; }while(ijs[I]==s[j--] ) { answer=2; (if ) ijs[I]!=s[j]}{answer=0; 继续; } }返回响应器; (}int main ) ) { string s; wile(cins ) inti=大规模字符串) s; coutiendl; }返回0; )该算法的问题是,主要问题可能是I不受环路内部的控制,出现将响应归零的情况时,没有对I和j进行对应的变更。 然后是05题算法。 具体来说,在点击打开链接的过程中可以参考我分析的算法,但是调试的时候只通过了40%,这很奇怪。 然后,在最奇怪的时候改变了返回参数,在反参的回答1的时候仍然能够通过40%。 但是,2的情况下为0%。 如果不主要给出测试用例,就很难判断主要问题在哪里。 (有特殊文字吗? )

第二题

总体上是业务代码吧。 实用,与算法的关系不是很大,但对于做过前端或者自己构建过系统的人来说,这一部分应该很熟悉。 虽然总体主题很长,但主要实现了判断一个不同字段IPV6的地址信息,主函数使用一个交换机输出不同的情况。 另一方面,函数按输入的字符串进行判断。 代码如下。

# include iostream # includestringusingnamespacestd; intdifferenttype(strings ) if ) s.size )==0||s.size ) 39 ) return 0; if(s==':3360 ' ) return 1; if(s==':1 ' ) return 2; string tmp=s.substr (0,4 ); if(tmp=='Fe80 ' ) return 3; if(tmp=='FEC0' ) return 4; if(tmp=='ff00 ' ) return 6; else return 5; (}int main ) ) { string s; while(cins ) switch (差异类型) s ) case 1: cout ' unspecified ' endl; case 2: cout'Lookback'endl; case 3: cout'LinkLocal'endl; case 4: cout'SiteLocal'endl; case 5: cout ' global unicast ' endl; case 6: cout'Multicast'endl; case 0: cout'Error'endl; } }返回0; }这是第一个雏形,通过率不高,所以后来进行了优化。 主要是对主函数没有break,对中间段代码的判断不准确。 最后输出代码。 # include iostream # includestringusingnamespacestd; intdifferenttype(strings ) if ) s.size )==0||s.size ) 39 ) return 0; if(s==':3360 ' ) return 1; if(s==':1 ' ) return 2; string tmp=s.substr (0,2 ); string tmp1=s.substr (0,3 ); if (tmp1==' fe8 '|tmp1==' fe9 '|tmp1==' FEA '|tmp1==' feb ' )返回3; if(tmp=='Fe ' ) return 4; if(tmp=='ff ' ) return 6; else return 5; (}int main ) ) { string s; while(cins ) switch (差异类型) s ) case 1: cout ' unspecified ' endl; 布雷克; case 2: cout'Lookback'endl; 布雷克; case 3: cout'LinkLocal'endl; 布雷克; case 4: cout'SiteLocal'endl; 布雷克; case 5: cout ' global unicast ' endl; 布雷克; case 6: cout'Multicast'endl; 布雷克; case 0: cout'Error'endl; } }返回0; }最后通过了57%。 嗯,结果没及格。

对不起我忘了第三个问题。 恐怕是最佳解的问题。 而且只有20%合格,但代码没有保存,交给大家吧。 总的来说,华为实习生的钢笔问题难度并不比网络和蚂蚁高多少,但需要清晰的思路和解法。 对于特殊情况必须加以考虑。 如果出现只通过一部分不能全部通过的情况的话真的很辛苦,但到底没有测试案例。 真的没有修正想法呢。 关于测试工程师测试用例的重要性,hahaha!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。