2013微软暑期实习笔试技术题回顾:虚函数、数据结构与线程概念
5星 · 超过95%的资源 需积分: 9 74 浏览量
更新于2024-09-12
收藏 153KB PDF 举报
在2013年的微软暑期实习笔试题中,主要考察了面试者对C++编程、数据结构与算法以及Windows系统内部基本概念的理解。以下是从题目中提炼出的关键知识点:
1. 函数调用约定:题目询问支持可变长度参数的函数调用约定。在C++中,`cdecl` (cdecl calling convention) 是C语言的标准调用约定,但并不支持可变长度参数。`stdcall` 和 `fastcall` 均不明确表示支持,但`stdcall`通常用于Windows API函数调用,而 `fastcall` 用于提高函数调用效率,但也不直接支持可变参数。`pascal` 是一种古老的调用约定,同样不适用于现代C++。因此,没有一个选项明确表示支持,答案可能是无解或者未指定。
2. C++类与虚函数:给出的代码展示了基类 `A` 有一个虚函数 `f()` 和一个 const 版本,派生类 `B` 重写了这两个函数。在 `main()` 函数中,创建了一个 `B` 类的对象并调用其成员函数,然后通过 `A` 指针调用。由于 `g()` 接受一个 `const A*` 参数,它会调用 `const` 版本的 `f()`,尽管实际对象是 `B`。因此,正确答案是 `B::f()const`。
3. 链表与数组的区别:题目要求比较链表和数组在不同方面的差异。A选项提到搜索复杂性,当两者都排序时,链表的搜索复杂度通常更高,因为需要遍历查找,而数组可以通过索引快速定位。B选项提到动态添加/删除,链表可以轻松地在任意位置插入或删除元素,而数组需要移动其他元素。C选项涉及随机访问效率,数组的随机访问速度远快于链表。D选项是关于数据存储类型,数组是连续存储,链表则是节点间链接。正确答案应该是 B 和 C。
4. Windows中的线程和进程:A选项错误,一个应用程序可能包含多个进程,每个进程至少有一个线程。B选项正确,进程有自己的栈,但只读数据(如全局变量)可能会共享父进程的栈。C选项也部分正确,线程必须属于某个进程,不能独立存在。
这份2013微软暑期实习笔试题测试了应聘者的C++编程基础、数据结构、函数调用和操作系统内核理解。理解这些问题有助于应聘者评估自己在这些领域的知识水平,并准备类似类型的面试。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2013-04-07 上传
2021-12-08 上传
2013-04-12 上传
2013-09-29 上传
2021-08-30 上传
2013-04-06 上传
001100pp
- 粉丝: 1
- 资源: 5
最新资源
- 基于图像分块加密算法实现图像加密python源码+算法流程图+项目说明文档.zip
- LocusGpsTracker:用于在LocusMap中监视GPS跟踪器的服务器
- 江南出租车微信打车方案(开发).zip运营、文案策划资料打包下载
- tel-format:一个小的 JavaScript 模块,用于在用户在电话输入字段中输入电话号码时自动格式化电话号码
- fenlei_php_类似app_小程序.zip
- AaronTools-1.0b5-py3-none-any.whl.zip
- dd-editor:这是处理流程图的工具
- 阿波罗开发板F429+RT-thread的touchGFX模板工程
- 3ala.gz_matlab例程_matlab_源码,朴素贝叶斯matlab源码,matlab源码怎么用
- edie_homepage-devchallenges.io:Edie主页-devchallenges.io的挑战项目
- react-redux-webpack:基本的webpack @ 3 + react + redux + react + router @ 4
- Andnyang:[已弃用] 用 GOLANG 为 GDG Korea(Google Developers Group Korea)频道编写的 IRC Bot
- ASP网上拍卖系统设计与实现(论文+源代码+开题报告).rar
- flashcards-源码.rar
- what-to-steam:确定要玩的游戏
- longitudinal,基于matlab开发的项目 源码,matlab源码之家