图森未来 linux 应用 一面

自我介绍,项目介绍

项目一点都没问

  1. 进程、线程的区别
  2. C++ 和 C 的区别
  3. C++的多态是怎么实现的,运行时多态和编译时多态,虚函数和纯虚函数
  4. C++ 的智能指针, shared_ptr, unique_ptr, weak_ptr 各自有什么特点, 为什么会有 weak_ptr
  5. STL 的map 和 set 有什么特点,是怎样实现的,红黑树是怎样实现的,红黑树有哪些应用
  6. 左值和右值
  7. 网络模型(七层和四层)
  8. tcp 和 udp 的区别,tcp 的三次握手和四次挥手,
  9. tcpdump工作在那一层, ping 工作在那一层
  10. MTU 和 MSS, 以太网的 MTU 为什么是 1500, MSS 为什么是 1460
  11. 路由器和交换机的区别

做题

实现一个支持多线程的循环队列,其中包括:

Init:资源初始化,循环队列的最大长度max_size。

push_back:将元素放到队列尾。

pop_front:将队列首元素弹出。

batch_remove:从队列首开始移除指定数量的元素,如果队列长度小于给定数量则清空队列。

要求队列实现时使用循环队列的方式,空间占用为O(n)。


C:
bool init();
bool uninit();
bool push_back(int item); //插入元素到循环队列尾部
bool pop_front(); //弹出循环队列的头部元素
void batch_remove(unsigned int count);




C++:
class CircularQueue {
public:
~ CircularQueue();
CircularQueue(unsigned int max_size);
bool push_back(int item);
bool pop_front();
void batch_remove(unsigned int count);
};
#面经##图森未来#
全部评论
请问是实习还是春招
点赞 回复 分享
发布于 2022-02-25 15:50
感觉题目还是很基础的
点赞 回复 分享
发布于 2022-03-02 21:27
图森好喜欢考队列题
点赞 回复 分享
发布于 2022-12-06 18:47 吉林

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
7
50
分享
牛客网
牛客企业服务