码迷,mamicode.com
首页 > 其他好文 > 详细

腾讯2015春招pc客户端开发练习卷

时间:2015-06-04 13:56:25      阅读:516      评论:0      收藏:0      [点我收藏+]

标签:c++   面试   腾讯   

1.下列说法错误的有()

A.  在类方法中可用this来调用本类的类方法

B. 在类方法中调用本类的类方法时可直接调用

C. 在类方法中只能调用本类中的类方法

D.  在类方法中绝对不能调用实例方法

 


 

答案:ACD

首先要清楚,类方法指的是,用static修饰的静态方法,众所周知,静态方法是不包含this指针的,因为它不属于某一个具体的对象所有

类方法可以不必实例化而直接调用,所以,类方法可以调用其他类的类方法

D (参考别人的,我也觉得说的很有道理)可以在类方法中先实例化对象,然后调用实例方法。

 

 

 2.下列运算符,在C++语言中不能重载的是()

A.  *

B.  .*

C.  ::

D. delete

 

 

答案:BC

::?:..*sizeof、是C++标准规定不能重载的。

以下内容为转载

//开始

并没有什么根本的原因要禁止重载?:。仅仅是因为,我没有发现有哪种特殊的情况需要重载一个三元运算符。注意一个重载了表达式1?表达式2:表达式3的函数,不能够保证表达式2:表达式3中只有一个会被执行。

Sizeof 不能够被重载是因为内建的操作(built-in operations),诸如对一个指向数组的指针进行增量操作,必须依靠它。考虑一下:

X a[10];
X* p = &a[3];
X* q = &a[3];
p++; // p 指向a[4]

 // 那么p 的整型值必须比q 的整型值大出一个sizeof(X)

所以,sizeof(X)不能由程序员来赋予一个不同的新意义,以免违反基本的语法。

N::m 中,无论N 还是m 都不是值的表达式;N 和m 是编译器知道的名字,::执行一个(编译期的)范围解析,而不是表达式求值。你可以想象一下,允许重载x::y 的话,x 可能是一个对象而不是一个名字空间(namespace)或者一个类,这样就会导致——与原来的表现相反——产生新的语法(允许 表达式1::表达式2)。很明显,这种复杂性不会带来任何好处。

理论上来说,.(点运算符)可以通过使用和->一样的技术来进行重载。但是,这样做会导致一个问题,那就是无法确定操作的是重载了.的对象呢,还是通过.引用的一个对象。例如:

class Y {
    public:
    void f();
    // ...
};
class X { // 假设你能重载.
    Y* p;
    Y& operator.() { return *p; }
    void f();
    // ...
};
void g(X& x){
    x.f(); // X::f 还是Y::f 还是错误?
}


//结束

另外,&&||,、也不要去重载,因为这将破坏它们的短路特性(参见《More Effective C++》条款 7)



3.下列的模板说明中,正确的有()

A.  template <typename T1 typename T2>

B.  template <class T1, T2>

C. template <class T1, class T2>

D. template <typename T1; typename T2>

 


 

答案:AC

B中第二个参数缺少类型声明

D中,两个参数中间竟然用了分号。。。

 


 

4.InC++, which of the following keyword(s) can be used on both a variableand afunction?

A.  static

B.  virtual

C. extern

D.  inline

E. const



 

答案:ACE

AE应该都知道是正确的

B用于声明虚函数,没有虚成员变量这个说法,DB相似,只有内联函数,没有内联变量

我没有选C,因为没用过前面加extern的函数,然后才知道,extern是默认加的。

 


 

5.Which of the following statement(s) equal(s) value 1 in C programming language?

A.    the return value of main function ifprogram ends normally

B.    return (7&1)

C.   char *str="microsoft";returnstr=="microsoft"

D.   return"microsoft"=="microsoft"

E.    None of the above

 


 

答案:BCD

A的返回值是0

B 7&1即为二进制111&1,返回1

CD很明显返回1

 

 

6.下列定义语句中,错误的是

A.  int px*

B.  char*acp[10]

C.  char*pac[10]

D.  int*p)();

 


 

答案:A

A不符合变量命名规则

B声明一个数组,包含10个指向char型变量的指针

C声明一个指针,指向一个包含10个元素的char型数组

D声明一个指针,指向一个没有参数,返回int型变量的函数

 

 


7.抽象基类是指()

A.嵌套类

B.派生类

C.含有纯虚函数

D.多继承类

 

 

 

答案:C

水题。。。

 

 

8.给出以下定义,下列哪些操作是合法的?

const char *p1 = "hello";
char *const p2 = "world";


A.    p1++;

B.    p1[2] = ‘w’;

C.   p2[2] = ‘l’;

D.   p2++;




答案:A

p1是一个指向常量的指针(内容不可变,但是地址可变),p2是一个常量指针(内容可变,地址不可变)

所以,B、D都是错的,但C为什么也是错的?

因为如下方式

const char *p1 = "hello";	
char *const p2 = "world";

声明的字符串是在只读存储区的,不能更改。


改为如下方式,则C也正确

char p11[]="hello";
char p22[]="world";
const char *p1 = p11;//"hello";	
char *const p2 = p22;//"world";




9.关于IP地址下列说法错误的是?

A.     IP地址采用分层结构,它由网络号与主机号两部分组成

B.    根据不同的取值范围IP地址可以分为五类

C.   202.112.139.140属于B类地址

D.   每个C类网络最多包含254台主机

E.    IPv6采用128位地址长度

F.    私有地址只是ABC类地址的一部分

 

 

答案:C

虽然我计网学的烂,可也知道IP地址的划分,C明显属于C

 技术分享

 

 


10.对于二分查找算法下面描述正确的是哪个?

A.     只能用于数组

B.    只能用于链表

C.   只能在已经排序的数据上进行查找

D.   最坏情况下时间复杂度是O(N*logN)

 

 

答案:AC

B 链表不支持随机查找,所以无法使用二分查找。

D,最坏时间复杂度为logN,也就是在最后一次才找到要找的数

 

 

 

11.用来检查到一台主机的网络层是否连通命令是()?

A.     PING

B.    TRACERT

C.   TELNET

D.   IPCONFIG

答案:A

水题。。。

ping命令发送ICMP数据包检测网络有没有连通

 

 

 

12.B从类A派生,则类B可以访问类A中的()成员?

A.    public成员

B.    private成员

C.   protected成员

D.   数据成员

E.    函数成员

 

 

答案:AC

水题。。。

 

 


13.路由器转发数据包到非直接网段的过程中,依靠下列哪一个选项来寻找下一跳地址()

A.     帧头

B.    IP报文头部

C.   SSAP子段

D.   DSAP子段

 


 

答案:B

引用别人的

路由器工作在OSI的网络层,转发的数据包是IP报文。

IP报文的头部有源IP和目的IP

路由器根据目的ip计算出iP所在的网段,根据网段转发到不同的端口。

如果在路由表中没有该网段的转发端口,则转发至默认路由端口



 

 

14.IPv6地址占____个字节

A.    4

B.    6

C.   8

D.   16

 


 

答案:D

 IPv44个字节

IPv616个字节

 


15.以下说法正确的是:

A.    在并行程度中,当两个并行的线程,在没有任何约束的情况下,访问一个共享变量或者共享对象的一个域,而且至少要有一个操作是写操作,就可能发生数据竞争错误。

B.    原语Compare-and-swap(CAS)是实现无锁数据结构的通用原语。

C.   获得内部锁的唯一途径是:进入这个内部锁保护的同步块或方法。

D.   volatile变量具有synchronized的可见性特性,但是不具备原子特性。

E.    减小竞争发生可能性的有效方式是尽可能缩短把持锁的时间

 

 


答案:AD

OS学的不好,不会做。。。

 

 


16.调用动态连接库的函数有哪几种方法?

 

 

17.WM_QUIT消息的用途是什么?一个普通的Windows窗口能收到的最后一条消息是什么?

 

 

18.题都没看懂。。不贴了

 

给出在线测试的地址

腾讯2015春招pc客户端开发练习卷





腾讯2015春招pc客户端开发练习卷

标签:c++   面试   腾讯   

原文地址:http://blog.csdn.net/u011694809/article/details/46358581

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!