当前位置: 首页 > news >正文

小参林八股

1、git常用代码

git add. 将文件放入暂缓区

git config 配置git信息

git commit 提交内容

git diff -查看对文件的修改情况

git init 创建一个新的仓库

git checkout -b 分表名 创建分支

2. 如何解决git冲突

识别冲突文件

对文件进行修改

git add.放入缓冲区

git commit 提交文件 

 3.如果发现一个分支是否被合并了?

git branch -merged 返回已经合并到当前分支的分支列表

git branch - no - merge 返回还没有合并的分支列表

 4.git remote 和git clone 什么的区别

 git remote 是在你的git配置中创建了一个条目,指定了一个特定URL的名称,git clone 过复制位于该URL的现有仓库来创建一个新的git仓库。

5.git的使用规范

在开发动手之前,要git -pull一下,防止有人晚上提交了代码,和版本不一致

在本地开发好后,git add . -----> git commit -m “xx” 然后,再使用一次git pull,拉取远程仓库代码过来比对,防止你开发过程中,有人又提交了代码。如果有冲突就合并,没有就继续下一步。

此时就可以git push了,这样操作能最大程度减少代码冲突或者代码覆盖的情况。

6.怎么处理冷热数据 

 关于冷热数据,我们可以使用三种方式,一种是业务处理,针对问题处理简单,并且不是根据时间划分的。

通过binlog进行,,针对问题处理复杂,并且不是根据时间划分的。

通过定时任务,可以将冷热数据。

然后关于热数据的预热则是用过redis存放。

7.Nacos和Eurake都可以用作服务发现,他们有啥区别 

 Nacos支持AP,CP,但是Eruck只支持AP.

Nacos是长连接、Eurake是短连接

Nacos client 通过心跳上报方式告诉 nacos注册中心健康状态,默认心跳间隔5秒,nacos会在超过15秒未收到心跳后将实例设置为不健康状态,可以正常接收到请求超过30秒nacos将实例删除,不会再接收请求

Eureka client在默认情况每隔30s想Eureka Server发送一次心跳,当Eureka Server在默认连续90s秒的情况下没有收到心跳, 会把Eureka client 从注册表中剔除,在由Eureka-Server 60秒的清除间隔,把Eureka client 给下线,也就是在极端情况下Eureka 服务 从异常到剔除在到完全不接受请求可能需要 30s+90s+60s=3分钟左右(还是未考虑ribbon缓存情况下)

Nacos服务异常剔除效率高于Eureka

提供了nacos console可视化控制话界面,可以对实例列表进行监听,对实例进行上下线,权重的配置,并且config server提供了对服务实例提供配置中心,且可以对配置进行CRUD,版本管理

仅提供了实例列表,实例的状态,错误信息,相比于nacos过于简单

8.锁粗化 

 我们任何事情都有个度,有些情况下我们反而希望把很多次锁的请求合并成一个请求,以降低短时间内大量锁请求、同步、释放带来的性能损耗。

进化流程是:无锁-偏向锁-轻量级锁-重点级锁

 9怎么排查oom

oom:当jvm没有足够的内存为对象分配空间,并且垃圾回收器已没有空间回收时,会发生。 

常见的可能是

永久区错溢出、一般出现大量class对象,跳着perSize大小就行

StackOverFlowError 是死循环或者是深度调用,也有可能是栈分片过小 -Xss配置栈空间

 jmap -heap查看内存分片分配过小

jmap -histo 查看是否有明显的对象分片过多且没有释放情况。

jmap-dump:导出jvm当前快照,使用jdk和mat等工具

10面向对象的理解 

面向过程:直白的理解就是按照事情发生的步骤,一步一步进行,每步用函数实现,使用的时候再依次调用。
面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为

看到网上有个例子,将面向对象和面向过程分析的十分生动,很好理解,如下:
例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用不同的方法来实现。

面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。


继承:继承是从已有类得到继承信息创建新类的过程

封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。

多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。

多态分为:(1)编译时多态(2)运行时多态 编译时体现在同名的方法不同参数。 运行时的多态体现在父类子类继承重载方法,父类引用子类对象,执行子类的方法

相关文章:

  • C语言一维数组及二维数组详解
  • Java中List集合遍历的N种方法
  • 计算机学生求职简历的一些想法
  • 前端学习<三>CSS进阶——0102-CSS布局样式
  • OpenHarmony实战开发-分布式数据管理
  • vue3从精通到入门6:v-memo指令
  • shell脚本发布nginx vue2 项目示例
  • 设计模式(4):建造者模式
  • 【Vue3源码学习】— CH2.5 reactiveEffect.ts:Vue 3响应式系统的核心
  • 处理关于 React lazy 白屏的两种方案
  • Linux和Windows安装PHP依赖管理工具Composer
  • 【微信小程序】流量主-激励视频(激励广告)下发策略,每天三次免费体验,然后再次点击触发激励视频,当日不再触发。
  • MySQL 优化及故障排查
  • 手机有线投屏到直播姬pc端教程
  • winform日历控件_进度条控件
  • hexo+github搭建个人博客
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • android图片蒙层
  • angular2 简述
  • avalon2.2的VM生成过程
  • Codepen 每日精选(2018-3-25)
  • CSS3 变换
  • Lucene解析 - 基本概念
  • MySQL QA
  • nodejs调试方法
  • PHP CLI应用的调试原理
  • PHP变量
  • SQLServer之创建显式事务
  • webpack入门学习手记(二)
  • 基于Android乐音识别(2)
  • 前端之React实战:创建跨平台的项目架构
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信小程序:实现悬浮返回和分享按钮
  • 微信小程序设置上一页数据
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • nb
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 选择阿里云数据库HBase版十大理由
  • ​linux启动进程的方式
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #AngularJS#$sce.trustAsResourceUrl
  • #QT(一种朴素的计算器实现方法)
  • (floyd+补集) poj 3275
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (原創) 未来三学期想要修的课 (日記)
  • (转)关于多人操作数据的处理策略
  • ./configure,make,make install的作用
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET DataGridView数据绑定说明
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net 提取注释生成API文档 帮助文档