C++程序员基础知识点总结(问答频次最高问题)---必读

C++程序员基础知识点总结(问答频次最高问题)—必读

周末时光,对近一段时间写博客内容做个总结,主要分为二个部分:
1.LeetCode(C++)
目前刷了13道题目,全部都是使用C++实现,主要有几点感受,如下:
(1).想实现低复杂度,尽量少使用for循环,尽可能使用while循环;
(2).部分题目需要总结相关规律,进而实现通用函数,例如罗马数值与阿拉伯数值间相互转换,Z型字符转换;
(3).部分题目则考察算法与数据结构的运用,如回文数,去除重复字符等;
(4).有时候一些巧妙的方法,一时可能想不到,但是算法与数据结构的方法都是通用的,需要不断学习与总结归纳,归为己用;
(5).编写题目时,有时算法运用得当,但是运行不通过,这个时候需要考虑边界值问题;
(6).无法调试数值,比较难受。
总结:这个部分主要目的是锻炼写函数能力,更加深入理解算法与数据结构的运用,降低算法复杂度,提高函数效率。

2.C++基础知识点归纳总结
这个部分,主要问答频次比较高,而且比较重要的知识点,如下:
1.C和C++的区别
最本质的区别:面向对象与面向过程;库函数与运算符(new与malloc)等。

2.C++有哪些默认函数
构造函数,拷贝构造函数,赋值函数,析构函数。
最好能写出来

3.C++中几种默认函数都有什么作用?
例如:拷贝构造函数在哪几种情况下会使用等。

4.虚函数与纯虚函数有什么作用?或者虚析构函数有什么作用?或者虚函数怎么实现的?或者多态怎么实现的?
这个基本都是考察虚函数知识点,虚函数有虚函数表与虚函数指针。

5.C++初始化列表什么时候会用到?

6.指针与引用的区别?

7.指针函数与函数指针?

8.const与static有什么区别,分别作用于哪些地方?

9.C++类型转换有哪几种,分别有什么区别?
dynamic_cast、static_cast、reinterpret_cast、const_cast

10.智能指针你知道哪几种,分别有什么用,或者知道RAII吗?
C++11中有shard_ptr、unique_ptr、weak_ptr

11.容器知道有哪几种,其底层数据结构是什么、有哪些区别、效率分别是多少?
vector、list、map、set ----- 数组、双向链表、红黑树、红黑树

12.迭代器插入删除元素后会出现什么情况?
考察迭代器失效的原因

13.C++内存分配?
堆、栈、全局区或者静态区,代码区、常量区

14.线程与进程的区别,进程间如何通信,C++多线程同步于互斥的方法?
进程间通信:无名管道、命名管道、消息队列、信号量、共享内存、套接字;
多线程:临界区、互斥量、信号量、事件;
上面部分比较宽泛,需要大家自己总结一下。

15.IO复用模型
select、poll、epoll,这个也需要了解下。
https://www.jianshu.com/p/6a6845464770

16.TCP与UDP,以及粘包如何处理,三次握手四次挥手?

17.TCP快速重传、拥堵机制,是否了解?

18.设计模式知道哪里,他们之间有什么区别?
简单工厂----去一家餐馆点不同的菜(餐馆即工厂,菜为工厂提供的功能);
抽象工厂----去不同的餐馆点不同的菜;
单例模式,如何保证安全;
模板方法模式;
代理模式、建造者模式等等。

19.linux系统基本指令
查看进程—PS等

20.数据库基本指令、横向与纵向分表、索引、触发器、视图?

21.redis与Mysql存储上有什么本质区别,有没有了解过?

22.HTTP与HTTPS什么区别,输入url之后发生的一系列过程请描述?

23.最后压轴的是算法与数据结构,二叉树、排序、KMP、链表等。

最后,上述问题没有做详细解读,因为都能在书本找到标准答案,而且是根据楼主个人经历总结出来的,仅供大家参考;
如果大家留言,后面我会将答案补全,谢谢大家。

持续进步,不负韶华,加油。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值