码迷,mamicode.com
首页 > 编程语言 > 详细

剑指offer 之 C/C++面试题

时间:2019-08-20 22:30:56      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:无锁队列   出现   实现原理   连接   建立连接   心跳机制   启动   快速排序算法   实现   

一、数据结构

1.手写链表的基本操作(创建、新增节点、删除节点、销毁等)

2.链表的反转

3.如何判断一个链表有环

4.双向链表删除一个非头非尾节点

5.单向链表删除一个非头非尾节点

6.二叉树的前、中、后序遍历打印

7.STL中vector的内部实现原理

8.STL中vector与list的区别

9.基本的数据结构都有哪些以及各自的特点

 

二、基本算法

1.手写快速排序算法,快排的时间复杂度?有没有时间复杂度更低的排序算法?快排是否稳定为什么?

2.假设淘宝一天有5亿条成交数据,求出销量最高的100个商品并给出算法的时间复杂度。

 

三、C++语言本身知识

1.手写一个String类

2.C++内存模型相关知识

3.空类的大小,仅包含普通成员函数类的大小,仅包含虚成员函数类的大小(C++内存模型)

4.虚函数表相关内容(C++内存模型)

5.类的菱形继承问题

6.虚函数的作用

7.static的作用

8.const的作用

 

四、多线程编程

1.生产者消费者模型

2.多线程通信的方式?

3.多线程临界资源的保护?

4.单生产者单消费者下的多线程编程一定要加锁码?

5.有锁队列

6.无锁队列

7.死锁出现的原因以及如何避免

8.线程池

 

五、网络编程

1.TCP UDP HTTP的基本概念和不同点

2.TCP的应用场景,为什么?UDP的应用场景,为什么?

3.QQ的聊天消息为什么用UDP

4.TCP的三次握手,四次挥手

5.TCP为什么有慢启动机制?

6.TCP关于拥塞控制和滑动窗口等知识

7.C/S模型建立连接的socket 示意图

8.TCP连接异常断开时对端socket的状态?

9.TCP的心跳机制

 

剑指offer 之 C/C++面试题

标签:无锁队列   出现   实现原理   连接   建立连接   心跳机制   启动   快速排序算法   实现   

原文地址:https://www.cnblogs.com/sxgloverr1314/p/11385657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!