shopee 2022提前批校招笔试题解,单项选择篇

2022-09-22 15:07:06 浏览数 (1)

作者 | 梁唐

出品 | 公众号:Coder梁(ID:Coder_LT)

大家好,我是梁唐。

今天我们继续来看校招笔试题,这次选中的是shopee的2022秋招提前批SRE笔试题。

这套笔试题涵盖了Java、C 、go、算法、客户端等多个职位:

基本上技术岗中除了前端都囊括在内了,这次的考察注重基础,难度适中,总体来说质量很不错。

同样,题目来源于牛客网,感兴趣的同学可以点击https://www.nowcoder.com/login?callBack=/test/question/63c056ea69f14a3cba248840c0556f6d?pid=32331975&tid=51750907&headNav=www跳转。

第一题

关系数据库中的数据逻辑结构是

这道题有点坑,老梁一开始选错了。

问题问的是关系数据库中数据逻辑结构,这里说的是逻辑结构,而非底层数据结构。我们知道关系型数据库大多是基于B树或者是B 树实现的,因此底层是树结构。但这里问的是数据的逻辑结构,那自然是二维的表结构。一行代表一条数据,一列代表一个逻辑字段。

第二题

现有3个开发任务需要分配给5个组内成员来完成,不同的任务分配方式有多少种

5^3=125

,关键点在于题目没说每个人只能分配一个任务,所以每个任务都有5种可能,故选A。

第三题

设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,每一个元素出栈后立即进入队列Q,若6个元素出队列的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是

数据结构题,考察的是对栈和队列的基本理解。由于队列先进先出,所以出队列的顺序即为进队列的顺序,也就是出栈的顺序。

所以问题可以转换成给定出栈顺序,要求栈的容量。

第一个出栈的是e2,此时栈中元素为[e1, e2]。第二个出栈元素为e4,此时栈中元素为[e1, e3, e4]。第三个出栈元素为e3,栈为[e1, e3],第四个出栈元素是e6,此时栈为[e1,e5,e6]。e5出栈时栈为[e1, e5],e1出栈时:[e1]。

所以栈中元素最多只有3个,所以长度为3足够。

第四题

若变量已正确定义,有下列程序段:

代码语言:javascript复制
int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

printf("%d,%d,%dn", a, b, c);

代码题,坑点在于if (a>b) a=b; c=a;在这一语句当中a=b后面用的是分号,所以当if成立时,只会执行a=b,而之后的c=a虽然写在同一行,但会被视为两行语句,并不和if判断逻辑挂钩。也就是说,即使if不成立,c=a同样会执行。

注意了这点之后,不难选出答案。

第五题

设有一张商品表(商品号,商品名,属地,价格),其中商品号是主键。现要查询属地为“中国”的价格为100的商品数量,下列语句中能正确完成该查询要求的是

数据库基础题,其实只需要根据属地和价格两个条件同时满足必须要使用and,就可以选出正确答案。

可能有同学看到select count(属地)有些不敢选,单纯的count并不会去重,计算的就是指定列的值的数量。如果是select count(distinct 属地)则计算的是不同值的数量。

第六题

给定如下SQL语句

代码语言:javascript复制
CREATE VIEW test.V_test

AS

SELECT * FROM test.students WHERE age < 19;

该语句的功能是

create view很明显是创建视图操作,所以排除BD。

如果熟悉数据库语法的话,很明显test不是表名而是数据库名,所以A错误,选C。

第七题

linux系统中如果要列出一个目录下的所有文件,可以使用下面哪个命令 参数

考察的是基本的linux命令ls的用法。

其中-l表示列出长数据,显示文件属性以及权限等信息。-a表示列出所有文件,包含隐藏文件。-d表示仅仅列出目录本身,-t表示按照修改时间排序。

如果清楚以上参数的含义,不难选出正解B。

第八题

局域网的网络地址192.168.1.0/24,局域网连接其他网络的网关地址是192.168.1.1。该局域网下一台主机192.168.1.2需要访问172.16.1.0/22网络,其路由设置正确的是:

这题考察的是对网关和子网掩码的基础知识。

其中添加路由的命令为:roote add -net 目标网址 gw 网关 netmask 子网掩码 metric 1-9999。通过对比命令可以排除C,这里的metric表示的是路由的成本,即到达目标节点所需要经过的跃点数量。好在这里的所有选项metric都是1,所以不必纠结。

重点是确定命令中的子网掩码,由于目标ip是172.16.1.0/22,这里的/22给出了子网掩码。子网掩码是一串连续的01二进制值,由若干连续的1和连续的0构成,0和1的总数为32。/22表示连续1的数量,转化成二进制位11111111,11111111,11111100,00000000,对应的10进制表示为255.255.252.0。

故选A。

第九题

运行以下python代码

>>> map(lambda x: x 1, range(6))

输出正确的是

Python语法题,考察的是对Python语法的掌握。

一步一步来看,首先是range(6)返回的是一个0到5的列表:[0, 1, 2, 3, 4, 5]。接着是map,map(f, l)表示对列表l当中的每个元素执行函数f。这里的函数是一个匿名函数lambda x: x 1,也就是将每个元素 1,所以选C。

第十题

小虾以200元一颗的价格从黑商那里买了一些珍珠,现在拿去卖给店铺,如果是真货则以1700元一颗卖出。据统计,大约只有10%的珍珠是真货,则小虾平均每颗损失多少元

数学题,平均损失即期望损失。

卖出一颗珍珠的收益期望为:E = np = 10% * 1700 = 170 ,由于每一颗珍珠的成本是200,所以差值是30,选B。

这一次的选择题难度不算很大,基本上考察的都是一些基础知识点,但涉及的知识面比较广,想要做出好成绩也并不那么容易。最后,感谢大家的阅读,希望能给正在准备这方面的同学一点帮助。

0 人点赞