2018年8月23日,在上海戴尔EMC面试,面试职位是软件开发,职位要求偏向于c、linux脚本、python脚本、多线程编程

一次被虐的面试,期望看到的人帮我写点答案,谢谢

面试小结:
1、链表的翻转
2、数组的翻转
3、一个32位的数,写函数完成设置位,清除位,翻转位(都是某一位)
4、gdb调试,如何设断点,对GDB使用的熟练吗?
5、c++的初始化列表和c++直接赋初值哪一个先初始化,有什么区别?

一,必须在构造函数初始化列表里进行初始化的数据成员有哪些?

下面是一个自定义的Student类
class Address{};
class Student{
private:
    const int grade;
    string &name;
    Address addr;
public:
    Student(int grade, string name):grade(grade), name(name){}
};
1,常量成员

常量成员只能初始化不能赋值,所以必须放在初始化列表里。

2,引用类型

引用必须在定义时初始化,并且不能重新赋值,所以必须放在初始化表里。

3,对象成员

这个成员是其他类的对象,例如上面的Address  addr成员。如果把它放在构造函数的初始化列表里,此时会调用Address类的copy constructor函数,对这个类对象进行初始化。如果把它放在构造函数体中,会先调用Address类的default constructor函数,然后再调用Address类的copy constructor函数。从性能上考虑,把对象成员的初始化放在初始化列表里性能会更高。

原文:https://blog.csdn.net/cloud323/article/details/71743176 
 

6、手写strcpy函数


7、手写一个c++的类包括构造,析构,拷贝构造函数
8、对于多线程编程,线程之间如何通信的?
9、你对设计模式了解吗?都用过哪些?举例说明
10、你平时如何解bug的?
11、使用git的有关问题?你们如何下载代码,提交代码
12、平时使用linux,注意它的(***记不清什么文件夹了)文件夹下有什么吗?
    都用过哪些基本命令?
13、会写python脚本吗?
14、c和c++中的extern的用法
15、

 

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐