C++面经
epoll相关的内容
-
说下ET和LT
-
什么是惊群效应
-
怎么避免惊群效应
-
早期内核怎么避免惊群效应?(锁)
笔试
- 笔试题目一:链接利用智能指针实现RAII
实在不会,在线放弃
- 笔试题目二:判断不同的类型
template<typename T> void printType(const T& a){
if(typeid(a)==typeid(int)){
std::cout<<"i am int"<<std::endl;
}else{
std::cout<<"i am others"<<std::endl;
}
}
- 笔试题目三:二叉树的中序遍历
// 构造函数
struct Tree{
int value;
Tree *left;
Tree *right;
Tree():value(0),left(nullptr),right(nullptr){};
Tree(int v):value(v),left(nullptr),right(nullptr){};
Tree(int v,Tree *left,Tree *right):value(v),left(left),right(right){};
};
// 递归遍历
void binaryTree(Tree * t){
// 边界
if(t==nullptr) return;
// 左边
binaryTree(t->left);
// 中间
std::cout<<t->value<<std::endl;
// 右边
binaryTree(t->right);
}
// 非递归遍历
// 左中右进栈
void binaryTree2(Tree *t){
if(t==nullptr) return;
stack<Tree*> treeStack;
while(t!=nullptr||!treeStack.empty()){
// 放入左边
while(t!=nullptr){
treeStack.push(t);
t=t->left;
}
// 弹出
t=treeStack.top();
treeStack.pop();
cout<<t->value<<endl;
// 转向右边
t=t->right;
}
}