百度Linux安全工程师 实习 一面 10.18
找实习ing。。
- 自我介绍
- =========================基础=========================
- 介绍几个C语言常用的关键字的作用
- static的作用域,放在头文件中定义可以被其他文件调用吗,在内存中有几份,放在源文件中呢?
- extern修饰符的作用?为什么要用extern C?为什么C++编译后的函数名字改变了?(这部分之前面完深信服后查漏补缺了)
- 强制转换,为什么dynamic_cast可以做到父类转子类更安全?一般子类有自己的方法、成员,所以父类转子类一般是没办法转换成功的,那在什么情况下可以转换成功?
- 空类大小?这个空类有子类的话呢?
- new/malloc、delete/free的区别?这些能混用吗?
- 可以访问到数组中下标为-1的数据吗?(可以访问到,但是数据不正确),那能编译成功吗?运行呢?
- 举例常见的排序算法及平均时间复杂度
- =========================Linux=========================
- 刚刚提到的这种栈溢出、堆溢出这类安全问题,Linux下有哪些针对这些安全问题的保护机制?(一问Linux就懵)
- Linux下的访问控制机制?要面试官举个例子,SELinux...
- Linux进程间通信方式?
- Unix本地socket通信
- 有一块内存由多个线程使用,如何保证这块内存使用完后正常被释放?智能指针有哪些?
- 你是如何通过gdb定位错误和位置的,比如有coredump文件后,你是怎么定位的?(这个得多了解)
- SSL协议介绍,SSL握手过程,非对称密钥和对称密钥的用途?两个的场景和作用?客户端怎么确认服务器端发来的证书是正确的?(有坑),非对称加密和对称加密都有哪些算法?(就知道RSA..)
- =========================题目=========================
- 优化memcopy并实现
- 其中形参可以改为void*类型吗,也就是void*可以用来指针赋值操作吗?(不太记得问题了。。)
面试官挺好的,感觉比我还年轻,哭了
#百度实习#