百度数据库 面经

C++11的新特性?
shared_ptr,和unique_ptr,有何区别?
内存泄漏知道吗,内存溢出呢?
epoll和selece的区别,epoll怎么实现轮询?套接字socket监听的是什么,套接字怎么实现数据传输?
map怎么实现的?红黑树怎么实现?优点是什么
内存结构说一下?
基类的析构函数为什么要是虚函数?析构先析子类吗?
如果有一个空的类,编译器会给他默认生产什么?
大端,小端的区别说一下,软硬连接说下?
进程和线程的区别?主线程挂了,其他线程怎么办?
shell里面的一个文件 找出abc出现多少次,怎么找?
shell语句知道的说一下
普通文本和shell脚本有什么不同

gdb调试:命令说一下,怎么进入线程调试?

数据库
从一个表中挑选年龄最大的人的语句是啥



输入一个字符串,按字典序打印出该字符串中字符的所有排列。
例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
class Solution {
public:
vector<string> Permutation(string str) {
vector<string> ans;
map<string, int> temp;
int strLen = str.size();
int i = 0;

temp[str]++;
for(; i < strLen; ++i) {
for(j = i + 1; j < strLen; ++j) {
swap(str[i], str[j]);
temp[str]++;
swap(str[i], str[j]);
}
}
for(int k = 0; k < map.size(); ++k) {
ans.push_back(temp[k][0]);
}
return ans;
}
};

#百度##C++工程师##校招##面经#
全部评论
索引的作用
1 回复 分享
发布于 2020-11-09 23:52
class A{};  编译器处理后,就相当于:  class A {  public:      A();  //默认构造函数     A(const A&);  //拷贝构造函数     ~A();  //析构函数     A& operator=(const A& rhs);      A* operator&();  //取地址运算符     const A* operator&() const; };  现在做如下说明: 看完上面的例子后,大家可能会觉得声明一个空类,大家都认为会生成     构造函数、拷贝构造函数、析构函数、赋值运算符号、取址运算符const、取址运算符。 其实不然啊,那么一个空类什么时候不是空类了呢?   其实对于这样的一个空类来说,是完全没有必要的,而编译器也不是这样做的。编译器的做法是:只有你需要用到这些函数并且你又没有显示的声明这些函数的时候,编译器才会贴心的自动声明相应的函数。     class   A{};       对于单独申明的一个空类A来说,编译器编译过程中,并没有发现创建A实例。    所以对于空类A来说,编译器是不会给类A生成任何函数的。    如果我们在代码中需要生成一个A的实例    比如    A   a;    编译器就会根据上面的实例,给类A生成构造函数和析构函数。    当使用    A   b(b);    编译器就会生成类A的拷贝构造函数。    A   c;    c   =   a;    编译器生成赋值运算符函数    A   &d   =   a;    编译器生成取地址运算符函数。
点赞 回复 分享
发布于 2020-11-11 23:57
大端模式和小端模式的区别 在C语言中除了8位的char型之外,还有16位的short型,32位的long型(要看具体的编译器),对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。 大端模式: 字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 小端模式: 与大端存储模式相反,在小端存储模式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。 例如,16位宽的数0x1234在小端模式CPU内存中的存放方式(假设从地址0x4000开始存放)为: 内存地址 0x4000   0x4001 存放内容 0x34      0x12 而在大端模式CPU内存中的存放方式则为: 内存地址 0x4000  0x4001 存放内容 0x12      0x34
1 回复 分享
发布于 2020-11-12 00:13
事务是怎么实现的? 脏读是什么
点赞 回复 分享
发布于 2020-11-09 23:52
面试官人好 ,问题很基础,平时要多积累,继续加油
点赞 回复 分享
发布于 2020-11-09 23:53
构造函数不可以是虚函数,而析构函数可以且常常是虚函数。在父类构造完成之后,子类的vptr才指向自己的虚函数表。 如果构造函数时虚函数,那么调用构造函数就需要去找vptr,而此时vptr还没有初始化。 因此,构造函数不可以是虚函数。
点赞 回复 分享
发布于 2020-11-11 23:35

相关推荐

求个公司要我:接好运
点赞 评论 收藏
分享
12-11 11:40
海南大学 Java
点赞 评论 收藏
分享
评论
6
40
分享
牛客网
牛客企业服务