最后
无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。
针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。
这里平时可能更多的是将公司的 Git 库中的代码拉取到本地进行协同开发,不过这里没法演示,所以就用 IDEA 从 Github 拉取代码为例,来演示如何从远程 Git 仓库拉取代码。
这里主要有两种方式,第一种是事先通过 Git 工具将代码拉取到本地,然后再通过 IDEA 进行打开;而另一种则是通过 IDEA 直接将代码拉取下来,下面分别演示下这两种操作。
先拉取,再打开
首先找到我们要 Github 仓库,然后复制 Github 仓库路径。
然后打开终端,使用如下命令克隆到本地。
git clone Githu 仓库地址
git clone https://github.com/cunyu1943/java-programming-instance.git
拉取成功后,我们就可以通过 IDEA 打开该项目,依次进入 File -> Open
,然后找到上一步中克隆下来的代码所在路径,即可打开项目。
直接拉取打开
除开上面的方式之外,我们也可以直接通过 IDEA 拉取代码,依次进入 File -> New -> Project from Version Control
,然后这里也有两种方式拉取。
- URL 拉取
这里我们将我们在上一部分中所复制的仓库库地址 url 填入 URL
,然后 Version control
选择 Git
,Directory
则是我们要存放该代码的本机路径,后面拉取下来的代码将放在该路径中。
- 账号拉取
Github 设置部分我们已经登陆了 Github 账号,此时也可以通过 Github 选项,然后找到我们要拉取代码的仓库,这里可以通过最上方的搜索框进行搜索快速定位,然后点击下方的 Clone
即可进行拉取,其中 Directory
同上一种拉取方式,也是我们拉取代码存放的路径。
此外,还有 Githu Enterprise
和 Space
两种方式拉取,不过这两种方式更偏向于公司或者组织,一般个人的话是不需要用到这部分的,这里知道就好,使用方法和上述两种方式大同小异。
一般在将本地代码提交到远程仓库时,最好先更新下远程仓库的代码到本地,从而避免不必要的冲突。
更新的方式也很简单,可以通过快捷键 Ctrl + T
进行拉取,也可以通过工具栏中的按钮来实现。
更新时有两种方式,一种是 Merge incoming changes into the current brance
,而另一种则是 Rebase the current branch on top of incoming changes
。
其中 Merge
的原理是找到两个分支的祖先 commit
,然后将公共分支最新版合并到自己的分支,形成一个新的 commit
提交,用图表示如下。
Rebase
则是重新基于一个分支进行 commit
,即将当前分支从祖先的 commit
后所提交的 commit
均撤销,将他们放到一个缓存中,然后基于一个分支的后面,将缓存的 commit
按照顺序以一个个新增到该分支后面,用图表示如下,将 4 和 5 所提交的 commit
放到缓存中,然后按顺序将其新增到 6 的后面。
而使用 Rebase
和 Merge
的基本原则可以总结如下三条:
-
下游分支更新上游分支内容时使用
Rebase
-
上游分支合并下游分支内容时使用
Merge
-
更新当前分支内容时一定要使用
--rebase
参数
更多关于 Rebase
和 Merge
的区别,可以参考这篇文章:
https://zhuanlan.zhihu.com/p/34197548
除开快捷键和点击工具栏中按钮更新的方式之外,还可以在项目上点击鼠标右键,然后依次进入 Git -> Pull
进行更新。
本地进行开发工作后,我们需要将我们的代码提交到远程仓库,此时也可以通过以下两种方式进行。
- 快捷键
通过快捷键 Ctrl + K
打开代码提交工作区,可以看到文件会被标识成不同的颜色,一般是红色、绿色、蓝色,三者的意义分别代表如下:
-
红色:表示该文件未加入到版本控制中,比如 Java 项目中的
target
文件夹,这里我们可以在.gitignore
文件中进行配置。 -
绿色:表示该文件是新加入版本控制中的文件,比如我们项目中新建的文件,但此时它还未被提交到远程代码仓库。
-
蓝色:表示该文件是修改的文件,在我们远程的代码仓库中已经存在该仓库,只是我们对它进行了修改还没有提交而已。
此外,还有一个 Amend
区域,这里主要用于填写我们的提交信息。
完成勾选我们需要提交的代码文件以及填写提交信息后,我们就可以点击 commit
按钮完成代码提交。
- 工具栏按钮
同样的,我们也可以通过工具栏中的按钮进行提交,点击该按钮后,出现的界面应该和通过快捷键提交方式的界面一致。
总结
谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。
为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的
并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)
66个Java面试知识点
架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)
算法刷题(PDF)
(img-Dvg5PMC2-1715304837996)]