记牛客--猿辅导2019校招技术类笔试题--笔记

1.猿辅导公司某研发小组一共有 12 名同学,其中 9 人能做后端开发,6 人能做前端开发。现在要抽调 4 名同学成立项目小组,负责公司的一项“机密”项目。其中 2 名同学做后端开发,2 名同学做前端开发。有多少种选派方法
A.180 B 225 C.432 D 540
答案 C
解释:
一共有12个人 9个做后端 6个前端,说明有3个 会前端也会后端。
纯后端 6个
纯前端 3个
都会有 3个
使用总的减去不可能发生的
总的情况是 在这里插入图片描述
不可能发生的情况:
① 3个都会的中有1个被要求做前端,同时也被要求写后端(全栈开发??)
在这里插入图片描述
②三个都会的有2个被要求做前端,同时也被要求写后端(2人项目组 完全OK)
在这里插入图片描述
③ 3个人中有2个被要求写前端,同时其中一个人被要求写后端
在这里插入图片描述
综上所述: 不可能发生的有 72+3+42 = 117
所以答案是 540-117 = 423

2.关于数据库,以下描述错误的是
A.任意两行的主键值都不相同
B.主键列不允许NULL值
C.表可包含多个唯一约束,但每个表只允许一个主键
D.唯一约束列不允许NULL值

答案: D
解释: AB应该没得问题吧? 主要是C 每个表只允许一个主键这个
1、Primary key的1个或多个列必须为NOT NULL,如果列为NULL,在增加PRIMARY KEY时,列自动更改为NOT NULL。而UNIQUE KEY 对列没有此要求。
2、一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY。

3.有一个虚拟存储系统,若进程在内存中占 3 页,开始内存为空。若采用 LRU 页面淘汰算法,当执行如下访问页号序列 [1,2,3,4,1,2,5,1,2,3,5,4] 会产生多少次缺页?
A.9 次
B.10 次
C.11 次
D.12 次

答案:B
解析: LUR 先来的先走淘汰最早的

1 1 1 2 3 4 1 2 5 1 2 3
  2 2 3 4 1 2 5 1 2 3 5
  3 4 1 2 5 1 2 3 5 4
x x x x x x x  √ √  x .x x

4.假设解决某问题的算法复杂度为F(n),其中n为问题规模,该问题总是可以通过g(n)的代价划分为2个规模为n/2的同类子问题,即F(n)=2F(n/2)+g(n),当g(n)为O(n),时F(n)为多少?
A.O( log n )
B,O( n )
C.O( n log n )
D.O( n2 )

答案 C
解析: 归并求法 需要有一个On的合并 所有是nlogn
5. 猿辅导公司某部门月会上,有 5 名同学在依次领取入职周年的礼物,一束鲜花。HR 共准备有 5 种不同颜色的鲜花供他们挑选。则有且仅有两名同学挑选了相同颜色的鲜花的概率是多少?
A.1/5
B.24/125
C.48/125
D.96/125

答案: C
解析:
一共有5^5=3125中情况
1.选出两个人C52=10;
2.选同一种颜色有5种情况;
3.其他3个人从剩下4种颜色选:
432=24.
共有10524=1200 概率为1200/3125=48/125.

6.给定 yfd_interviewer 数据库表结构如下:
CREATE TABLE yfd_interviewer (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(32) NOT NULL DEFAULT ‘’,
age INT(11) NOT NULL,
createdTime BIGINT(20) NOT NULL,
updatedTime BIGINT(20) NOT NULL,
PRIMARY KEY (id),
KEY name_index (name),
KEY age_index (age)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
给定以下SQL:
S1: SELECT * FROM yfd_interviewer WHERE name = ‘kebi’;
S2: SELECT * FROM yfd_interviewer WHERE age = 20;
S3: SELECT * FROM yfd_interviewer WHERE name = ‘kenan’ AND age = 20;
S4: SELECT * FROM yfd_interviewer WHERE age = 20 AND name = ‘kenan’;
以下关于索引使用描述不正确的是哪个?

A.S1 可能使用索引 name_index
B.S2 可能使用索引 age_index
C.S3 可能使用索引 name_index 或 age_index
D.相比S3,S4 会优先使用 age_index

答案:D
解析" 第三个和第四个差不多吧?应该看数据分布
7.关于 HTTP 协议,下列说法错误的是
A。HTTP 是无状态协议
B.HTTP 是应用层协议
C.HTTP 是基于二进制的协议
D.HTTP 状态码 200 表示成功

答案 :C
8。关于进程和线程,下列说法错误的是
A.同一进程内的线程共享内存等系统资源
B.进程之间不能通信
C.进程有独立的虚拟地址空间
D.线程可以创建另外一个线程

答案:B
9.将 A B C D 四个元素次序进栈(中间可能有出栈操作,例如 A 进栈后出栈,B 再进栈),则可能的出栈系列是
A.C A D B
B.B D C A
C.C D A B
D.D A B C

答案:B.
10.关于 TCP 协议,下列说法错误的是
A.TCP 是面向连接的协议
B.TCP 是基于数据报文的协议
C.TCP 提供了拥塞控制的机制
D.TCP 属于传输层协议

答案:B
解析 TCP是面对连接,可靠的 基于字节流的传输层协议

11.某天猿辅导 HR 组织大家去漂流,早上,参加团建的同学都到齐了,并且按到达公司的先后顺序排好队了。 由于员工太多,一个大巴车坐不下,需要分多个车,车是足够的,但所有人需要按一定顺序上车,按如下规则安排上车的顺序:
假设大巴车容量为 m,从队首开始,每 m 个人分成一个小组,每个小组坐一辆车。同时只有一个车打开车门供员工上车。 小组之间按从队尾到队首顺序依次上车,同一小组内先到的同学先上,求所有人上车的顺序。
例如: 员工数 8, 车容量 3, 员工到达顺序为 1 2 3 4 5 6 7 8, 3个人一个小组,分三个小组, 小组一: 1, 2, 3, 小组二: 4, 5, 6,小组三: 7,8。 小组上车顺序为: 小组三,小组二,小组一 。 所有员工上车顺序为 7 8 4 5 6 1 2 3

num,size = map(int,input().split())
l = list(map(int,input().split()))
index = num//size-1
while num != 0 :
    if num%size !=0:
        for i in range(num-num%size,num):
            print(l[i],end=' ')
        num = num-num%size
    for i in range(size*index,size*(index+1)):
        print(l[i],end=" ")
    index-=1
    num-=size

解析: 就是一个数组倒置, 我先将多余的输出了,然后倒置输出。控制下标就好了。

12.猿辅导公司的 N位(N>=4)研发同学组织了一次秋游活动,某同学带了个无人机在高空拍照,活动结束时,先拍了一张所有同学排成公司猴头Logo的照片, 接着有人提议再排成“猿”的首字母Y字形来拍一张合照。
用字符串中的每一个字符(不是换行符或结束符’\0’)代表一位老师,输出排好后的队形。要求 Y字除去中心点外,上下半部分等高,按照从左到右,从上到下进行排序。队形中没人的部分用空格占位。
输入数据保证可以排出一个完整的Y字,即长度为 3k+1 (k>=1)
例如: 7个 x ,排成队形为(为了方便说明,这里用‘-’代替空格):
x—x
-x-x
–x
–x
–x

n = int(input())
s = input()
h = (n-1)//3
index = 0
 
for i in range(h):
    for j in range(0,i):
        print(" ",end="")
    print(s[index],end="")
    index+=1
    for k in range(0,(h-i)*2-1):
        print(" ",end="")
    print(s[index],end="")
    index+=1
    print()
for i in range(h+1):
    for i in range(h):
        print(" ",end="")
    print(s[index])
    index+=1
'''
i     i
 i   i
  i i			  2x+x+1 = n
   i             	↓↓↓
   i        	  3x+1=n  x = (n-1)/3   
   i          
   i
i i
 i       
 i
a   b
 c d
  e       
  f
  g
'''

解析: 找规律题目

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值