2017绿盟软件开发工程师笔试记录
3.写出三个主要从事信息安全的公司名,国内和国外一共三个。
很囧的说,我第一个就写的金山……。然后是奇虎、江明、瑞星、卡巴、趋势。
然后是一个完全没碰过的测试用例设计题:
某route具有HA(high availability,高可靠性)能力,即:将两个路由器A、B部署到网络,平时A、B分别配不同策略路由,以达到负载均衡,两个route用专线同步心跳。一旦一台出现故障,则由另一台承担全部任务,以保证网络正常通讯,当故障路由器回复上线时,负载重回流到均衡状态,请针对HA功能进行测试用例设计。
说实话,测试用例我是小白。但是8分的题不写多可信,于是大致写了下思路。分为4大类情况:
classify A B
1 ok ok
2. bad->ok ok
ok bad->ok
3 ok->bad ok
ok ok->bad
4 ok bad
bad ok
为什么这么分?不解释。看个人的理解~
下面是考察快速学习和应用能力了:
先是一个拓扑图,给出了服务器和客户端的ip以及server的port,然后额外发了一张纸,内容如下:
其实就是shell中输入man netperf得到的内容,然后给出几个场景,利用这些参数构造命令。具体的场景记不得了。
最后是两个数据结构和算法题:
题一:画了三个矩形,分别是3*3 、5*5 、7*7三种矩形的示例,每个矩形满足:所有数在1-n*n之间,行、列、对角线数只和相等。找出图中的规律,写一个程序,实现输入n(n为奇数),生成一个n*n的矩阵,满足行、列、对角和相等。
这种题目估计很多人之前做过,这里就不多说了。
题二:实现通配符匹配,通配符包括*(星号,代表任意个任意字符)。?(问号,单个任意字符)。要求利用递归实现。比如,匹配a*b,对于字符串mmmafdjskb输出true,对mmmmaaa输出false。
如果说不限制用递归,用循环我估计可以解决,一看到递归我就不想写了。随便写了个明显带有问题的程序就交了。
另外选择题有个考察shell中的正则的,大概为:echo 'hello hello big world' | sed '/s/^h.*\s/hi' ,问输出的结果是什么。sed中的\s是什么意思?这个我没搞懂,所以只能理解到这一层“/s表示该字符串中以h开头,后面跟任何一个字符的子串均用hi替换”,那么输出即为hi。
因为不懂\s的意思,所以只能这样了
总的来说,这张试卷考的面很广:
1.知识面广:涉及了网络、数据库、正则表达式、网络安全(sql注入的原理)、linux常用操作、测试用例的设计……
2.语言杂:shell、sed、python、bat (这个说法不太严格)
就这么多吧,上面有任何不对,希望各位大牛不吝指出。