2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx

上传人:太** 文档编号:35971801 上传时间:2022-08-24 格式:DOCX 页数:15 大小:23.48KB
返回 下载 相关 举报
2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx_第1页
第1页 / 共15页
2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx》由会员分享,可在线阅读,更多相关《2022年腾讯面试题(后台开发岗位)(应聘 求职 面试准备资料).docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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 .邮箱前缀是员工在公司里的重要标识之 一,问题来了:现在小米要进行一次全员野外拉练活动,要求全部员 工必需排成一队出去,并且,有的员工要求他必需排在某人的前面或 后面,作为组织者的你

11、,收到这样的需求之后,如何给出一个让每个 人都满足的排队方式呢?Java:class Requestitempublic String member;public boolean standFront; true 表示要排在这个人的前面,false表示要排在这个人的后面)class Requestpublic String owner; 那个人提出的要求ListRequestltem requestitems; 他要排在哪些人的前面,哪些人的后面)Liststring getValidOrder(ListStringallMembers, ListRequest requests);-16-a

12、llMembers就是全部员工的邮箱前缀,requests是一些人的排队要 求。小米公司现有几千名员工,每个人最多有10个排队要求(要排 在一个人的前面或者后面算一个排队要求),也有人没有什么要求。 现在你的任务是完成上面的getValidOrder函数,假如有合法的排队序 列,那么返回其中任何一个。否那么返回nullo假设有n个员工。选用数据结构,mapnno1、其中mapij=l代表i在j的前面,=0代表前后位置,=-1带表 在后面。假设消失已经=-1的状况下,在后面又要求=1,会形成环,那么 返回nulloo2、这样就形成了一个图,然后进行拓扑排序即可。先找出全部入 度为0的点,放在前面

13、,然后去掉这些点和相应的边.如此得到最终 结果。-17-某服务恳求经负载均衡设备安排到集群A、B、C、D进行处理响应 的概率分别是10% 20%、30%和40%o测试集群所得的稳定性 指标分别是90%、95%、99%和99.9%。现在该服务器恳求处理失败, 且已排解稳定性以外的问题,那么最有可能在处理该服务恳求的集群A、AB、BC、CD、D答案:A B解析:选中该集群,并且处理失败了的概率为:10%*10%20%*5% 30%*1% 40%*0.1%o A 与 B 的概率最高。第3题:以下说法正确的有()A环境变量可在编译source code时指定B在编译程序时,所能指定的环境变量不包括cl

14、ass pathC javac 一次可同时编译数个Java源文件Djavac.exe能指定编译结果要置于哪个名目(directory)答案:ACD第4题:以下说法错误的有()A数组是一种对象B数组属于一种原生类C int number=31/23/33,43,35,63D数组的大小可以任意转变答案:BCD解答:Java把数组当作一个java类来处理java是纯面对对象的语言,他的数组也是一个对象。第5题:以下说法错误的有()A能被java.exe胜利运行的java class文件必需有main。方法BJ2SDK 就是 Java APIC Appletviewer.exe可利用jar选项运行Ja

15、r文件-3-D能被Appletviewer胜利运行的java class文件必需有main。方法答案:BCD解析如下:B选项中J2SDK是编程工具,不是API.C选项中 Appletviewer.exe就是用来解释执行java applet应 用程序的,简洁理解就是没有main函数的继承applet类的java类。D选项中能被Appletviewer胜利运行的java class文件没有main()方法第6题:卡方分布的方差为2倍的自由度为?A nB 1C2nD4n答案:C注解:分布的均值为自由度n,记为E() = no分布的方差为2倍的自由度(2n),记为D() = 2no第7题:如何削减换

16、页错误?A进程倾向于占用CPUB访问局部性(I oca lityof reference)满意进程要求C进程倾向于占用I/OD使用基于最短剩余时间(shortestremainingtime)的调度机制答案:B解析如下:换页错误又称缺页错误,当一个程序试图访问没有映射到物理内存 的地方时,就会消失缺页错误,这时操作系统就要去虚拟内存中加 载这块内存页。百度了一下,削减换页错误的方法,即降低缺页中断率:1、内存页框数。增加作业分得的内存块数。2、页面大小。页面划分越大,中断率越低。3、替换算法的优劣影响缺页中断次数4、程序局部性。程序局部性好可削减缺页中断(为什么?)。那么B是对的,而对于D,最

17、短剩余时间调度是CPU调度就绪进程-5-的方式,与页面置换算法无关,不要搞混淆了。第8题:Please choose the right statement about constusage:A const int a; /const integerB int const a; /const integerC int const *a; /a pointer which point to const integerD const int *a; /a const pointer which point to integerE int const *a; / a const pointer wh

18、ich point to integer答案:ABC解析如下:对于A和B, int const和const int可以颠倒位置,意义不变CDE都表示指向const int的指针,而int * const a才表示指向int 的const指针第9题:以下定义语句中,错误的选项是A int px*;B char*acp10;-6-C char (*pac) 10;D int (*p)();答案:A第10题:对类成员访问权限的掌握,是通过设置成员的访问掌握属性实现的,以下不是访问掌握属性的是0A公有类型B私有类型C保护类型D友元类型答案:D解析如下:C+中有三种权限掌握类型,分别是共有类型publi

19、c,私有类型 private,保护类型 protected.友元是声明一个类外的方法具有类方法同样的访问权限,目的是让 类外的方法可以访问类内部的属性,不是访问掌握属性。第11题:给出以下定义,以下哪些操作是合法的?const char *pl = hello”;char *const p2 = world;A pl+;B pl2 = wc p22 = T;D p2+;答案:A解析如下:pl是指向字符常量的指针,pl本身不是常量,所以pl+合法,A 正确。P2本身是指针常量,可以指向特别量的字符。但是hello”这样声明 的字符串是存储在只读存储区的,不行修改,所以B,C,D都错误。第12题:

20、以下集合对象中哪几个是线程平安的?()A ArrayListB VectorC HashtableD Stack8 答案:BCD解析如下:在集合框架中,有些类是线程平安的,这些都是jdkl.l中的消失的。在jdkl.2之后,就消失许很多多非线程平安的类。下面是这些线程平安的同步的类:vector:就比airaylist多了个同步化机制(线程平安),由于效率较 低,现在已经不太建议使用。在web应用中,特殊是前台页面,往 往效率(页面响应速度)是优先考虑的。statck:堆栈类,先进后出hashtable:就比hashmap多了个线程平安enumeration:枚举,相当于迭代器除了这些之外,其他的都是非线程平安的类和接口。第13题:假设以下所用变量均已经正确定义,一下表达式中不合法的是Ax3B +jC a=xy?x:yDx%=49

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁