自问自答一

为什么选择c/c++

1.c++与其他面向对象编程语言区别

c++充分相信程序员,给程序员足够的权限。

讲c/c++区别

1.面向过程和面向对象

2.c语言特点

3.c++特点,并解决了c语言什么

4.在c++可任意使用c语言,有很好兼容性,面对复杂又有高性能要求时有很大作用

学习一门新的语言,从那些方面出发

1.了解适用场景,为什么需要新的编程语言,解决了什么已掌握的编程语言无法解决的问题

2.比较效率,随时优化

3.新语言的特殊语法

4.开发工具和开发模式,用新编程语言开发的前提

5.好的社区,积极的交流学习

c语言的特点

1.语言简洁,使用灵活

2.可移植性好

3.可进行结构化程序编程

4.可以直接操作硬件

5.代码效率高

面向对象设计语言的核心

1.高内聚低耦合

什么是高内聚底耦合

1.所在一个模块内关联性很强

2.只能单向依赖,不能双向依赖

隔离变化,封装变化

把变化的放到抽象类

抽象类是不变的

把变化交给子类

设计模式六大原则

1.开发封闭原则:类的改动只能通过增加代码进行,而不能改变源代码

2.依赖倒置原则:依赖于抽象的接口,而不依赖于具体的实现,针对接口编程

3.接口隔离原则:类之间的依赖关系应该建立在最小的接口上

4.里式替换原则:任何基类可以出现的地方,子类一定可以出现。

5.合成复用原则:是在一个新的对象里面使用一些已有的对象,使其成为新对象的一部分

6.迪米特法则:一个软件实体应当尽可能少的和其他实体发送相互作用。

单例模式

1.解决什么:保证系统中一个类只有一个实例且该实例易于外界访问,方便控制实例个数

2.优缺点:

优点

1)减少系统创建开销

2)避免资源重复占用

3)优化共享资源

缺点

1)扩展性差

2)于单一原则冲突

3.适用场景:

1)有频繁的实例化和销毁(全局唯一计数器)

2)创建对象时消耗资源过多(访问本地固定文件)

简单工厂模式

1.解决了什么:完成了代码的解耦

2.优缺:

优点:

缺点:

1)违背开闭原则

2)低内聚

3.适用场景:

工厂设计模式

1.

包装模式VS适配器模式VS代理模式

1.适配器模式:将A接口的实现封装后表现为B接口的行为

2.装饰器模式:将A接口实现后依旧表现A接口的行为,但行为功能上与原来不同

3.代理模式:将A接口实现后依旧表现A接口的行为,但代理模式对代理对象进行控制实现同一种功能的方法不同了,不做功能上的扩展

malloc,rmalloc,cmalloc区别

1.

使用malloc注意事项,和实现机制

1.

c++相关容器有哪些

1.

各种容器分配器原理(涉及到内存池)

1.

 指针和引用区别

1.

左值与右值的区别

1.

c++右值引用的作用是什么(为什么提出右值引用)

1.

c++类型推导

1.

auto和decltype区别

1.

IO多路复用的作用(为什么要有IO多路复用)

1.

epoll的操作过程(三个函数)

1.

epoll水平触发与边缘触发(使用注意事项)

1.

怎么用UDP实现TCP(30秒简述)

1.

介绍项目(30秒简述)

1.

项目中遇到的一个影响最深的问题

1.

遇到问题是怎么解决的(方式)

1.

具体是如何解决的(内容)

1.

为什么选择做这个项目

1.

为什么用QT(QT与c做项目的优缺?)

1.

QT信号与槽的机制

1.

QT事件类型

1.

为什么要录用你(阐述自己优点)

1.

面试问题

1.表达琐碎

2.先说出自己的答案,再说自己的原因

STL容器

1.容器的优缺点

2.为什么有这个优缺点

项目遇到什么问题

1.怎么解决的

2.用到的核心是什么

3.用什么机制解决了什么问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值