58今年秋招Java笔试分享,与大家共勉
一、选择题
1、以下协议,属于传输层协议的有(多选题) (AC)
A: TCP
B:IP
C: UDP
D: HTTP
2、国际象棋中骑士的走法同中国象棋中马的日字形走法,即从坐标(0,0)可以跳到坐标(1,2)或者(2.1), 在100*100的棋盘上, 国际象棋中的骑士最少需要多少步可以从(0,0)走到(99,99)C
A:33
B:50
C:66
D: 100
3、把m个球放入n个抽屉,允许有空的抽屉,问共有多少种不同的分法,用f(m,n)表示? 注意:譬如3个球放入2个抽屉,2.1和1.2表示 种分法。或者2个球放入3个抽屉,2,0,0和0,2,0表示 种分法。 请问当m > n的情况下,f(m, n)有多少种分法? ( C )
A: f(m- 1,n-1)+ f(m-n, n);
B: fm,n- 1)+ f(m-n 1, n);
C:flm,n- 1)+ f(m-n,n);
D: f(m-1,n) + f(m-n,n 1);
4、linux操作系统中,对名为testfile的文件用chmod 751 testfile进行了修改,则它的许可权是( A)
A: -rwxr-x--x
B: -r-xr-x-x
C:-rwxr--r--
D: -r--r—r—
5、58集团的同学都偏爱数字5和8.请问8进制数字77转换成5进制是多少( A )
A: 223
B: 233
C:63
D:以上都不对
6、以下对于线程和进程介绍正确的是(多选题)( BCD )
A:进程是资源的分配和调度的一个独立单元
B:一个进程可以由很多个线程组成
C 线程的创建和销毁所需要的时间比进程小很多
D:线程共享同进程的所有资源
7、在一棵二叉树上第7层的结点数最多是.(C )
A:32
B:63
C:64
D: 127
8、关于数据库索引的描述正确的是?AB
A:唯索的列允许为NULL值
B:一个关系表中的外键必定是另一表中的主键
C一个表中只能有一个唯性索引
D:索主要影古询过程,对数据的插入影响不大
9、已知HTTP请求报文如下:
GET /first.html HTTP/1.1
Host: www.bj58.com.cn
Connection: Close
Cookie:xxxxx
下列叙述中,正确的是(多选题)
(ABC )
A:该浏览器请求浏览first.html
B: first.html存放在www.bj58.com.cn上
C:该访问使用的HTTP协议版本是1.1
D:该浏览器曾经浏览过www.bj58.com.cn
10、一个栈的入栈顺序是1,2,3,4,则栈不可能输出序列是 ( C )
A: 4321
B: 3421
C: 4312
D: 1234
二、问答题
1、小明有个苹果,小红有根香蕉,一个苹果加根香蕉可以换一辆玩具小汽车。小明和小红都想要小汽车,又都不愿把自己手上的水果给对方,陷入僵局。这种情况在计算机科学中如何解释?以及如何避免。
2、58同城网站在登录后,最近几天都不需要重新登录,请问这个功能是怎么实现的?
3、已知一个线性表(109, 16,77,93,51, 39,25,61,1, 12),假定采用散列函数h(key)=key%11计算散列地址,并存储在散列表A[0,1.. 10]中,若采用线性探测方法解决冲突,则该散列表上等概率成功查找的平均查找长度是多少?并写出计算过程。
4、小松鼠吃瓜子.一口可以吃-粒西粒或者三粒瓜子,请问有多少秧方式吃完B粒瓜子?写出计算过程.
5、积分兑换。假设某人有积分total,可兑换不同价值的礼品,优先兑换价值高的礼品,求礼品兑换方案,按照礼品价值由小到大排序。要求积分要能够正好都兑换完等于0才可以。 (total=[0,1000000],price = [1,50001]) n
例:共有100积分,可换取礼物分别价值10分、20分、 40分, 兑换结果为[20,40.40];共有100积分,可换取礼物价值分别为14, 55, 39,兑换结果为null函数可以定义为: total:总积分; prices: 礼物价值。public List jifenduihuan(int total, int[ ] prices) {
}
6、已知房源信息表如下:
House(id,title,userld,type)房源表
id:房源ID
title:房源标题
userld:发帖人ID
type:出租类型1=整租; 2=合租
要求查询发布整租类别房源超过10条的发帖人
7、用户登录58网站或app后,可能会收到一 些系统消息。这就是系统很重要的通知系统。
通知系统是网站用来传播信息,譬如网站发送提醒或应用通知;或是提示有其他用户有回复、留言等。这里的通知包括但不限于公告、提醒或消息等。有些重要消息需要立即送达,有些消息则可以通过用户主动查看。消息系统也会涉及到不同平台,如网站、app. 微信公众号等。58日活跃用户千万级, 每天消息量亿级。请设计一个消息通知系统满足上述功能。尽可能把自己能想到的相关的设计点都列出来。
三、编程题
1、圣诞老人给小朋友分发苹果,见了第一个小朋友把他手上的苹果分了一半又多给了一 个。见了第二个小朋友把剩下的苹果分了一半又多给了一 个。
依次类推,见到第9个小朋友的时候,分了剩下的一半又多给了一个,圣诞老人手上还剩下2个苹果。请分别计算,圣诞老人在给第n个小朋友分苹果之前,手上有多少个苹果?写代码实现,函数的定义可以是
//child:第几个小朋友
//int返回值:圣诞老人有几个苹果
int share(int child){
}
class Solution{
public int share(int child){
}
}
2、击鼓传花游戏:总共m个人围成圈,编号从1开始。从第一个人开始传递一朵花,当传递到第n次时,持花者出局,下一个人重新计数传递,重复直到所有人都出局。请给出按照原始编号的出局顺序。例:有7个人参加游戏,每次传到6时出局,则出局顺序为[6, 5, 7,2, 1,4, 3]
class Solution{
public List<Integer>jiguchuanhua(int totalNum,int countNum){
}
}