面试官常问的 微服务 问题(三)

21.绝对路径、当前目录、上层目录、主目录分别用什么符号表示?切换目录用什么命令?

绝对路径:/etc/init.d
当前目录:./
上层目录:../
主目录:~/
切换目录:cd

22.创建和删除目录、创建文件、复制文件分别用什么命令?(重点)

创建目录:mkdir
删除目录:rmdir
创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件
复制文件:cp

23.什么是 Linux 软连接和硬链接?

Linux 链接分两种:硬链接(HardLink)、符号链接(SymbolicLink)。

硬连接:指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号, 称为索引节点号(InodeIndex)。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接:另外一种连接称之为符号连接(SymbolicLink),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上 是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

(运维方面!!!)

24.Linux 软连接和硬链接的区别(共享目录)?

原理上,硬链接和源文件的 inode 节点号相同,两者互为硬链接。软连接和源文件的 inode 节点号不同,进而指向的 block 也不同, 软连接 block 中存放了源文件的路径名。
实际上,硬链接和源文件是同一份文件,而软连接是独立的文件,类似于快捷方式,存储着源文件的位置信息便于指向。使用限制上,不能对目录创建硬链接,不能对不同文件系统创建硬链接,不能对不存在的文件创建硬链接;可以对目录创建软连接,可以跨文件系统创建软连接,可以对不存在的文件创建软连接。

(运维方面!!!)

25.简述 raid0 raid1 raid5 三种工作模式的工作原理及特点。

RAID:可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据。还有一个大功能,多块盘放在一起可以有冗余(备份) RAID 整合方式有很多,常用的:01510。
RAID0:可以是一块盘和 N 个盘组合,其优点读写快,是 RAID 中最好的。缺点:没有冗余,一块坏了数据就全没有了。
RAID1:只能 2 块盘,盘的大小可以不一样,以小的为准。10G+10G 只有 10G,另一个做备份。它有 100%的冗余,缺点:浪费资 源,成本高。
RAID5:3 块盘,容量计算 10*(n-1),损失一块盘。特点,读写性能一般,读还好一点,写不好
冗余从好到坏:RAID1RAID10RAID5RAID0
性能从好到坏:RAID0RAID10RAID5RAID1
成本从低到高:RAID0RAID5RAID1RAID10
单台服务器:很重要盘不多,系统盘,RAID1 数据库服务器:主库:RAID10 从库 RAID5RAID0(为了维护成本,RAID10) WEB服务器,如果没有太多的数据的话,RAID5,RAID0(单盘)有多台,监控、应用服务器,RAID0RAID5。

(运维方面!!!)

26.列举工作中常用的几个 git 命令?

Git 的最大优势:去中心化
新增文件的命令:git add file 或者 git add.
提交文件的命令:git commit –m 或者 git commit –a
查看工作区状况:git status –s
拉取合并远程分支的操作:git fetch / git merge 或者 git pull
查看提交记录命令:git ref log

27.git 库所在的文件夹中的文件的状态

1)Untracked: 未跟踪,此文件在文件夹中,但并没有加入到 git 库,不参与版本控制,通过 gitadd 状态变为 Staged。

2)Unmodify: 文件已经入库, 未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改,而变为 Modified,如果使用 git``rm``移出版本库,则成为 Untracked 文件。

3)Modified: 文件已修改,仅仅是修改,并没有进行其他的操作,这个文件也有两个去处,通过 gitadd 可进入暂存 staged 状态,使用 gitcheckout 则丢弃修改过,返回到 unmodify 状态,这个 gitcheckout 即从库中取出文件,覆盖当前修改。

4)Staged: 暂存状态,执行 gitcommit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为 Unmodify 状态,执行gitresetHEADfilename 取消暂存,文件状态为 Modified。

在这里插入图片描述

28.Git 状态 untracked 和 not staged 的区别

1)untrack:表示是新文件,没有被 add 过,是未跟踪的意思。
2)notstaged:表示 add 过的文件,即跟踪文件,再次修改没有 add,就是没有暂存的意思

29.Git 提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?

开发过程中,我们都有自己的特性分支,所以冲突发生的并不多,但也碰到过。诸如公共类的公共方法,我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。
发生冲突,在 IDE 里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件,然后再提 交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突。
发生冲突,也可以使用命令。 通过 gitstash 命令,把工作区的修改提交到栈区,目的是保存工作区的修改; 通过 gitpull 命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突; 通过 gitstashpop 命令,把保存在栈区的修改部分合并到最新的工作空间中;

30.你使用过 git stash 命令吗?你一般什么情况下会使用它?

命令 git stash 是把工作区修改的内容存储在栈区。
以下几种情况会使用到它:
1、 解决冲突文件时,会先执行 gitstash,然后解决冲突;
2、有紧急开发任务但目前任务不能提交时,会先执行 gitstash,然后进行紧急任务的开发,然后通过 gits tash pop 取出栈区的内容继续开发;
3、 切换分支时,当前工作空间内容不能提交时,会先执行 gitstash 再进行分支切换;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值