最新C和C++程序员笔试题.docx

上传人:l*** 文档编号:19700772 上传时间:2022-06-10 格式:DOCX 页数:23 大小:40.67KB
返回 下载 相关 举报
最新C和C++程序员笔试题.docx_第1页
第1页 / 共23页
最新C和C++程序员笔试题.docx_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《最新C和C++程序员笔试题.docx》由会员分享,可在线阅读,更多相关《最新C和C++程序员笔试题.docx(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、最新C和C+程序员笔试题 以下是整理自8月下旬至10月份内的各大公司的笔试面试三十题(注:全部题目基本上全部为软件开发方向,题目来源:网络收集),信任肯定能给正在参与各种校招的诸多挚友多少帮助,学习参考或借鉴 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔/面试五十题 9月11日, 京东: 谈谈你对面对对象编程的相识 1 8月20日,金山面试,题目如下: 数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20220909,table_20220910,table_20220911),总共是一个月的数据。表1中的a类数据中有一个字段userid来唯一判别用户身份

2、,表2中的30张表(每张表结构相同)也有一个字段userid来唯一识别用户身份。如何判定a类数据库的多少用户在数据库2中出现过? 百度实习笔试题(2022.5.6) 简答题1 一个单词单词字母交换,可得另一个单词,如army-mary,成为兄弟单词。供应一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。评点:同去年9月份的一道题,见此文第3题:简答题2 线程和进程区分和联系。什么是“线程平安” 简答题3 C和C+怎样安排和释放内存,区分是什么 算法题1 一个url指向的页面里面有另一个url,最终有一个url指向之前出现过的url或空,这两种情形都定义为null。这样构成一个单链表。给两

3、条这样单链表,推断里面是否存在同样的url。url以亿级计,资源不足以hash。 算法题2 数组al0,mid-1 和 almid,num-1,都分别有序。将其merge成有序数组al0,num-1,要求空间困难度O(1) 系统设计题 百度搜寻框的suggestion,比如输入北京,搜寻框下面会以北京为前缀,展示“北京爱情故事”、“北京公交”、“北京医院”等等搜寻词。 如何设计使得空间和时间困难度尽量低。评点:老题,干脆上Trie树+Hash,Trie树的介绍见:从Trie树(字典树)谈到后缀树。 2 3 人搜笔试 1.快排每次以第一个作为主元,问时间困难度是多少?(O(N*logN)) 2.

4、T(N) = N + T(N/2)+T(2N), 问T(N)的时间困难度是多少? 点评:O(N*logN) or O(N)? 3.从(0,1)中平均随机出几次才能使得和超过1?(e) 4.编程题: 一棵树的节点定义格式如下: struct Node Node* parent; Node* firstChild; / 孩子节点 Node* sibling; / 兄弟节点 要求非递归遍历该树。 思路:采纳队列存储,来遍历节点。 5.算法题: 有N个节点,每两个节点相邻,每个节点只与2个节点相邻,因此,N个顶点有N-1条边。每一条边上都有权值wi,定义节点i到节点i+1的边为wi。 求:不相邻的权值

5、和最大的边的集合。 4 人搜面试,所投职位:搜寻研发工程师:面试题回忆 1、删除字符串起先及末尾的空白符,并且把数组中间的多个空格(假如有)符转化为1个。 2、求数组(元素可为正数、负数、0)的最大子序列和。 3、链表相邻元素翻转,如a-b-c-d-e-f-g,翻转后变为:b-a-d-c-f-e-g 4、链表克隆。链表的结构为: typedef struct list int data; /数据字段 list *middle; /指向链表中某随意位置元素(可指向自己)的指针 list *next;/指向链表下一元素 list; 5、100万条数据的数据库查询速度优化问题,解决关键点是:依据主表

6、元素特点,把主表拆分并新建副表,并且利用存储过程保证主副表的数据一样性。(不用写代码) 6、求正整数n全部可能的和式的组合(如;4=1+1+1+ 1、1+1+ 2、1+ 3、2+1+ 1、2+2)。 5 7、求旋转数组的最小元素(把一个数组最起先的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组3, 4, 5, 1, 2为1, 2, 3, 4, 5的一个旋转,该数组的最小值为1) 8、找出两个单链表里交叉的第一个元素 9、字符串移动(字符串为*号和26个字母的随意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对依次不变),要

7、求时间和空间困难度最小 10、时间困难度为O(1),怎么找出一个栈里的最大元素 11、线程、进程区分 12、static在C和C+里各代表什么含义 13、const在C/C+里什么意思 14、常用linux吩咐 15、说明Select/Poll模型 6 网易有道二面: 推断一个数字序列是BST后序遍历的结果,现场写代码。 7 8月30日,网易有道面试题 var tt = aa; function test() alert(tt); var tt = dd; alert(tt); test(); 8 9 8月31日,百度面试题:不运用随机数的洗牌算法, 9月6日,阿里笔试题:平面上有许多点,点与

8、点之间有可能有连线,求这个图里环的数目。 10 9月7日,一道华为上机题: 题目描述: 选秀节目打分,分为专家评委和大众评委,score 数组里面存储每个评委打的分数,judge_type 里存储与 score 数组对应的评委类别,judge_type = 1,表示专家评委,judge_type = 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4,总分取整。假如没有大众评委,则 总分 = 专家评委平均分,总分取整。函数最终返回选手得分。 函数接口 int cal_sc

9、ore(int score, int judge_type, int n) 上机题目须要将函数验证,但是题目中默认专家评委的个数不能为零,但是如何将这种专家数目为0的情形解除出去。 9月8日,腾讯面试题: 假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配, 比如:abcda和adabc,由于出现的字符个数都是相同,只是依次不同, 所以这两个字符串是匹配的。要求高效! 又是跟上述第3题中简洁题一的兄弟节点类似的一道题,我想,你们能想到的, 11 阿里云,搜寻引擎中5亿个url怎么高效存储; 11 一道C+笔试题,求矩形交集的面积: 在一个平面坐标系上,有两个矩形,它们的边分别平行

10、于X和Y轴。 其中,矩形A已知, ax1(左边), ax2(右边), ay1(top的纵坐标), ay2(bottom纵坐标).矩形B,类似,就是 bx1, bx2, by1, by2。这些值都是整数就OK了。 要求是,假如矩形没有交集,返回-1, 有交集,返回交集的面积。 int area(rect const& a, rect const& b) . 点评: healer_kx: 补齐代码,最好是简洁的,别用库。你可以写你的协助函数,宏定义,代码风格也很重要。 ri_aje:struct rect 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1

11、1 11 / axis alignment aumed / bottom left is (x0,y0), top right is (x1,y1) double x 2; double y 2; ; template T const& min (T const& x, T const& y) return x T const& max (T const& x, T const& y) return xy ? x : y; / return type changed to handle non-integer rects double area (rect const& a, rect con

12、st& b) / perfectly adjacent rects are considered having an intersection of 0 area double const dx = min(a.x1,b.x1)max(a.y0,b.y0); return dx=0&dy=0 ? dx*dy : -1; 11 12 下面是一个简短的证明。 对于平行于坐标轴的矩形 r,假设其左下角点坐标为 (rx0,ry0),右上角点坐标为 (rx1,ry1),那么由 r 定义的无限有界点集为:(x,y)|x in rx0,rx1 & y in ry0,ry1。 依据交集的定义,则随意二维点 (

13、x,y) 在矩形 a,b 的交集内等价于 (x,y)|(x,y) in a 并且 (x,y) in b (x,y)|x in ax0,ax1 & x in bx0,bx1 并且 y in ay0,ay1 & y in by0,by1 (x,y)|x in max(ax0,bx0),min(ax1,bx1) 并且 y in max(ay0,by0),min(ay1,by1) 因此,交集矩形的边长分别为 min(ax1,bx1)-max(ax0,bx0) 和 min(ay1,by1)-max(ay0,by0)。留意当交集为空时(a,b 不相交),则经此法计算出来的交集边长为负值,此事实可用于验证

14、a,b 的相交性。 鉴于笛卡尔积各个维度上的不相关性,此方法可扩展到随意有限维线性空间,比如,三维空间中平行于坐标轴的长方体的交集体积可以用类似的方法计算。 13 2022年创新工场校内聘请最终一道笔试题:工场很忙 创新工场每年会组织同学与项目的双选会,假设现在有M个项目,编号从1到M,另有N名同学,编号从1到N,每名同学能选择最多三个、最少一个感爱好的项目。选定之后,HR会支配项目负责人和相应感爱好的同学一对一面谈,每次面谈持续半小时。由于大家平常都很忙,所以咱们要尽量节约时间,请你根据以下的条件设计算法,帮助HR支配面试。 1)同学很忙。项目负责人一次只能与一名同学面谈,而同学会在自己第一

15、个面试起先时达到工场,最终一个面试结束后离开工场,假如参与一个项目组的面试后不能马上参与下一个项目组的面试,就必需在工场等待。所以请尽可能让同学的面试集中在某一时间段,削减同学在工场等待的时间。 2)项目负责人很忙。众所周知,创业团队的负责人会有许多事情要做,所以他们希望能够将自己参加的面试集中在某一段时间内,请在保证1)的状况下,使得项目负责人等待的时间最少。 3)HR很忙。从第一轮面试起先以后,全部HR都必需等到最终一轮面试结束,所以须要在保证1)和2)的同时,也能尽快解放掉全部的HR,即让第一轮面试到最终一轮面试之间持续的时间最短。 输入(以文件方式输入,文件名为iw,例如iw.in):

16、 第1行.第n行:同学的编号 项目的编号 样例(数据间用空格隔开,两个0表示输入结束): 1 11 21 32 1 3 1 3 2 0 0 表示M=3,N=3,编号为1的同学选择了项目1,2和3,编号为2的同学选择了项目1,编号为3的同学选了项目1和2 输出(以文件方式输出,文件名为iw,例如iw.out): 第1行:编号为1的项目依次面试新同学的编号序列 第2行:编号为2的项目依次面试新同学的编号序列 . 第n行:编号为n的项目依次面试新同学的编号序列 样例(数据间用空格隔开,0表示没有面试): 1 3 2 3 1 0 0 0 1 表示编号为1的项目在第一轮面试编号为1的同学,其次轮面试编号

17、为3的同学,第三轮面试编号为2的同学 编号为2的项目在第一轮面试编号为3的同学,其次轮面试编号为1的同学,其次轮不用面试 编号为3的项目在第一轮和其次轮都不用面试,第三轮面试编号为1的同学 4*9 的笔试题,比较简洁: 1.求链表的倒数其次个节点 2.有一个整数数组,求数组中其次大的数 阿里巴巴二道题 第一道: 对于给定的整数集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都属于S。集合的元素个数小于等于2000个,元素的取值范围在-228,2281) 2) 。最终我给出了一个奇妙的证明。然后发觉假如是m*n的矩阵也是类似的答案,不局限于方阵。此外,题目详细描述可以看看这里

18、: 38 9月27日,小米两面: 一面: 除了聊探讨,就一道题 1 数组里找到和最接近于0的两个值。 二面: 1 行列有序的矩阵查找一个数 2 直方图最大矩形。点评:这里有此题的详细表述及一份答案: 3 next_permutation 4 字符串匹配 含有* ? (写代码) 5 实现strcpy memmove (必需写代码)/void * memmove ( void * destination, const void * source, size_t num );) 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 3

19、8 38 38 38 /是的标准函数,其作用是把从source起先的num个字符拷贝到destination。 /最简洁的方法是干脆复制,但是由于它们可能存在内存的重叠区,因此可能覆盖了原有数据。 /比如当source+count=dest&source /解决方法是从后往前拷贝。 /对于其它状况,则从前往后拷贝。 void* memmove(void* dest, void* source, size_t count) void* ret = dest; if (dest = (source + count) /正向拷贝 /copy from lower addrees to higher

20、addrees while (count -) *dest+ = *source+; else /反向拷贝 /copy from higher addrees to lower addrees dest += count1; 38 38 38 38 38 while (count-) *dest- = *source-; return ret; 39 6 读数 (千万亿,百万亿)变为数字 (说思路即可,字符串查找,填写各个权值的字段,然后推断是否合法,读前面那些权值,累加)。 40 9月27日,Hulu 2022北京地区校招笔试题 填空题: 1、中序遍历二叉树,结果为ABCDEFGH,后序遍历

21、结果为ABEDCHGF,那么前序遍历结果为? 2、对字符串HELL0_HULU中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为? 3、对长度12的有序数组进行二分查找,目标等概率出现在数组的每个位置上,则平均比较次数为? 4、一副扑克(去王),每个人随机的摸两张,则至少须要多少人摸牌,才能保证有两个人抽到同样的花色。 5、x个小球中有唯一一个球较轻,用天平秤最少称量y次能找出这个较轻的球,写出y和x的函数表达式y=f(x) 6、3的方幂及不相等的3的方幂的和排列成递增序列1,3,4,9,10,12,13,写出数列第300项 7、无向图G有20条边,有4个度为4的顶点,6个度为3

22、的顶点,其余顶点度小于3,则G有多少个顶点 8、桶中有M个白球,小明每分钟从桶中随机取出一个球,涂成红色(无论白或红都涂红)再放回,问小明将桶中球全部涂红的期望时间是? 9、煤矿有3000吨煤要拿到市场上卖,有一辆火车可以用来运煤,火车最多能装1000吨煤,且火车本身须要烧煤做动力,每走1公里消耗1吨煤,如何运煤才能使得运到市场的煤最多,最多是多少? 10、1,2,3,4.n,n个数进栈,有多少种出栈依次,写出递推公式(写出通项公式不得分) 11、宇宙飞船有100,000位的存储空间,其中有一位有故障,现有一种Agent可以用来检测故障,每个Agent可以同时测试随意个位数,若都没有故障,则返

23、回OK,若有一位有故障,则失去响应。假如有无限多个Agent可供运用,每个Agent进行一次检测须要耗费1小时,现在有2个小时时间去找出故障位,问最少运用多少个Agent就能找出故障。 (总共12道填空题,还有一道太困难,题目很长,还有示意图,这里没有记录下来) 大题: 1、n个数,找出其中最小的k个数,写出代码,要求最坏状况下的时间困难度不能高于O(n logk) 2、写程序输出8皇后问题的全部排列,要求运用非递归的深度优先遍历 3、有n个作业,a1,a2.an,作业aj的处理时间为tj,产生的效益为pj,最终完成期限为dj,作业一旦被调度则不能中断,假如作业aj在dj前完成,则获得效益pj

24、,否则无效益。给出最大化效益的作业调度算法。 41 有道的一个笔试题,1-9,9个数组成三个三位数,且都是完全平方数(三个三位数 占据 9个数)求解法。 42 点评林晚枫&归云见鸿: (a*10+b)(a*10+b) 100a2+20ab+b2 a 属于 1,2,3 a=3,b=1 31 961, a=2,b=3 23 529 400+40b+b2 25 625 27 729 28 784 29 841 a=1,b=3 13 169 100+20b+b2 14 196 16 256 17 289 18 324 19 361 =最终唯一解 529 784 361 详细代码如下(3个for循环,然

25、后hash): 43 9月28日,大众点评北京笔试题目: 1.一个是跳台阶问题,可以1次一级,1次两级,1次三级,求N级的跳法一共多少种? 点评:老题, 44 2.一个文件有N个单词,每行一个,其中一个单词出现的次数大于N/2,怎么样才能快速找出这个单词? 点评:还是老题, 45 大众点评前面还有30道逻辑题,15道文字推理,15道数学推理,一共只给20min。 46 9月28日,网易笔试题: 1、英雄升级,从0级升到1级,概率100%。 从1级升到2级,有1/3的可能胜利;1/3的可能停留原级;1/3的可能下降到0级; 从2级升到3级,有1/9的可能胜利;4/9的可能停留原级;4/9的可能下

26、降到1级。 每次升级要花费一个宝石,不管胜利还是停留还是降级。 求英雄从0级升到3级平均花费的宝石数目。 点评:题目的意思是,从第n级升级到第n+1级胜利的概率是(1/3)n(指数),停留原级和降级的概率一样,都为1-(1/3)n/2)。 2、将一个很长的字符串,分割成一段一段的子字符串,子字符串都是回文字符串。 有回文字符串就输出最长的,没有回文就输出一个一个的字符。 例如: habbafgh 输出h,abba,f,g,h。 点评:一般的人会想到用后缀数组来解决这个问题, 47 10月9日,腾讯一面试题: 有一个log文件,里面记录的格式为: QQ号: 时间: flag: 如123456 1

27、4:00:00 0 123457 14:00:01 1 其中flag=0表示登录 flag=1表示退出 问:统计一天平均在线的QQ数。 点评:第8题后的腾讯面试题,读者可以参看之。 48 10月9日,腾讯面试题: 1.有一亿个数,输入一个数,找出与它编辑距离在3以内的书,比如输入6(0110),找出0010等数,数是32位的。 2.每个城市的IP段是固定的,新来一个IP,找出它是哪个城市的,设计一个后台系统。 49 10月9日,YY笔试题: 1 输出一个字符串中没有重复的字符。如“baaca”输出“bac”。 2 对于一个多叉树,设计TreeNode节点和函数,返回先序遍历状况下的下一个节点。

28、 函数定义为TreeNode* NextNode(TreeNode* node) 3 分割字符串。 对于一个字符串,依据分隔符seperator,把字符串分割,假如存在多个分隔符连在一起,则当做一个分隔符。假如分隔符出现在 符号之间,则不须要分割 之间的字符。 比如a+abc ,分隔符为+,输出a abc a+hu+ 输出a hu+ a+HU+JI 输出a HU JI。 请依据上述需求完成函数:void spiltString(string aString,char aSeperator)。 50 10月9日,赶集网笔试 51 10月9日,阿里巴巴2022校内聘请全套笔试题(注:下图中所标答案

29、不代表标准答案,有问题,欢迎留言评论) 上述第15题,填空:lower+ (upper-lower)/2 lower mid upper 0 6 12 7 9 12 7 7 8 8 8 8 比较4次 上述第16题,解答如下图所示: 上述第17题,解答如下图所示: 18、甲包8个红球 2个蓝球,乙包2个红球 8个蓝球。抛硬币确定从哪个包取球,取了11次,7红4蓝。注,每次取后还放进去,只抛一次硬币。问选的是甲包的概率? 点评: 贝叶斯公式 + 全概率公式作答(参看链接: 注:上述第1518的解答全部来自读者Lei Lei来信给出的解答,特此感谢。有任何问题,欢迎随时探讨&指正,同时,更欢迎其他挚

30、友也一起来做这些题目(你的答案一经选用,我可以依据你的要求,贴出你的个人主页或微博地址或博客地址)。 19、已知一个n个元素的数组,第i个元素在排序后的位置在i-k,i+k区间,k 10月10日,暴风影音笔试: 都是特别基础的题目,这是其中一道:一个整数转换成二进制后,问里面有多少个1。 10月10日人人网面试题 第一面: 1、(1)+i 和 i+,那个效率高? (2)+i,i+,哪个是合法的? (3)实现int型的+i 和 i+操作。 2、一段程序,求输出。(考察静态变量和模版类) 51 51 51 51 51 51 51 51 51 51 51 51 51 51 int g = 0; te

31、mplate cla B public: int static fun() static int value = +g; return value; ; int main() 51 51 51 51 51 51 51 cout :fun() :fun() :fun() :fun() :fun() 3、(1)实现二进制转十进制。 (2)假如有下面这种能干脆求二进制转十进制的代码,是怎么实现的? binary:value; / 结果为1 binary:value; / 结果为3 4、volatile、explicit、mutable表示的含义。 5、求整形数组的一个子数组,使得该子数组全部元素的和

32、的肯定值最大。 6、(1)写求单链表是否有环的算法。 (2)假如有环,如何找出环的第一个结点。 7、实现单例模式。 二面: 1、一个文本,一万行,每行一个词,统计出现频率最高的前10个词(词的平均长度为Len)。并分析时间困难度。 2、求数组中最长递增子序列。 53 10月10日,网易2022校内聘请全套笔试题: 54 10月10日,网易,数据挖掘工程师: 1,简述你对数据与处理的相识; 2,简述你对中文分词的理解,说明主要难点和常用算法; 3,常见的分类算法有哪些; 4,简述K-MEANS算法; 5,设计一个智能的商品举荐系统; 6,简述你对观点挖掘的相识。其它题目同 点评:其它题目与上述第

33、56题第一部分所述相同。 最新C和C+程序员笔试题 C、C+程序员求职面 C语言C+程序员编程必备 C+程序员简历(举荐) C、C+程序员应聘常见面试题(整理) C、C+程序员常见面试题深化剖析 普天C+笔试题 C、C+程序员应聘常见面试题深化剖析 C+程序员必读书目清单 一个C+程序员的心得 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第23页 共23页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页第 23 页 共 23 页

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

当前位置:首页 > 应用文书 > 策划方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com