欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    搜狐 2022 C++工程师面试题(应聘 求职 面试准备资料).docx

    • 资源ID:35989533       资源大小:40.07KB        全文页数:34页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    搜狐 2022 C++工程师面试题(应聘 求职 面试准备资料).docx

    搜狐2022 C+工程师面试题第1题:一、单项选择题1、假设整数0x12345678存放在内存地址0x0开头的连续四个字 节中(即地址0x0到0x3).那么在以Little Endian字节序存储的 memory中,地址0x3的地方存放的字节是:A、 0x12B、 0x34C、 0x56D、 0x781、Aa) Little-Endian就是低位字节排放在内存的低地址端,高位字节 排放在内存的高地址端。b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放 在内存的高地址端。c)网络字节序:TCP/IP各层协议将字节序定义为Big-Endian,因 此TCP/IP协议中使用的字节序通常称之为网络字节序。假如是 Little-Endian:0x0-0x3 内存分别存放的是:0x78、0x56、0x34、0x12;假如是 Big-Endian :0x0-0x3内存分别存放的是:0xl2、0x34、第10题:10、典型的创立Windows窗口过程的流程为()A、注册窗口类-创立窗口-显示窗口-更新窗口-消息循环 B、注册窗口类-创立窗口-更新窗口-显示窗口-消息循环 C、创立窗口-注册窗口类-更新窗口-显示窗口-消息循环 D、创立窗口-注册窗口类-显示窗口-更新窗口-消息循环10、A在屏幕上显示一个窗口的过程一般有以下步骤,这就是主程序的结构 流程:(1)得到应用程序的句柄(GetModuleHandle)o(2 )注册窗口类(RegisterClassEx)。在注册之前,要先填写 RegisterClassEx 的参数 WNDCLASSEX 结构。(3)建立窗口(CreateWindowEx)。(4)显示窗口(ShowWindows)。(5)刷新窗口客户区(UpdateWindow)o(6)进入无限的消息猎取和处理的循环。首先猎取消息(GetMessage), 假如有消息到达,那么将消息分派到回调函数处理(DispatchMessage), 假如消息是WM_QUIT,那么退出循环。-10-第11题:11>下面哪个API返回的不属于windows内核对象()A、CreateFileB、CreateSemaphoreC、CreateDCD、eateEvent11> CABD选项是内核对象:大事对象HANDLE CreateEvent。;文件对象HANDLE CreateFile。;信号量对象 HANDLE CreateSemaphore();C选项是GDI对象。设备上下文(HDC) CreateDC第12题:12、用户双击鼠标时产生的消息序列,下面正确的选项是()A、WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDOWN,WM_LBUTTONUPB、WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONUP,WM_LBUTTONDBLCLKC、WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDOWN,-li-WM LBUTTONDBLCLKD> WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, WM_LBUTTONUP12、D双击即点击左键两下,第一次触发LBUTTONDOWN和LBUTTONUP, 其次次点击时触发双击大事LBUTTONDBLCLK (doubleclick),放掉再触发 LBUTTONUP第13题:13、以下关于线程以下描述正确的选项是()1 .windows线程创立时,默认绑定在1个特定的CPU上2 .可采纳SetThreadAffinityMask接口设置线程与某个cpu绑定3 ._beginthreadex比CreateThread创立线程平安是由 于使用 _beginthreadex会创立一1_tiddata,在调用一些诸如strtok函数时会 将需要保护的数据存入一tiddata4 .使用_beginthread创立线程时,线程执行函数必需为_cdecl约束 规范,而_beginthreadex指定的线程执行函数必需为_stdcallA、1, 2B、1, 3-12-C、1D、以上都不正确13、D解释:1:不正确。windows线程创立时,不会绑定在特定的CPU 上,需要手动绑定,或者调用SetThreadAffinityMask接口进行绑定;2:正 确。参 考3:不正确。参考2的链接。欢迎各位订正。4:正确。参考msdn:_beginthread函数可创立在start_address开头执行例程的线程。start_address中的例程必需使用cdecl(用于本机代码)或clrcall(用于托管代码)调用商定,并且应没有返回值。传递给 _beginthreadex 的 start_ad dress中的例程必需使用 stdcall (用于本机代码)或clrcall (用于托管代码)调用商定,并且必需返回线程退出代码。所以,通过1,就能选出Do第14题:14、以下哪些线程同步锁可以为递归锁-13-1 .信号量2.读写锁3.互斥量4.大事5.临界区(Critical Section)A、 1, 3, 4, 5B、5C、3, 5D、 1, 3, 514、C进程/线程同步方法常见的进程/线程同步方法有互斥锁(或称互斥量Mutex)、读写锁(rdlock)、条件变量(cond)、信号量(Semophore)等。在windows系统中,临界区(Critical Section)和大事对象(Event) 也是常用的同步方法。递归锁/非递归锁Mutex可以分为递归锁(recursive mutex)和非递归锁(non-recursive mutex)o递归锁也叫可重入锁(reentrant mutex),非递归锁也叫不 行重入锁(non-reentrant mutex)o二者唯一的区分是:同一个线程可以屡次猎取同一个递归锁,不会产生死锁。假如一个线程屡次猎取同一个非递归锁,那么会产生死锁。Windows 下的 Mutex 和 Critical Section 是可递归的。Linux下的pthread_mutex_t锁是默认是非递归的。可以通过设置14 PTHREAD_MUTEX_RECURSIVE 属性,将 pthread_mutex_t 锁设置为递归锁。第15题:15、关于sendmessage和postmessage的区分,下面的说法错误的选项是()A、postmessage发出消息后,将消息放到消息队列中,立刻返回B、sendmessage发出消息后,始终等到该消息执行完毕,才返回C、用sendmessage给其他线程创立的窗口发送消息时,消息也会进消息队列D、用2个函数只能给当前进程的窗口发送消息15、DA: PostMessage只把消息放入队歹U,不管其他程序是否处理都返回, 然后连续执行,这是个异步消息投放函数。B:SendMessage必需等待其他程序处理消息完了之后才返回,连续 执行,这是个同步消息投放函数。C:当某线程调用sendmessage给别的线程创立的窗口时; 发送的消 息首先追加到接收线程的发送消息队列,发送线程处于空闲状态,等 待接收线程处理完他的消息返回给发送线程的应答队列,等到后发送-15- 线程被唤醒取得应答队列的消息(就是处理完消息的返回值),连续 执行。D:sendmessage和postmessage都可以给其他线程发送消息第16题:16、关于WM_COPYDATA消息的处理,下面描述错误的选项是()A、可以在不同进程之间传递少量只读数据B、只能通过sendmessage方式来发送该消息C、只能在窗口过程函数中处理该消息D、可以在消息队列或窗口过程函数中处理该消息16、CA: WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 Windows在通过WM_COPYDATA消息传递期间,不供应继承同步方式。B;该消息只能由SendMessage。来发送,而不能使用PostMessage()o 由于系统必需管理用以传递数据的缓冲区的生命期,假如使用了 PostMessage(),数据缓冲区会在接收方(线程)有机会处理该数据之 前,就被系统清除和回收。D:可以在消息队列或窗口过程函数中处理该消息-16-第17题:17常用的windows进入点函数wWinMain共有四个参数,其中不 包括以下哪种类型的参数()A、intB、 char*C、PWSTRD、HINSTANCE17、CWinMain函数的原型声明如下:int WINAPI WinMain(HINSTANCE hlnstance , / handle to current instanceHINSTANCE hPrevInstance , / handle to previous instanceLPSTR IpCmdLine , / command lineint nCmdShow / show state);第一个参数hlnstance表示该程序当前运行的实例的句柄,这是一 个数值。其次个参数hPrevInstance表示当前实例的前一个实例的句柄。第三个参数IpCmdLine是一个以空终止的字符串,指定传递给应用-17-程序的命令行参数。第四个参数nCmdShow指定程序的窗口应当如何显示,例如最大化、最小化、隐蔽等。第18题:18、以下windows消息中,优先级相对较低的是哪一个()A、WM_MOUSEMOVEB、WM_TIMERC、WM_CHARD、WM_WINDOWPOSCHANGED18、BWM_TIMER消息的优先级最低,所以在有其他消息的状况下,WM_TIMER消息得不处处理A:WM_MOUSEMOVE消息在鼠标移动时被发送至已获焦点的窗口B:Windows定时器是一种周期性的消息产生装置,它会每隔一段指定时间发送一次定时消息WM_TIMEROC:未经输入法而直接送人程序中的字符会响应WM.CHAR消息D:发送此消息给那个窗口的大小和位置已经被转变时,来调用 setwindowpos函数或其它窗口管理函数-18 第19题:19、最小堆032574,6双在删除堆顶元素0之后,其结果是()A、3, 2,A、3, 2,5, 7, 4,6, 8B、 2, 3, 5,B、 2, 3, 5,7, 4, 6, 8C、 2, 3, 4,C、 2, 3, 4,5, 7, 8, 6D、2, 3, 4,D、2, 3, 4,5, 6, 7, 819、C依据堆的删除规章,删除操作只能在堆顶进行,也就是删除0元素。 然后让最终一个节点放在堆顶,做向下调整工作,让剩下的数组依旧 满意最小堆。删除0后用8填充0的位置,为8,3,2,5,7,4,6然后8和其子节点3,2比拟,结果2最小,将2和8交换,为:2,3,8,5,7,4,6然后8的下标为2,其两个孩子节点下标分别为2*2+1=5,2*2+2=6 也就是4和6两个元素,经比拟,4最小,将8与4交换,为2,3,4,5,7,8,6 这时候8已经没有孩子节点了,调整完成。190x56> 0x78;第2题:2、以下代码输出的是_?int foo(int x,int y)if(x=0| |y=0) return 1;return 3*foo(x-l,y/2);)coutfoo(3,5)endl;A、81B、27C、9D、32、B递归:3*3*3*f(0,0) =3*3*3*1=27。第3题:-2-第20题:20、对一个由4BCD随机组成的序列进行哈弗曼编码,据统计,各个元素的概率分别为:P(A)=0.4, P(B)=0.35, P(C)=0.2, P(D)=0.05, 请问该编码的平均期望编码长度为()bits?A、1.45B、1.7C、1.85D、1.9220、C首先要建立哈夫曼树,然后计算平均期望编码长度:0.4*1 + 0.35*2+ 0.2*3 + 0.05*3 = 1.85第21题:21、设有递归算法如下,int x(int n)(if(n=3)return 1;else-20-return x(n-2)+x(n-4)+l;)试问计算x(x(8)时需要计算()次x函数。A、8B、9C、16D、1821、Dx(8)=x(6)+x(4)+l递归计算x(8)第一次调用x(6)=x(4)+x(2)+l递归计算x其次次调用x(4)= x(2)+x(0)+l递归计算x(4)第三次调用x(4)= x(2)+x(0)+l递归计算x(4)第四次调用之后再调用x()计算黑体局部的结果(5次,加上前面4次,一共9次),最终x(8)返回值为9接着计算x(9)x(9)=x(7)+x(5)+l递归计算x(9)第一次调用x(7)=x(5)+x(3)+l递归计算x(7)其次次调用x(5)=x(3)+x(l)+l递归计算x(5)第三次调用x(5)=x(3)+x(l)+l递归计算x第四次调用之后再调用x()计算黑体局部的结果(5次,加上前面4次,一共9-21-次),最终x(8)返回值为9所以总共调用x()的次数是9+9=18第22题:22、设一组初始记录关键字序列9出工,丫尸内1/15&口下凶,那么按字母升 序的第一趟冒泡排序结束后的结果是OA、F,H,C,D,P,A,M,Q,R,S,Y,XB、P,A,C,S,Q,D,F,X, R,H,M,YC、A,D,C,R,F,Q,M,S,Y,P,H,XD、H,C,Q,P,A,M,S,R,D,F,X,Y22、D第一趟冒泡:从数组第一个元素到最终一个元素扫描,比拟相邻的 元素,假如后一个元素小于前一个,那么交换位置。第一趟结束时,最 大元素到达最终一个元素位置第23题:23、堆排序的空间简单度是(),堆排序中构建堆的时间简单度是-22-A、0 (logn), O(n)B、O(logn), O(nlogn)C、0(1), 0(n)D、0(1), O(nlogn)23、C“空间简单度指占内存大小,堆排序每次只对一个元素操作,是就 地排序,所用帮助空间0(1),空间简单度是0 (I)在构建堆的过程中,完全二叉树从最下层最右边的非终端结点开头 构建,将它与其孩子进行比拟和必要的互换,对于每个非终端结点来 说,其实最多进行两次比拟和互换操作,因此整个构建堆的时间简单 度为0(n)o在正式排序时,第i次取堆顶记录重建堆需要用O(logi)的时间(完全 二叉树的某个结点到根结点的距离为?Iog2i?+1),并且需要取n-1次 堆顶记录,因此,重建堆的时间简单度为O(nlogn)。第24题:24、假设用一个大小为6的数组来实现循环队列,且当前rear和front 的值分别0和3。当从队列中删除一个元素,再加入两 个元素后,rear-23-和front的值分别为()A、2 和 4B、1和 5C、4 和 2D、5 和 124、A由于出队时,front=front+1/MAXSIZE/ear 不变,所以 front=4入队时,rear=rear+l/MAXSIZE,front 不变,所以 rear=2;第25题:25、如下表是用户是否使用某产品的调查结果()UID年龄地区学历UID年龄地区学历收入用户是否使用调查产品1低北方博士低是2 高北方本科中否3低南方本科高否4高北方讨论生中是请计算年龄,地区,学历,收入中对用户是否使用调查产品信息增益最大的属性(Log230.63)A、年龄 24 B、地区C、学历D、收入25、C不用算一眼就能看出来,全部本科学历都不使用调查产品,全部非本 科学历都使用了调查产品。这种可以确定的划分导致信息燧为0,信 息增益最大第 26®:26、假设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示, 那么该算法的时间简单度为()A、O(logn)B、O(n*logn)C、0(n)D、 0(nA2)26、BT(n)=2Ak*(T(n/(2Ak)+k*n-25-2Ak = n,k = log(n)(以 2 为底)T (n) = n*T(l)+n*log(n)= c*n*log(n) (c 为常数)所以是O(n*logn)第27题:27、基于统计的分词方法为()A、正向最大匹配法B、逆向最大匹配法C、最少切分D、条件随机场27、D目前的分词方法归纳起来有3类:第一类是基于语法和规章的分词法。其基本思想就是在分词的同时进 行句法、语义分析,利用句法信息和语义信息来进行词性标注,以解 决分词歧义现象。由于现有的语法学问、句法规章非常笼统、简单,基 于语法和规章的分词法所能到达的精确度远远还不能令人满足,目 前这种分词系统还处在试验阶段。其次类是机械式分词法(即基于词典)。机械分词的原理是将文档中 的字符串与词典中的词条进行逐一匹配,假如词典中找到某个字符-26- 串,那么匹配胜利,可以切分,否那么不予切分。基于词典的机械分词法, 实现简洁,有用性强,但机械分词法的最大的缺点就是词典的完备性 不能得到保证。据统计,用一个含有70 000个词的词典去切分含有 15 000个词的语料库,仍旧有30%以上的词条没有被分出来,也就 是说有4500个词没有在词典中登录。第三类是基于统计的方法。基于统计的分词法的基本原理是依据字符 串在语料库中消失的统计频率来打算其是否构成词。词是字的组合, 相邻的字同时消失的次数越多,就越有可能构成一个词。因此字与字 相邻共现的频率或概率能够较好的反映它们成为词的可信度。最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量 的扫描串,在词典中进行扫描,这是基于词典分词的方法.正向最大匹配法1 .逆向最大匹配法.最少切分法:使每一句中切出的词数最小,这也是基于词典分词的 方法条件随机场是一个基于统计的序列标记和分割的方法,属于基于统计 的分词方法范畴。它定义了整个标签序列的联合概率,各状态是非* 的,彼此之间可以交互,因此可以更好地模拟现实世界的数据.第28题:28、以下哪个不属于CRF模型对于HMM和MEMM模型的优势()-27-A、特征敏捷B、速度快C、可容纳较多上下文信息D、全局最优28、B隐马尔可夫模型(Hidden Markov Model, HMM),最大爆马尔可夫模 型(Maximum Entropy Markov Model, MEMM)以及条件随机场 (Conditional Random Field, CRF)是序列标注中最常用也是最基本的 三个模型。HMM模型是对转移概率和表现概率直接建模,统计共现概率。MEMM模型是对转移概率和表现概率建立联合概率,统计时统计的 是条件概率,但MEMM简单陷入局部最优,是由于MEMM只在局部 做归一化。RF模型中,统计了全局概率,在 做归一化时,考虑了数据在全局的 分布,而不是仅仅在局部归一化,这样就解决了 MEMM中的标记偏 置(label bias)的问题。CRF没有HMM那样严格的*性假设条件,因而可以容纳任意的上下 文信息。特征设计敏捷。(与ME 一样)与HMM比拟同时,由于CRF计算全局最优输出节点的条件概率,它还克服了最大 燧马尔可夫模型标记偏置(Label-bias)的缺点。shy;shy;与-28 MEMM比拟CRF是在给定需要标记的观看序列的条件下,计算整个标记序列的联 合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态 分布。CRF需要训练的参数更多,与MEMM和HMM相比,它存在训练代 价大、简单度高的缺点。第29题:29、假设一个完整的扑克牌有52张牌,2黑色(黑葵和梅花)和2 红色(方块和红心)。假如给你一副完整的牌,和半副牌(1红色和1 黑色),那么两种状况下抽两种牌都是红色的概率是多少()A、1/2, 1/2B、 25/102, 12/50C、 50/51, 24/25D、 25/51, 12/2529、B第一种状况 26/52 * 25/51 =25/102其次种状况 13/26 * 12/25=12/50-29 -3、给定以下程序,那么执行printf (M%n", foo(20,13);的输出结果是多少?intfoo (intx, inty )(if (x< = 0|y< = 0)return 1;return 3*foo (x-6, y/2);)A、3B、9C、27D、813、D第4题:4、假如x=2022,下面函数的返回值是()int fun(unsigned int x)int n=0;第30题:30、在二分类问题中,当测试集的正例和负例数量不均衡时,以下 评价方案哪个是相对不合理的()(假设 precision=TP/(TP+FP)jecall=TP/(TP+FN)。)A、Accu racy:(TP+TN )/a 11B> F-value:2*recall*precision/(recall+precision)C> G-mean:sqrt(precision*recall)D、AUC:曲线下面积30、A题目提到测试集正例和负例数量不均衡,那么假设正例数量很少占10%,负例数量占大局部90%。而且算法能正确识别全部负例,但正例只有一半能正确判别。13么 TP=0.05xall, TN=0.9xall, Accuracy=95%o虽然Accuracy很高,但正例precision只有50%第31题:31、下面关于ID3算法中说法错误的选项是()A、ID3算法要求特征必需离散化-30-B、信息增益可以用牖,而不是GINI系数来计算C、选取信息增益最大的特征,作为树的根节点D、ID3算法是一个二叉树模型31、DID3算法生成的决策树是一棵多叉树,分支的数量取决于分裂属性有 多少个不同的取值。第32题:32、圆内接三角形是锐角三角形概率是多少()A、1/4B、1/3C、1/2D、2/332、A三角形的三点在圆上的位置是等概率的。这种任意位置组成的三角形 中,最大的那个角必定大于等于60度,因此满是三角形是锐角的变 化范围是60-90度,钝角的范围是90-180度-31-第33题:33、六个人排成一排,甲与乙不相邻,且甲与丙不相邻的不同排法数是多少()A、216B、240C、288D、36033、C1,首先将甲乙丙拿出来,剩下三个做全排列,有A(3,3)=6种排列,2,将甲乙两个插入第一步三个人的四个空隙中,有A(4,2)=12种3,剩下丙插入到前五个人中的六个空隙中,其中甲的左右两侧不符合,还有4个符合条件的空隙,C(4,l)=44,总共有 6*12*4=288第34题:34、在其他条件不变的前提下,以下哪种做法简单引起机器学习中-32 -的过拟合问题()A、增加训练集量B、削减神经网络隐蔽层节点数C、删除稀疏的特征SD、SVM算法中使用高斯核/RBF核代替线性核34、B过拟合就是导致拟合过度,算法的普适性降低B选项削减神经网络隐层节点数,也就减小了输入层与隐层,隐层与输出层之间的连接矩阵,使其适应性变差第35题:35、计算一个任意三角形的面积,S=V(p(p-a)(p-b)(p-c)zp=(a+b+c)/2,以下等价类测试用例中,不属于无效等价类的是()A > a=5 9 b=3 9 c=6;B、 a=2, b=3, c=5;C、 a=7, b=3, c=3;D> a=2, b=6, c=3;-33-35、A选项A满意三角形两边之和大于第三边,两边之差小于第三边,是有效的选项BCD都不满意两边之和大于第三边,属于等级无效的第36题:二、多项选择题36、以下排序算法的常规实现中,哪些空间简单度是。A、冒泡B、选择C、归并D、快排E、堆排序36、冒泡排序,选择排序,堆排序的空间简单度为0(1),由于需要一个临时 变量来交换元素位置,(另外遍历序列时自然少不了用一个变量来做索 引).快速排序空间简单度为logn(由于递归调用了),归并排序空间简单 是0(n),需要一个大小为n的临时数组. 34 -35-while(x+l)n+;x=x| (x+1);)return n;A、20B、21C、23D、254、C返回值为:232022 对应的二进制为:0000 0000 000 0000 0000 0111 1101 1110而x| (x+1)的作用是对一个数中二进制0的个数进行统计例如此题:第一次循环:0000 0000 000 0000 0000 0111 1101 1110 10000 0000 000 0000 0000 0111 1101 1110 =0000 0000 000 0000 0000 0111 1101 1111其次次循环:0000 0000 000 0000 0000 0111 1101 1111 10000 00004 000 0000 0000 0111 1110 0000 =0000 0000 000 0000 0000 0111 1111 1111每循环一次。的数量减一,直到溢出所以2022二进制中一共有23个0那么返回值为23第5题:5、以下代码的输出是()inta5=l,2,3A5;int *ptr=(int*)(a+l);printf("%d,%d",*(a+l),*(ptr-l);A、1, 2B、2, 5C、2, 1D、1, 55、Ba代表的是int*每次步长为一个int一5 一a代表的是int*每次步长为所指向的数组的大小故ptr指向的是数组a最终一个元素的下一个元素所以ptr-1指向的是数组a的最终一个元素a+1指向的是数组a的其次个元素所以正确答案是B第6题:6、在linux下64位c程序,请计算输出的三个sizeof分别是()void func(char str_arg100)coutsizeof(str_arg)endl;)int mainfint argc,char* argv)(char str=NHelloH;char *p=str;coutsizeof(str)endl;coutsizeof(p)endl;func(MtestM);return 0;-6-)A、 5, 5, 8B、 6, 6, 4C、 6, 8, 4D、 6, 8, 86、D这里主要是区分sizeof运算符的测量对象sizeof(str)测量的是字符数组的占用长度,留意字符串后还有个0,所以是6sizeof(p)测量的是指针的占用长度,64位系统下是8字节 sizeof(stjarg)测量的是指针长度,由于这里是形参。第7题:7、下面关于迭代器失效的描述哪个是错误的()A、vector的插入操作不会导致迭代器失效B、map的插入操作不会导致迭代器失效C、vector的删除操作只会导致指向被删除元素及后面的迭代器失 效D、map的删除操作只会导致指向被删除元素的迭代器失效7 7、A由于由Vector的iterator和listiterator方法所返回的迭代器是 快速失败的:假如在迭代器创立后的任意时间从结构上修改了向量 (通过迭代器自身的remove或add方法之外的任何其他方式),那么迭代器将抛出 ConcurrentModificationExceptiono第8题:8、函数fun的声明为int fun(int *p4),以下哪个变量可以作为fun 的合法参数()A、int a;B、int *a;C> int*a4D> int(*a)4;8、B可以看出fun函数的形参是一个指针数组,也就是指针指向一个地址, 地址中存放的内容也是指针。A,二维数组,不符合8B,二级指针,也就是指针指向的内容也还是存放指针的,符合C,二级指针数组,数组的内容是二级指针,不符合D,数组指针,不符合第9题:9、下面说法正确的选项是()A、C+已有的任何运算符都可以重载B、const对象只能调用const类型成员函数C、构造函数和析构函数都可以是虚函数D、函数重载返回值类型必需相同9、BA不能重载?,由于?在类中对任何成员都有意义,已经成为标准用 法。不能重载?:,由于这个运算符对于类对象来说没有实际意义,相反还 会引起歧义还有:C构造函数不能是虚函数。D函数重载只跟参数类型和参数个数有关。9

    注意事项

    本文(搜狐 2022 C++工程师面试题(应聘 求职 面试准备资料).docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开