人生第一次面对面的面试,说实话,多少还是有点紧张的,不过我还是很庆幸今天面试我的面试官很随和。总结来说今天的面试我并不满意,除了自己平时没有关注过的知识点外,比如HTTP状态码(除了404,其他也没有太关注,答不上来了,-_-),还有问我还亲自写过的线程池,当面试官问我线程池怎么写,我竟然没有表述清楚,哎。
下面就是面试官问的问题:
面试官:XXX项目大致多少人做,你做了哪些工作?
我:balabala。
面试官:你刚说你在项目里用了一些技术,说一下有哪些?
我:balabala。
面试官:那你为什么不用线程池(因为我说我项目中用的多线程)?
我:我讲了一下线程池的使用场景,我们这个项目没有必要使用线程池。
面试官:那你说一下线程池怎么实现的?
我:(虽然我自己写过Win32的线程池,但是这时候表述不清楚,只描述了大致框架)
面试官:守护进程如何去守护?
我:(平时虽然听说过守护进程,但是真不知道怎么守护)我不知道哦
面试官:那说一下关于C++的吧,你知道new和malloc的区别吗?
我:new是C++中的,会调用构造函数,初始化,而malloc是C中的,只会申请一块内存,同样的delete和free。
面试官:C和C++的区别?
我:一个是面向过程的,一个是面向对象的。
面试官:那你说一下怎么用C实现面向对象?
我:用结构体来进行数据的封装,结构体A中定义结构B,则A相当于继承了B,可以用函数指针来实现多态?
面试官:你知道TCP结束的过程吗?
我:四次挥手,balabala
面试官:那中间的状态转换呢?
还有很多其他问题,比如TCP建立连接的状态转换,C++11的特性,vector内存管理
最后两个编程题是将一个字符串变成所有字母逆序和单词逆序。