腾讯2017 (移动开发岗位)9月份秋招笔试 试题总结

腾讯2017移动开发岗位秋招笔试试题总结:

1.游戏任务系统都有一个固定的任务数,完成后不能在完成,任务数ID假定为1024,即【1,1024】,现在采用32位的无符号int型存储任务数ID。设置输入的第一个任务ID已经完成了所有任务,检查第二个任务ID是否完成任务。如果完成,则输入1,未完成,输入0。如果第一个和第二个任务不在任务数ID范围内,则输入-1。譬如输入1024,1024。则输入1

2.给出一组数据,采用hashing函数(散列函数),采用(给出一个散列函数)。。。求最长,最短。。


3.排序问题,a-y  27位字母排序。a,aa,aaa,aaay,aaa?bbb.  。。。。等等。a=1,aa=2,。。。。即求任何一个给定字母组合,算出其对应的数字。 


4.算法问题  


以某个腾讯游戏为背景考察算法,上一次是王者荣耀,这次是全民飞机大战。
全名飞机大战是腾讯研发的一款非常好玩的休闲游戏,游戏内的社区"飞行学院"有一个功能是让某些玩家能获得系统赠送的钻石并以红包形式分享给自己的粉丝,比如系统赠送200钻石,玩家把它分成20份并分享给自己的10万个粉丝。
假如是你来设计开发这个发红包的功能,你会怎么样解决以下的问题?
1.钻石的最小单位是1,如何设计钻石分配算法。
2.红包份数有限,高并发情况下怎么解决固定份数和限额的问题。

3.如果高峰阶段,抢红包的并发请求数可能会达到8000次/秒,使用什么样的存储系统可以支持该方案。


答:关于此题的思路,之前在CSDN上有朋友发过解密支付宝抢红包算法架构,有兴趣的朋友可以CSDN搜索。
   (四道大题,一小时答完,编程语言可选的有C,C++,Java,Javascript,php,C#)





笔试选择题,主要有对C语言结构体,指针的考察,数据类型,数据溢出问题的考察,网络协议,编译原理范式的考察,泛型的考察,计算机内存地址的计算,ios,android平台开发一些基础编程问题等等,总而言之,C,C++,Java编程语言都会涉及。。

你可能感兴趣的:(程序人生)