自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 python后端面试面经经历

python面经、python面试经历、python后端开发面试题

2024-04-08 23:40:01 523

原创 mysql索引篇 - B+树

为什么mysql推荐一定要设定索引,最好使用整型且设定自增主键。为什么mysql默认使用innodb作为搜索引擎?如果数据都是从小到大插入,二叉树就会退化成链表。数据量过大时,树的高度会越来越高。

2024-03-29 01:35:11 190

原创 mysql索引篇- 常见面试题

开门见山InnoDB 是在 MySQL 5.5 之后成为默认的存储引擎。

2024-03-26 21:29:09 164

原创 Mysql基础篇 - 一行记录是怎么存储的?

之前有位读者在面字节的时候,被问到这么个问题:类似的问题还有其实都是在围绕着一个问题:「 MySQL 一行记录的存储结构」这一个知识点,所以攻破了这个知识点后,这些问题就引刃而解了。

2024-03-20 00:34:26 928

原创 mysql基础篇-执行一条 select 语句,期间发生了什么?

mysql架构:server层和存储引擎层。

2024-02-06 15:46:48 502

原创 python面经

面经记录

2024-02-05 15:28:13 134

原创 图解Redis介绍

重点突击 Redis 数据结构、持久化、集群、缓存等面试常问知识。

2024-02-02 21:19:59 316

原创 图解网络 - 基础篇

网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。

2024-02-02 00:15:17 913

原创 图解系统 - 网络系统

在进行 I/O 设备和内存的数据传输的时候,数据搬运的工作全部交给 DMA 控制器,而 CPU 不再参与任何与数据搬运相关的事情,这样 CPU 就可以去处理别的事务。

2024-01-30 21:32:06 187 1

原创 图解系统 - 进程管理

线程是进程当中的一条执行流程一个进程中可以同时存在多个线程;各个线程之间可以并发执行;各个线程之间可以共享地址空间和文件等资源;

2024-01-26 01:04:03 673 1

原创 redis - 缓存三兄弟

大量缓存数据在同一时间过期(失效)或者 Redis 故障宕机 1. 缓存的时候,给过期时间设置随机数 2. 互斥锁,当业务线程请求时,发现缓存不在redis里,就加个互斥锁,保证同一时间内只有一个请求来构建缓存,完成之后再释放锁,互斥锁实现的时候最好添加超时时间 3. 后台更新缓存 1. 服务熔断或请求限流机制 2. 构建Redis缓存高可靠集群热点数据缓存过期 1. 互斥锁:保证同一时间只有一个业务线程更新缓存,未能获得互

2024-01-26 00:16:45 139 1

原创 图解系列 - 内存管理

为了在多进程环境下,使得进程之间的内存地址不受影响,相互隔离,于是操作系统就为每个进程独立分配一套虚拟地址空间,每个程序只关心自己的虚拟地址就可以,实际上大家的虚拟地址都是一样的,但分布到物理地址内存是不一样的。作为程序,也不用关心物理地址的事情。每个进程都有自己的虚拟空间,而物理内存只有一个,所以当启用了大量的进程,物理内存必然会很紧张,于是操作系统会通过内存交换技术,把不常使用的内存暂时存放到硬盘(换出),在需要的时候再装载回物理内存(换入)。

2024-01-21 22:32:04 298

原创 图解系统 - 操作系统结构

宏内核,包含多个模块,整个内核像一个完整的程序;微内核,有一个最小版本的内核,一些模块和服务则由用户态管理;混合内核,是宏内核和微内核的结合体,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序;Linux 的内核设计是采用了宏内核,Window 的内核设计则是采用了混合内核。这两个操作系统的可执行文件格式也不一样, Linux 可执行文件格式叫作 ELF,Windows 可执行文件格式叫作 PE。

2024-01-19 00:46:58 725 1

原创 图解系统 - 硬件结构

最后我们再来回答开头的问题。64 位相比 32 位 CPU 的优势在哪吗?64 位 CPU 的计算性能一定比 32 位 CPU 高很多吗?64 位 CPU 可以一次计算超过 32 位的数字,而 32 位 CPU 如果要计算超过 32 位的数字,要分多步骤进行计算,效率就没那么高,但是大部分应用程序很少会计算那么大的数字,所以只有运算大数字的时候,64 位 CPU 的优势才能体现出来,否则和 32 位 CPU 的计算性能相差不大。

2024-01-18 23:43:56 776 1

原创 python操作MongoDB进行CURD操作以及常见的调优技巧

例如,对于范围查询使用Unix时间戳进行简化,对于文本搜索使用全文索引的模式,减少工作集上下文交互是提高性能的最好方法之一。监控是必要的,以追踪系统的活动和运行情况。1. 确保正确的索引:索引是MongoDB中查询性能的关键因素,因此必须确保正确的索引为集合进行配置。4. 使用合适的硬件:为MongoDB分配足够的内存和磁盘空间,以确保系统的高性能及稳定运行。3. 增加可用性和可伸缩性:MongoDB的可伸缩性和高可用性是它的一个主要卖点,使用分片和副本集来增强系统的可用性和可伸缩性。

2023-03-21 22:43:05 241

原创 pandas库的使用场景

Pandas的常用数据结构是Series和DataFrame,它们可以用来处理多种类型的数据,包括时间序列数据和结构化数据等等,Pandas还提供了各种功能来方便处理数据,在数据清洗、数据切片/切块、数据聚合、数据分组、数据排序等方面提供便利。2. 数据探索性分析:Pandas可以用于数据的探索性分析,它可以给出数据的一些基本统计信息,如平均数、中位数、标准差、最大值、最小值等等。它支持缺失值的处理、数据类型的转换、重复数据的删除、不一致数据的纠正等。

2023-03-21 22:36:53 851

原创 django和gin的对比

Django使用基于线程的请求处理方式,一个线程处理一个请求。因此,它的并发处理能力取决于服务器所能够承受的线程数。如果服务器的CPU和内存资源充足,可以支持更多的请求并行处理。从数据上看,Gin在比Django更高的吞吐量和更短的延迟方面表现更好。在基准测试方面,Gin通常比Django更快。总的来说,Gin在并发和性能方面具有优势,但要注意的是,这些结果也取决于实际应用场景和负载。Gin使用基于协程的请求处理方式,每个协程可以同时处理多个请求。因此,它具有更高的并发处理能力,可以支持更多的并发请求。

2023-03-10 17:31:10 1094

原创 如何系统学习k8s?

使用 Kubernetes 的过程中需要建立文档和笔记,便于记忆和随时查阅。可以使用 Kubernetes 的设置进行实验,建立一个 Kubernetes 热点研究小组。参加 Kubernetes 社区,学习和了解最新的变化和发展。

2023-03-10 17:14:29 308

转载 Kubernetes核心概念介绍

关注点包括自愈和自动伸缩、调度和发布、调用链监控、配置管理、Metrics 监控、日志监控、弹性和容错、API 管理、服务安全等,k8s 将这些微服务的公共关注点以组件形式封装打包到 k8s 这个大平台中,让开发人员在开发微服务时专注于业务逻辑的实现,而不需要去特别关心微服务底层的这些公共关注点,大大简化了微服务应用的开发和部署,提高了开发效率。Pod,k8s 中特有的一个概念,可以理解为对容器的包装,是 k8s 的基本调度单位,实际的容器时运行在 Pod 中的,一个节点可以启动一个或多个 Pod。

2023-03-09 19:15:52 186

原创 typing模块

很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度。在调用的时候如果参数的类型不正确pycharm会有提醒,但不会影响程序的运行。List、 Tuple、 Dict、 Set:列表、元组、字典、集合。该模块加入后并不会影响程序的运行,不会报正式的错误,只有提醒。在传入参数时通过"参数名:类型"的形式声明参数的类型;返回结果通过"-> 结果类型"的形式声明结果的类型。bool、str:布尔型、字符串类型。

2023-03-07 13:46:06 57

原创 git仓库规范

该目录下可以有很多项目的分支,dev目录下的分支可以进行回流。以项目为维度,再通过开发人员名字为子维度来区分。主分支:develop/demo。开发分支:dev/demo/kk。主目录:develop。

2022-11-18 11:19:14 234

原创 python列表、元祖、集合、字典、字符串创建的开销

【代码】python列表、元祖、集合、字典、字符串创建的开销。

2022-10-21 17:09:09 296

原创 支持动态指定字段的序列化器,传参fields,序列化和反序列化都支持

支持动态指定字段的序列化器,传参fields,序列化和反序列化都支持。

2022-10-21 11:49:54 206

原创 python gil锁

1. giL会根据执行的完节码行数(1000个字节码左右、根据版本差异)以及时间片(15ms)释放gil。2. 遇到io操作的时会主动释放给别的线程。

2022-10-19 10:08:18 118 1

转载 pycharm插件translation 更新TTK失败,请检查网络连接的解决办法

pycharm插件translation 更新TTK失败,请检查网络连接的解决办法

2022-10-05 09:35:07 465 1

转载 python之抽象基类abc.abstractmethod

有时,我们抽象出一个基类,知道要有哪些方法,但只是抽象方法,并不实现功能,只能继承,而不能被实例化,但子类必须要实现该方法,这就需要用到抽象基类,在很多时候用到的很多。为了理解抽象基类,你可以这么理解,我们有蔬菜这个抽象基类,有黄瓜,番茄,芹菜等,但你永远只能吃得到黄瓜,番茄这些,而不能吃到所谓的“蔬菜”,这样理解起来容易多了吧。但是注意,如果这时你实例化Foo,仍然是报错的,因为抽象基类只能继承而不能实例化,子类要实例化。...

2022-08-29 17:09:19 228

MySql-8.0.26 安装过程.pdf

MySql安装,保姆级教学

2021-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除