2019-9-9,中兴笔试

1.选择题

考察的较多的是sql语句,还有关于网络传输方面的,代码题反而很少,其实都是硬基础,印象深的是几个sql题

举例

1.删除某个表中某个字段,用drop?alter?还是delete?

考察drop,delete,alter的用法,我们甚至可以加上truncate
总的来说,drop,delete,truncate都是删除操作,drop偏向于删除表的结构,delete偏向于删除表中的数据,和where 连用删除指定行,truncate则是清空表中的数据,对结构不改变
而alter则是对表的字段,结构等进行修改,修改嘛,自然也可以删除,范围稍微大一点,所以创建索引,删除索引,add字段,删除字段,用alter都可以
所以选答案中的alter(选项当然不是单独的一个alter,而是alter语句)

2.给一个out join 的语句,问返回多少行?

考察内外连接,复习的话,还可以加上左右连接
内连接就是只返回两表都匹配的
左右连接其实都是外连接,左连接就是以左表为准,去匹配右表,如果匹配不上,结果中相应的位置为null,那一条其实还是返回的,所以,如果左表4条,右表500条,最少也是有4条返回,这时候都不匹配,最多呢,有503条数据,右表的500条都匹配到同一条数据上了,左表的另外三条都是Null
全外连接,都是全部都返回

2.编程题

1.给两个数组,里面的元素可能重复,找出在两个数组中只出现过一次的元素,统计个数

挺简单,遍历两个数组,遍历第一个的时候,用桶排序或者hashmap记录下每次元素出现的次数(毕竟可能有重复),遍历第二个的时候,也这样做,最后遍历一次hashmap去掉重复的就行,复杂度大约是 O(3N)

为什么不遍历第一个数组,去第二个里面找有没有?复杂度太高,超时

2.小偷找珠宝,给一个长方形矩阵,1代表可通过,0代表不能通过,9代表有珠宝,小偷从左上角(0,0)出发,问能不能找到珠宝

典型的bfs问题,只要别忘了找过的点,状态置为-1即可

3.总结

中兴算是做过的笔试里,最省心的了

你可能感兴趣的:(笔经,计算机,编程)