腾讯2015春招后台开发练习卷

时长:120分钟 总分:100分

169浏览 0人已完成答题

题型介绍
题型 单选题 多选题 简答题
数量 5 10 3
1.
某服务请求经负载均衡设备分配到集群A、B、C、D进行处理响应的概率分别是10%、20%、30%和40%。已知测试集群所得的稳定性指标分别是90%、95%、99%和99.9%。现在该服务器请求处理失败,且已排除稳定性以外的问题,那么最有可能在处理该服务请求的集群是________。
问题详情




2.
下列定义语句中,错误的是
问题详情




3.
给出以下定义,下列哪些操作是合法的?
问题详情

给出以下定义,下列哪些操作是合法的?
const char *p1 ="hello"
char *const p2 = "world"




4.
将一组无序的正整数重新排列成有序序列,其方法有()
问题详情




5.
下列说法正确的有( )
问题详情




6.
在Java中,下列说法错误的有( )
问题详情




7.
下列说法错误的有( )
问题详情




8.
卡方分布的方差为2倍的自由度为?
问题详情




9.
如何减少换页错误?
问题详情




10.
Assume that the following variables are initialized correctly ,please choose the right statement about constusage:
问题详情

Assume that the following variables are initialized correctly


,please choose the right statement about constusage:





11.
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(    )
问题详情




12.
以下各类中哪几个是线程安全的?
问题详情

以下各类中哪几个是线程安全的?( )




13.
若下列所用变量均已经正确定义,以下表达式中不合法的是?
问题详情

若下列所用变量均已经正确定义,一下表达式中不合法的是




14.
test.c文件中包括如下语句: #define INT_PTR int* typedef int* int_ptr INT_PTR a,b int_ptr c,d 文件中定义的四个变量中,哪个变量类型不是指针类型?
问题详情

test.c文件中包括如下语句:

#define INT_PTR int*
typedef int* int_ptr
INT_PTR a,b
int_ptr c,d

文件中定义的四个变量中,哪个变量类型不是指针类型?







15.
不属于冯诺依曼体系结构必要组成部分是:
问题详情




16.
有1000亿条记录,每条记录由url,ip,时间组成,设计一个系统能够快速查询以下内容。
问题详情

有1000亿条记录,每条记录由url,ip,时间组成,设计一个系统能够快速查询以下内容
1.给定url和时间段(精确到分钟)统计url的访问次数
2.给定ip和时间段(精确到分钟)统计ip的访问次数
17.
实现一个简化的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10条query。
问题详情

实现一个简化的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10query

由于是分布式系统,假设至少有26台机器,每个机器存储以26个字母开头的query日志文件(如机器1存的是a字母开头的,机器2存的是以b字母开头的……)

每个机器上维护着一张哈希表,对于每条query, 在哈希表表中存放其地址(哈希地址为链式的),并对其进行排序,按频率由高到低进行排序。

当用户进行搜索时,可以很快定位到某台机器,并根据哈希表,返回出现频率最高的前10query


提示:

1、可以预处理日志

2、假设query不超过10亿条,每个query不超过50字节。

3、考虑在大查询量的情况下如何实现分布式服务


18.
现在你的任务是完成getValidOrder函数,如果有合法的排队序列,那么返回其中任何一个。否则返回null。
问题详情

小米公司内部每个员工都会有一个专属的工作邮箱,邮箱的前缀是员工姓名的拼音全拼,例如张强的邮箱是zhangqiang@xiaomi.com,但同时公司里有很多同名的人,为了避免大家相互之间发错邮件,工程师们想了个规则来解决这个问题,即在这些同命人中,入职最早的邮箱前缀为姓名的拼音全拼,第二个入职的邮箱前缀为姓名的拼音全拼后面加“_a”,第三个入职的为姓名的拼音全拼后面加“_b”,以次类推,请按这个规则,如果公司里同时有3位名叫张强的员工,则他们的邮箱分别是zhangqiang@xiaomi.com,zhangqiang_a@xiaomi.com,zhangqiang_b@xiaomi.com...邮箱前缀是员工在公司里的重要标识之一,问题来了:现在小米要举行一次全员野外拉练活动,要求所有员工必须排成一队出去,并且,有的员工要求他必须排在某人的前面或后面,作为组织者的你,收到这样的需求之后,如何给出一个让每个人都满意的排队方式呢?
Java:
class RequestItem
{
    public String member
    public boolean standFront //true表示要排在这个人的前面,false表示要排在这个人的后面
}
class Request
{
    public String owner    //那个人提出的要求
    List<RequestItem> requestItems    //他要排在哪些人的前面,哪些人的后面
}
List<String> getValidOrder(List<String>allMembers, List<Request> requests)
allMembers就是所有员工的邮箱前缀,requests是一些人的排队要求。小米公司现有几千名员工,每个人最多有10个排队要求(要排在一个人的前面或者后面算一个排队要求),也有人没有什么要求。现在你的任务是完成上面的getValidOrder函数,如果有合法的排队序列,那么返回其中任何一个。否则返回null。