2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx
《2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx》由会员分享,可在线阅读,更多相关《2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年腾讯面试题(后台开发岗位)第1题:一、不定项选择将一组无序的数据重新排列成有序序列,其方法有0A拓扑排序B快速排序C堆排序D基数排序答案:BCD解析:在图论中,由一个有向无环图的顶点组成的序列,当且仅当 满意以下条件时,称为该图的一个拓扑排序(英语:Topological sorting)o 每个顶点消失且只消失一次;假设A在序列中排在B的前面,那么在图中不存在从B到A的路径。也可以定义为:拓扑排序是对有向无环图的顶点的一种排序,它使得 假如存在一条从顶点A到顶点B的路径,那么在排序中B消失在A 的后面第2题:-1-答案:B解析如下:A ,x右移三位B, +j是j自增1, +j是不合
2、法的,编译出错C,这是一个三目运算符,(expl)?(exp2):(exp3)当expl为true时个表达式结果为exp2当expl为false时整个表达式结果为exp3D,取余运算,等价于x二x%4第14题: test.c文件中包括如下语句:#define INT_PTRint*typedef int* int_ptr;INT PTR azb;int_ptr c,d;文件中定义的四个变量中,哪个变量类型不是指针类型?A aB bCcDdE都是指针F都不是指针-io答案:B解析如下:#define INT_PTR int*这是宏定义,编译预处理阶段要进行宏替换,INT_PTRa,b会变成int
3、* a,b所以b不是指针类型typedef int* int_ptr;这是自定义类型,也就是把int_ptr定义为int型指针,编译阶段会把c,d都识别为指针第15题:不属于冯诺依曼体系结构必要组成局部是:A CPUB CacheCRAMDROM答案:B第16题:二、问答题有1000亿条记录,每条记录由url,ip,时间组成,设计一个系统能够 快速查询以下内容.给定url和时间段(精确到分钟)统计url的访问次数1 .给定ip和时间段(精确到分钟)统计ip的访问次数-11-答:首先,1000亿条记录全部放到内存确定不够,那就是分成小 文件了,然后整合;公共的时间段,由于精确到分钟,我们把这每一
4、分钟建成一个小文件, 每个小文件确定会有很多重复的ip, url;现在统计每个小的文件中url的访问量和ip的访问次数,方法就是建 立索引;(建立索引的目的是为了削减查询次数,但是随着索引级数增多也会 造成花更多的时间在建立索引上);建立url的索引,假如是.nowcoder /question,可以分别 给.nowcoder 和question建立索引,那么来了一条url,先看一级 索引是不是匹配,匹配再看二级索引,相同的话就是我们要的url目 标;ip的索引也是一样,ip分成4段建立索引;所以这里影响效率的就是在索引建立这块,索引建立好那就是查询的 事了的,就会变得特别快。假定给定了某个时
5、间段,找出url的访问量,那么先找到给定的时间 段,对应着刚开头分割的小的文件(每一个分钟)中搜寻,通过索引 找到相同的url之后,开头统计,直到搜寻完全部的给定时间段内的 全部的小的文件;求ip的访问次数也是一样,根据给定的时间段,找到对应的小的文-12 -件,通过索引找到相同的ip后统计,直到搜寻完了给定时间段内的 全部的小的文件。第17题:实现一个简化的搜寻提示系统。给定一个包含了用户query的日志 文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中消 失频率最高的前10条query0由于是分布式系统,假设至少有26台机器,每个机器存储以26个 字母开头的query日志文件(如
6、机器1存的是a字母开头的,机器2 存的是以b字母开头的.)每个机器上维护着一张哈希表,对于每条query,在哈希表表中存 放其地址(哈希地址为链式的),并对其进行排序,按频率由高到低 进行排序。当用户进行搜寻时,可以很快定位到某台机器,并依据哈希表,返 回消失频率最高的前10条queryo提示:1、可以预处理日志2、假设query不超过10亿条,每个query不超过50字节。3、考虑在大查询量的状况下如何实现分布式服务系统前台:-13 -用JS监控input输入框的内容变化,用户输入或者删除字符(输入 串的发生变化)就触发异步Javascript提交输入内容到后台,引发后 台查询。然后再讲查询
7、结果消失频率最高的前10条query呈现给用 户提示。系统后台:首先有26台服务器分别存储26个字母开头的queryo所以首先要 设计一个接收用户恳求的服务器,这台服务器可以依据用户恳求的首 字母将查询恳求分发给对应26台服务器中的一个(相当于查询恳求 的路由功能)。然后就是这26台查询服务器如何设计的问题了。假设query不超过10亿条,每个query不超过50字节。也就是query 文件不超过50G,分在26台机器上也就是每台机器上的query文件 不超过2Go每个机器上维护着一张哈希表,对于每条query,在哈希表表中存 放其地址。收到每个query做hash运算可以找到query对应的
8、地址。 对应每个query存储两项信息,即query本身和被查询次数,也就是 类似query:times这样的存储格式。下面做预处理:26台机器都对自身存储的query进行遍历,分别找 出a到z开头query消失频率最高的toplO,这样的查询一次遍历就 能找到,时间简单度为0 (N)。然后对找到的toplO在内存中构建一 个最小堆。其他非toplO的query无需做排序处理。到这里预处理完14 成。然后说查询过程,查询分为两类,1,以给出搜寻提示的异步Javascript提交的查询,这种查询直接返 回最小堆中的10个query词条即可。2,用户最终提交的查询(即用户输入完毕点击搜寻按钮提交的
9、查 询),这种查询的query是用户最终查询的词条,这样的查询应当引 起后台存储的对应query频率的变化。当一个query到达的时候,先 用hash运算找到他的位置和对应的频率,hash操作时间简单度是0(1), 然后对应的次数+1,然后用这个+1的次数与最小堆中首个元素比拟, 假如大于最小堆首个元素,与最小堆中首个元素交换,然后最小堆做 更新操作,保证最小堆的特性。否那么不操作。这样最小堆中维护的 10个query始终是这台机器上频率最高的,查询时返回这10个query 词条即可。第18题:小米公司内部每个员工都会有一个专属的工作邮箱,邮箱的前缀是 员工姓名的拼音全拼,例如张强的邮箱是zh
10、angqiangxiaomi ,但 同时公司里有许多同名的人,为了避开大家相互之间发错邮件,工程 师们想了个规章来解决这个问题,即在这些同命人中,入职最早的邮 箱前缀为姓名的拼音全拼,其次个入职的邮箱前缀为姓名的拼音全拼 后面加“/,第三个入职的为姓名的拼音全拼后面加_b,以次类推, 请按这个规章,假如公司里同时有3位名叫张强的员工,那么他们的邮-15-箱分另Ll 是 , , zhangqiang_bxiaomi .邮箱前缀是员工在公司里的重要标识之 一,问题来了:现在小米要进行一次全员野外拉练活动,要求全部员 工必需排成一队出去,并且,有的员工要求他必需排在某人的前面或 后面,作为组织者的你
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年腾讯面试题后台开发岗位应聘 求职 面试准备资料 2022 腾讯 试题 后台 开发 岗位 应聘 面试 准备 资料
限制150内