今天接到阿里的电话面试,主要问了一些关于语言(C++),操作系统,网络等方面的基础问题。回答得并不好,记录一下供以后参考改进。
首先好像阿里对C++的开发基本是在Linux上进行的开发,所以问了很多关于Linux平台下的基础意识。但可惜的是一直以来都是在windows平台上做的开发,用Linux的机会实在不多,故而这些问题答得都不理想,哎~
先把面试官问到的主要问题罗列一下:
Linux下主要用过什么命令;
如果一个动态链接库出现崩溃等问题需要调试,要用什么方法和命令;
如何查看和调试程序的内存分配和使用情况;
系统函数和系统调用有什么区别;
然后问了对TCP协议了不了解,主要问了:
TCP协议头有多少个字节;
里面包含哪些主要的字段信息;
网络中发包的问题;
三次握手中,发送方和接收方的等待情况
还有一些细节的问题,不太记得清了,但都是书上讲到过的
之后问了了一些语言层的问题:
C++中的extern有什么作用;
一个变量对它进行了声明,但是没有初始化,直接进行了printf,会发什么什么;
inline函数和宏定义有什么区别;
对象进行new的过程中发什么了什么,new完的对象最后需要注意要干什么;
对一些系统函数的调用,比如strcat、memcpy等,在调用的过程中需要注意什么问题;
智能指针是什么,是什么原理,有什么不足;
另外,面试官还问了看过什么C++方面的书,特别问了有没有看过《effective c++》