【顺丰】C++岗-面试经历分享

  • 一个指针重复delete会怎么样?编译报错还是运行报错?报什么错? 声明一个指针但是没有初始化,读写会怎样?只是读的话运行的话会怎样? 编译器是如何区分重载的? C里面有重载吗?
  • 为什么没有? 写过动态库吗?想要调用动态库的一个函数,应该怎么用? 一个函数返回char *,函数内定义一个数组,如果返回这个数组的话会怎样?对返回的这个char *进行读写会怎样?
  • 如果一个文件好几个G,用new分配内存来读取,可以装得下吗? 智能指针相关,shared_ptr,unique_ptr实现原理 如何对一个单向的无序链表进行排序?
  • Python里的GIL(python不咋会) 多线程对全局变量的读写。如果一个全局变量大部分是读,很少修改,有什么优化方式? C++如何创建一个线程? 线程的数量可以无限创建吗?最多能创建多少?
  • 你这个项目(webserver)里用的多线程,有去测试不同线程数对性能的影响吗?
  • 你这个项目如何实现高并发? select和epoll的区别?
  • 如果5000个客户端连接进来,调用select会怎样?会报错吗还是咋? 如何去定位死锁? socket通信的流程? TIME_WAIT是在哪个阶段?为什么要有这个状态? HTTPS的过程?会话密钥如何生成? 网络服务器性能的限制因素有哪些?
  • 除了多线程、IO多路复用还有哪些可以优化的点? 页面置换有哪些算法? 只有一个核的CPU是如何同时执行多个进程的(进程调度)? 程序崩溃如何定位?
  • core文件如果很大的话会占用磁盘空间,怎样不生成core文件? 段错误一般可能由哪些原因导致? Linux下如何查看进程的状态?
  • kill和kill -9的区别是什么?如何去捕捉一个信号?所有的信号都可以被捕捉吗? Linux和Windows下网络抓包?网络出现问题可能的原因? 容器、微服务这些了解过吗? 有了解过最新的,前沿的一些技术吗?

发表评论

后才能评论