提纲:
👉 八股:
👉 代码:
- 简单说一下大端、小端。
- 什么是git?
- 为什么要用git?
- 简述集中式版本控制库和分布式版本控制库的区别
- 简述Git 与 SVN 区别
- 简述diff 与 patch 区别
- git常用命令
一、C++八股内容:
1、简单说一下大端、小端。
换句话说👇:存在字符串:
高有效位 → 12 34 56 78 → 低有效位
小端:低地址位 → 78 56 34 12 → 高地址位
大端:低地址位 → 12 34 56 78 → 高地址位
助记:大端模式:符合阅读习惯,高字节存放在低地址,低字节存放在高地址;类似于把数据当作字符串顺序处理小端模式:低字节存放在低地址,高字节存放在高地址;即高地址部分权值高,低地址部分权值低
2、什么是git?
- Git 是一个开源的分布式版本控制系统,用于快速高效地处理任何或小或大的项目。最初是为了帮助管理Linux内核开发的一个开放源码的版本控制软件。
-
Git应用十分广泛,小到我们平时使用github网站,大到公司中多人合作的大型项目开发。
- 它速度快,完全分布式,允许成千上万个并行开发的分支,容灾性能强。
git分为哪几个区?分别是什么?
①工作区(Workspace)是电脑中实际的目录。②暂存区(Index)类似于缓存区域,临时保存你的改动。③仓库区(Repository),分为本地仓库和远程仓库。
通常提交代码分为几步:① git add 从工作区提交到暂存区② git commit 从暂存区提交到本地仓库③ git push 或 git svn dcommit 从本地仓库提交到远程仓库
3、为什么要用git?
让你回答为什么用git,其实就是让你说之前的版本控制系统为什么不好
最开始的版本控制方法一般都是采用人工手动控制。
- 缺点:
- 千人千面,不同版本命名随意
- 有时无法快速辨别版本新旧
- 无法快速知道版本1相比版本2自己改了什么
- 如果要是多人开发,那命名和版本控制更为可怕
4、简述集中式版本控制库和分布式版本控制库的区别
-
备份
- 集中式存在单点故障,一旦故障,没法恢复,所以备份极其重要;
-
分布式则更安全,出现故障可以恢复数据,每一个节点都是一个服务器。
-
服务器压力
- 集中式所有的操作都要与服务器交互,操作首先于带宽,不能移动办公;
-
分布式全是离线操作,不受限于带宽,可以移动办公。
-
安全性
- 集中式容易出现单点故障,遭受黑客攻击;
-
分布式数据、提交全部使用SHA1哈希,以保证数据完整性,甚至提交可以使用PGP签名。
-
工作模式
- 集中式合适人数不多的项目,集中管理;
-
分布式适合很多人的项目。
集中式和分布式最根本的区别就是:分布式每个人的电脑上都可以直接拷贝完整的代码版本。而集中式只能拷贝自己需要的。
分布式的服务器挂掉之后,不会影响工作。而集中式的服务器挂掉之后,根本就没法进行工作。
5、简述Git 与 SVN 区别
SVN:Subversion(SVN) 是一个开源的