八股文
文章平均质量分 96
八股文
一个写湿的程序猿
练习两年半的程序猿。。。只因(ji)你太美!!!
初识不知文中意,再见已是文中人
展开
-
五分钟排查Linux的健康状态
我们还要评估CPU任务执行的排队情况,这些值就是负载(load)。top命令,显示的CPU负载,分别是最近1分钟、5分钟、15分钟的数值。如图,以单核操作系统为例,将CPU资源抽象成一条单向行驶的马路。则会发生三种情况:马路上的车只有4辆,车辆畅通无阻,load大约是0.5。马路上的车有8辆,正好能首尾相接安全通过,此时load大约为1。马路上的车有12辆,除了在马路上的8辆车,还有4辆等在马路外面,需要排队。此时load大约为1.5。那load为1代表的是啥?针对这个问题,误解还是比较多的。原创 2023-04-11 10:28:03 · 1223 阅读 · 0 评论 -
什么是限流?为什么会限流呢?常见的限流算法【固定窗口限流、滑动窗口限流、漏桶限流、令牌桶限流】是什么呢?
限流是指在系统面临高并发、大流量请求的情况下,限制新的流量对系统的访问,从而保证系统服务的安全性。另一种解释:在计算机网络中,限流就是控制网络接口发送或接收请求的速率,它可防止DoS攻击和限制Web爬虫。固定窗口限流算法(Fixed Window Rate Limiting Algorithm)是一种最简单的限流算法,其原理是在固定时间窗口(单位时间)内限制请求的数量。该算法将时间分成固定的窗口,并在每个窗口内限制请求的数量。原创 2023-03-13 11:11:44 · 4824 阅读 · 0 评论 -
Linux如何性能优化,怎么理解平均负载?如何利用系统缓存优化程序的运行效率?内存泄漏如何定位和处理?如何“快准狠”找到系统内存存在的问题?
并不是所有的虚拟内存都会分配物理内存,只有实际使用的才会。对于程序自动分配的堆内存,也就是我们在内存管理中的匿名页,虽然这些内存不能直接释放,但是Linux提供了Swap机制将不常访问的内存写入到磁盘来释放内存,再次访问时从磁盘读取到内存即可。分析进程的CPU问题可以通过perf,它以性能事件采样为基础,不仅可以分析系统的各种事件和内核性能,还可以用来分析指定应用程序的性能问题。首先要定位僵尸进程的父进程,通过pstree -aps XXX,打印出该僵尸进程的调用树,发现父进程就是app进程。原创 2023-03-06 15:04:21 · 289 阅读 · 0 评论 -
Git分支的合并策略有哪些?Merge和Rebase有什么区别?关于Merge和Rebase的使用建议
Git 中的文件可分为五种状态:untrack(未追踪):未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制。 通过git add状态变为Staged;unmodified(未修改):文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致。这种类型的文件有两种去处, 如果它被修改, 而变为Modified。如果使用git rm移出版本库, 则成为Untracked文件;modified(已修改):已修改表示修改了文件,但还没保存到数据库中;原创 2023-03-02 17:17:38 · 1736 阅读 · 0 评论 -
深度解析 Git 是如何工作的?
Git 是一个分布式的版本控制系统,这意味着它使用多个本地存储库,包括一个集中式存储库和服务器。虽然 Git 已经演变成一个成熟的版本控制管理系统。Git 的好处在于,你可以在整个职业生涯中都不知道 Git 内部是如何工作的,但你依然可以和它相处得很好。放一张图用来总结一下Commits、Tree、Blob。原创 2022-12-09 15:38:49 · 549 阅读 · 0 评论 -
【言简意赅】HTTP、RPC差异,为什么有了HTTP,还要RPC?
主要是基于的,而服务主要是基于我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要高一点,下面来具体聊聊和。ISO/OSI七层协议模型、TCP/IP四层模型TCP 三次握手/四次挥手,TCP 长连接与短连接HTTP ,HTTPS 原理通俗易懂CDN 原理,TCP/IP协议族在聊和的区别之前,我觉的有必要了解一下OSI的七层网络结构模型(虽然实际应用中基本上都是五层),它可以分为以下几层:(从上到下)第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;第二层:表示层。定义原创 2022-06-16 11:03:13 · 452 阅读 · 0 评论 -
《八股文》快速过一遍MySQL相关知识,温故而知新
这基础相关1. 关系型和非关系型数据库的区别?2. 说一下一条 MySQL 语句执行的步骤索引相关3. MySQL 使用索引的原因?4. 索引的三种常见底层数据结构以及优缺点5. 索引的常见类型以及它是如何发挥作用的?6. MyISAM 和 InnoDB 实现 B 树索引方式的区别是什么?7. InnoDB 为什么设计 B+ 树索引?8. 什么是覆盖索引和索引下推?9. 哪些操作会导致索引失效?10. 字符串加索引日志相关11、MySQL 的 change buffer 是什么?12. MySQL 是如何判原创 2022-06-13 13:55:06 · 529 阅读 · 1 评论 -
言简意赅,如何保障 MySQL 和 Redis 的数据一致性?
先抛一下结论:在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。 根据网上的众多解决方案,总结出 6 种,直接看目录:请求 A、B 都是先写 MySQL,然后再写 Redis,在高并发情况下,如果请求 A 在写 Redis 时卡了一会,请求 B 已经依次完成数据的更新,就会出现图中的问题。这个图已经画的很清晰了,就不用再啰嗦了吧,不过这里有个前提,就是对于读请求,先去读 Redis,如果没有,再去读 DB,但是读请求不会再回写 Redis,就是读请求不会更新 Redis。道理跟“先原创 2022-06-13 13:48:56 · 346 阅读 · 0 评论 -
《八股文》细数操作系统常见问题,温故而知新
这引论什么是操作系统?操作系统主要有哪些功能?操作系统结构什么是内核?什么是用户态和内核态?用户态和内核态是如何切换的?进程和线程并行和并发有什么区别?什么是进程上下文切换?进程有哪些状态?什么是僵尸进程?什么是孤儿进程?进程有哪些调度算法?引论什么是操作系统?可以这么说,操作系统是一种运行在内核态的软件。它是应用程序和硬件之间的媒介,向应用程序提供硬件的抽象,以及管理硬件资源。操作系统主要有哪些功能?操作系统最主要的功能:处理器(CPU)管理:CPU的管理和分配,主要指的是进程管理。转载 2022-05-27 16:46:29 · 381 阅读 · 0 评论 -
《八股文》计算机网络,温故而知新
《八股文》计算机网络,温故而知新基础1. 说下计算机网络体系结构2. 说一下每一层对应的网络协议有哪些?3. 那么数据在各层之间是怎么传输的呢?网络综合4. 从浏览器地址栏输入 url 到显示主页的过程?5. 说说 DNS 的解析过程?6. 说说 WebSocket 与 Socket 的区别?7. 说一下你了解的端口及对应的服务?HTTP8. 说说 HTTP 常用的状态码及其含义?9. HTTP 有哪些请求方式?10. 说⼀下 GET 和 POST 的区别?基础1. 说下计算机网络体系结构计算机网络体转载 2022-05-26 16:37:38 · 1534 阅读 · 0 评论 -
《八股文》细数Java线程、并发、锁,温故而知新
这基础1. 并行、并发有什么区别?2. 说说什么是进程和线程?3. 说说线程有几种创建方式?4. 为什么调用start()方法时会执行run()方法,那怎么不直接调用run()方法?5. 线程有哪些常用的调度方法?6. 线程有几种状态?7. 什么是线程上下文切换?9. 线程间有哪些通信方式?ThreadLocal10. ThreadLocal是什么?11. 你在工作中用到过ThreadLocal吗?12. ThreadLocal怎么实现的呢?13. ThreadLocal 内存泄露是怎么回事?14. Thr原创 2022-05-25 16:05:27 · 450 阅读 · 0 评论 -
《八股文》JVM,温故而知新
这1. 什么是JVM?2. 能说一下JVM的内存区域吗?3. 说一下JDK1.6、1.7、1.8内存区域的变化?4. 为什么使用元空间替代永久代作为方法区的实现?5. 对象创建的过程了解吗?6. 什么是指针碰撞?什么是空闲列表?1. 什么是JVM?JVM——Java虚拟机,它是Java实现平台无关性的基石。Java程序运行的时候,编译器将Java文件编译成平台无关的Java字节码文件(.class),接下来对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。同时JVM也是一个转载 2022-05-23 16:38:43 · 1213 阅读 · 0 评论 -
《八股文》Java基础,温故而知新
这2. Java语言有哪些特点?3. JVM、JDK 和 JRE 有什么区别?4. 说说什么是跨平台性?原理是什么5. 什么是字节码?采用字节码的好处是什么?6. 为什么说 Java 语言“编译与解释并存”?7. Java有哪些数据类型?8. 自动类型转换、强制类型转换?看看这几行代码?9. 什么是自动拆箱/封箱?10. &和&&有什么区别?11. switch 是否能作用在 byte/long/String上?12. break ,continue ,return 的区别及作用?1原创 2022-05-20 11:30:06 · 900 阅读 · 1 评论 -
【云原生】一文细数kubernetes常见20道问题
【云原生】一文细数kubernetes常见20道问题1、K8S是什么?2、容器和主机部署应用的区别是什么?3、K8S架构的组成是什么?4、kubenetes针对pod资源对象的健康监测机制5、如何控制滚动更新过程?6、镜像下载策略是什么?7、image的状态有哪些?8、pod的重启策略是什么?9、K8S中部署应用版本回滚的命令10、标签和标签选择器的作用是什么?11、常用的标签分类有哪些?12、查看标签的方式?13、添加、修改觉删除标签的命令14、DaemonSet资源对象的特性15、Pod的生命周期有哪些原创 2022-05-17 11:14:04 · 444 阅读 · 0 评论 -
如何优化慢SQL?常见案例
这前言SQL 优化一般步骤通过慢查日志等定位那些执行效率较低的 SQL 语句explain 分析SQL的执行计划前言在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多 SQL 语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的 SQL 就是整个系统性能的瓶颈。SQL 优化一般步骤通过慢查日志等定位那些执行效率较低的 SQL 语句explain 分析SQL的执行计划需要重点关注 type、rows、filtered、extra。type原创 2022-05-12 10:28:16 · 932 阅读 · 0 评论 -
【八股文】根据某SQL,请问需要执行几次树搜索操作?
【八股文】根据某SQL,请问需要执行几次树搜索操作?一、索引是什么?二、索引有哪些类型类型三、为什么选择B+树作为索引结构四、一次B+树索引搜索过程五、覆盖索引六、索引失效七、联合索引之最左前缀原则八、索引下推九、 大表添加索引面试官给了几条查询SQL,问:需要执行几次树搜索操作?一、索引是什么?索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。索引一般存储在磁盘的文件中,它是占用物理空间的。正所谓水能载舟,也能覆舟。适当的索引能提高查询效率,过原创 2022-05-10 16:24:19 · 390 阅读 · 0 评论 -
日常开发如何写出高质量SQL语句?让细节成为习惯
这1、查询SQL尽量不要使用select *,而是select具体字段。2、如果知道查询结果只有一条或者只要最大/最小一条记录,建议用limit 13、应尽量避免在where子句中使用or来连接条件4、优化limit分页5、优化你的like语句6、使用where条件限定要查询的数据,避免返回多余的行1、查询SQL尽量不要使用select *,而是select具体字段。反例子:SELECT * FROM employee;正例子:SELECT id, name FROM employee;理由原创 2022-05-10 13:48:47 · 239 阅读 · 0 评论 -
【八股文】你们的MySQL架构是怎样的?讲讲MySQL的主从
这1. 数据库主从概念、优点、用途2. 数据库主从复制原理3. 主主、主从、主备的区别4. MySQL是怎么保证主从一致的4.1 长链接4.2 binlog格式5. 数据库主从延迟的原因与解决方案1. 数据库主从概念、优点、用途主从数据库是什么意思呢,主是主库的意思,从是从库的意思。数据库主库对外提供读写的操作,从库对外提供读的操作。数据库为什么需要主从架构呢?高可用,实时灾备,用于故障切换。比如主库挂了,可以切从库。读写分离,提供查询服务,减少主库压力,提升性能备份数据,避免影响原创 2022-05-09 14:15:38 · 334 阅读 · 0 评论 -
【八股文】你们的接口幂等是如何保证的?
你们的接口幂等是如何保证的?1. 什么是幂等?2. 为什么需要幂等3. 接口超时了,到底如何处理?4. 如何设计幂等4.1 全局的唯一性ID4.2 幂等设计的基本流程5. 实现幂等的8种方案5.1 select + insert + 主键/唯一索引冲突5.2. 直接insert + 主键/唯一索引冲突5.3 状态机幂等5.4 抽取防重表5.5 token令牌5.6 悲观锁(如select for update)5.7 乐观锁5.8 分布式锁6. HTTP的幂等6.1 GET 方法6.2 HEAD 方法6.3原创 2022-05-07 13:54:09 · 263 阅读 · 0 评论