第一次面试

       下午课刚上完,我收到了HR的通知,得知没有通过面试,这是一家在合肥的软件公司。挺不爽的,我觉得主要是因为经验少。还是谈谈面试官问我的两个技术问题吧,我应聘的是C++软件开发工程师。


1、STL中的map是线程安全的吗?

我的回答:标准中没有规定,但是基本上STL都实现了,是线程安全的。

其实是大部分版本的STL都不是线程安全的。我前几天刚好查了这个问题,参见:

http://stackoverflow.com/questions/7455982/is-stl-vector-concurrent-read-thread-safe

我只看到回答者写的一个醒目的Yes,就说是线程安全的,其实是针对提问者问的“多个线程并发读某个对象是不是线程安全的”,这当然安全喽。


2、类的大小:

class A {
    A();
    ~A();

    int m_nSize;
};

class B : public A {
};
问sizeof(B)是多少?

我的回答:4

他再在A中加了虚函数:

virtual int foo();
我的回答:与虚函数表有关,没有深究过。

其实加了虚函数,内含一个函数指针,答案应该是8。


上面的答案都是在网上找的,只知其一,不知其二,还是应该好好看技术书,网上许多东西不靠谱。

最后他向我推荐了几本书:《C++编程思想》,《Windows核心编程》,还有本Linux的书忘了什么名字。

欢迎大家点评指教。


20130626

关于第一个问题,可以参考这两篇文章:

Visual C++: http://msdn.microsoft.com/en-us/library/c9ceah3b(v=vs.110).aspx

SGI C++: http://www.sgi.com/tech/stl/thread_safety.html



评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值