讯飞实习面试总结

这篇文章记一下当时准备面试总结的面试题目~

1,new和malloc的区别

1)malloc/free是c++的标准库函数,new/delete是c++的运算符,都可用于申请动态内存和释放内存
2)malloc()只是分配了内存,而new则更进一步,不仅分配了内存,还调用了构造函数进行初始化。

2,C++的特性
1)封装:就是把客观事物封装成抽象的类
2)继承:使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展
3)多态:一个接口,多种方法。程序在运行时才决定调用的函数

3,析构函数的概念

1)是类的一种特殊的成员函数,会在每次删除所创建的对象时执行,在跳出程序前释放资源
e.g: 类的名字是line 对应析构函数是~line()

2)子类父类调用析构函数的顺序:
先构造父类子类,再析构子类父类

4,i++和++i的区别

1)i++是先返回i再将i加一,++i是先将i加一再返回i。
2)++i可以作为左值,i++不行,因为其返回的是一个临时变量。

5,C++11新特性
1)类型推导
2)右值引用
3)智能指针

6,常见数据类型

int 4B
float 4B
double 8B

7,STL(Standard Template Library )标准模板库
是C++提供的一个包含了大量模板类和模板函数的集合
e.g:
#include
vector v;

v.push_back(2);

8,智能指针

设置一个引用计数来统计被引用次数,当为0时自动释放动态分配的对象

9,static关键字的作用

1)修饰局部变量:可以使得局部变量在整个程序周期内保持存在,而不需频繁的创建和销毁
2)修饰全局变量:可以使全局变量的作用范围局限在声明他的文件内

10,const关键字的作用

1)对变量:定义变量为常量,不可修改
2)对指针:const在*的左边,指针指向变量的值是常量;const在 *的右边 指针本身是常量(左值右指
3)对函数:const定义的函数可以访问const和非const成员变量,但是不能修改变量的值
4)对对象:const定义的对象只能访问对象中的const成员函数

11,extern关键字的作用

用来在一个文件中声明另一个文件中定义的全局变量或全局函数

12,虚函数以及动态绑定

1)虚函数:是用virtual声明的函数,在子类中重新定义基类中的虚函数时,会告诉编译器不要静态连接到该函数

e.g.:virtual int area()

2)动态链接:程序可以根据所调用的对象类型来选择调用的函数

3)静态链接:函数调用在程序运行前就已经执行好了

13,C++内存管理
1)栈: 用来存储函数参数以及局部变量。向下生长,空间小。
2)堆:用来存储new分配的内存块,需要手动delete释放。向上生长,空间大,灵活。

14,指针和引用的区别

1)指针指向一块内存,他的内容是这块内存的地址

e.g: int *m = &n; 表示指针变量m的内容是n的地址

2)引用是一块内存的别名

e.g: &m = n  对m的操作就是对n的操作

15,struct和class的区别

1)在C++中struct声明的成员默认是public类型的;
2)而class声明的成员默认是private类型的。

16,git的概念

是最先进的分布式版本控制系统

1)在git里面提交自己的信息:
在git里面设置自己的信息
确保在git配置文件中配置好:

在这里插入图片描述
2)git的基本原理

a,Workspace:工作区,就是你平时存放项目代码的地方

git add .

b,Index / Stage:暂存区,用于临时存放你的改动

git commit

c,Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

git push

d,Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

在这里插入图片描述
3)自己搞了一个gitee账号 并生成了本机的SSH

4)工作中的应用

//递交
git add.				//将本次所有修改的添加到暂存区
git commit -m""	//将本次修改添加到本地仓库 引号里面是介绍内容
git push origin master		//将代码添加到远程仓库
//拿取
git pull origin 远程分支名  	//将远程最新代码和我的合并一下

17,LINUX常用命令

1)df
看磁盘占用情况

2)top
动态查看当前运行的进程状态
(静态查看用ps)
在这里插入图片描述
3)free
查看系统内存占用情况
在这里插入图片描述
4)查看和改变文件权限

①查看文件详细信息 可使用ls -l

r:可被读(对应4)
w:可被写(对应2)
x:可被执行(对应1)
-:(对应0)

②修改文件权限
如要将一个文件test.txt的权限改为
自己 同组用户 其他用户
rw- rwx r–

命令为:

chmod 674 test.txt

5)新建一个文件

cat>>test.txt

先输入文件内容,用ctrl+D退出

18,项目内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值