23届 快手 C++开发 一、二面面经(已挂)
一面
- 什么是死锁,死锁的条件,如何避免死锁
- 智能指针有哪几种,weak_ptr 的作用是什么
- 如何确定代码中的类循环引用
- 手撕:
- 最长回文子串,分析一下时间复杂度
- 股票最佳售卖时间,最基础的那个版本
二面:
TCP 和 UDP 有什么区别
UDP 如何做到可靠传输
给了一个很恶心的表达式,问返回值是什么类型,只看出来中间一部分是一个函数指针
C++ 编译的过程是什么,问知不知道链接的底层是什么原理
class A { public: void print1() { cout << __FUNCTION__ << " " << this << endl; } void virtual print2() { cout << __FUNCTION__ << " " << this << endl; } }; A* pa = nullptr; pa->print1(); pa->print2();
输出什么
手写一个生产者消费者模式,两个线程
写完了但是面试官不满意,我问他应该怎么写他也不说
过了两个小时,官网显示挂了。
面试体验一般,有点影响心情。