腾讯2017年校招笔试题目选讲

1.在vs编译环境下,以下代码的运行情况:

腾讯2017年校招笔试题目选讲_第1张图片

答案cba

该题考察函数的参数传递:

当用函数做实参时,编译器一般会根据参数传递顺序,先计算出函数的返回值,然后将返回值传递给原来的函数。

在x86架构(Linux或Unix系统)上,函数的参数是通过栈传递的。因此参数从右往左入栈顺序是:printf("c"),printf("b"),printf("a")。依次计算出结果:cba

在x86_64架构(Linux或Unix系统)上,函数的前6个参数是通过寄存器传递的,超出6个的部分(如第7个参数,第8个参数等等)通过栈传递。因此参数进寄存器顺序是:printf("a"),printf("b"),printf("c")。依次计算出结果:abc

 

2.具有3个节点的二叉树有几种形态? 答案5

腾讯2017年校招笔试题目选讲_第2张图片

n个结点的二叉树的形态:C(2*n,n)/n+1

 

5.下列程序数据结果是多少大 A 的 ascii 码是 65 )?

腾讯2017年校招笔试题目选讲_第3张图片 

略偏,需要猜他的机制

c++ 枚举类型值从上向下会逐个递增

 

6.哪种数据结构用于执行递归调用() 比较简单的题目

腾讯2017年校招笔试题目选讲_第4张图片

7.在Linux上,对于多进程,子进程继承了父进程的下列哪些?

腾讯2017年校招笔试题目选讲_第5张图片

 

 9.文件系统管理的最小磁盘空间单位是()

腾讯2017年校招笔试题目选讲_第6张图片

扇区是磁盘最小的物理存储单元,一般而言是每个扇区512B大小,但是操作通常不直接管理每一个扇区,而是通过将若干个扇区组成的一个更大的集合来去进行操作管理。

    这个比扇区更大的集合,在Windows下叫做;在Linux下叫做块(block)。

11.以下关于栈的说法错误的是:

腾讯2017年校招笔试题目选讲_第7张图片

12.

腾讯2017年校招笔试题目选讲_第8张图片

腾讯2017年校招笔试题目选讲_第9张图片

共12次 

注意,本身的层数也要算上

 

20.在C++语言中,以下说法正确的是()

腾讯2017年校招笔试题目选讲_第10张图片

 

腾讯2017年校招笔试题目选讲_第11张图片

经典多态的考察

腾讯2017年校招笔试题目选讲_第12张图片

 

腾讯2017年校招笔试题目选讲_第13张图片

C++标准规定类的大小不为0,空类的大小为1,当类不包含虚函数和非静态数据成员时,其对象大小也为1。

对有虚函数的类来说,必须为它的对象提供运行时类型信息(RTTI,Run-Time Type Information)和关于虚函数表的信息,常见的做法是在对象中放置一个指向虚函数表的指针,此外,为了支持RTTI,许多编译器都把该类型信息放在虚函数表中。但是,是否必须采用这种实现方法,C++标准没有规定,主流编译器均采用的一种方案。 

虚函数、成员函数[包括静态与非静态]、和静态数据成员都是不占用对象的存储空间的

对象大小  =  虚函数指针  +   所有非静态数据成员大小   +   因对齐而多占的字节

 

24.针对二分查找算法,假设一个有序数组有 136 个元素,那么要查找到第 10 个元素, 需要比较的元素为()

 

1. 看选项最后,是10,题目给的是“查找第10个元素”,也就是说,就是从1开始的。。。。。1+(136-1)/2=68

2. 10<68, 下次从1~67中找:1+(67-1)/2=34;

3. 10<34, 下次从1~33中找:1+(33-1)/2=17;

4. 10<17, 下次从1~16中找:1+(16-1)/2=8;

5. 10>8,    下次从9~16中找:9+(16-9)/2=12;

6. 10<12,   下次从9~11中找:9+(11-9)/2=10;

7. 10==10     return

68--34--17--8--12--10

 

 

C语言,设有宏定义:

#define A 4+5

#define B A*A

则表达式B*B的值为

B*B=A*A*A*A=4+5*4+5*4+5*4+5*4+5=69

 

你可能感兴趣的:(算法)