Keal's Blog

我的天空, 是雨是风

NetEase interview

如何解析http报文?如何判断结束?如何知道包的大小? http头部包含了哪些内容? linux系统的权限是如何分配ID,文件系统是怎么样的,操作文件需要怎样的权限.写日志时如果把文件删除会怎么样? 虚拟内存的实现? 一堆数据,如何找出最大值最小值. 如何找出前N大的值. 算法实现, 复杂度.

分布式事务

解决分布式事务的其中一种方法就是不使用分布式事务. 概念 分布式系统中数据并非保存在同一个数据库中,此时的事务如果跨多个数据库,则无法使用数据库本身的事务来完成,需要额外的机制来实现分布式事务. 基于分布式的CAP理论,由于一般无法接受网络分区,因此P必须保证,所以剩下的就是C跟A. 根据这种情况又进一步提出了BASE理论(BASE 是 Basically Available(基本可用...

go和python的垃圾回收机制

现代语言基本都具备自己的垃圾回收机制, 自动的垃圾回收能减少程序员的负担和增加程序的可靠性.这次稍微深入了解一下go和python在垃圾回收 Python垃圾回收 引用计数+标记清除+分代回收 引用计数 每个对象都有一个变量指明有多少对象引用了它,当引用计数为0时,就直接将对象清除,释放内存 优点: 简单, 不需要集中处理 缺点: 无法处理循环引用的情况 标记-清除 目的:解...

python数据结构的底层实现

知其然,还要知其所以然. 讲讲dict,list,set常见的容器的底层设计 Dict 查询平均复杂度O(1), 增删复杂度O(1) dict,又叫字典.在python3.6和以前版本中的实现和之后不太一样.简单来说: python3.6及之前是无序的 python3.7及之后是有序的 无序dict版本 底层:哈希列表, 列表里的元素都为(hash_value, k...

Clustered and distributed

集群 集群就是多个机器提供相同的服务. 这样就避免了单点故障,实现了服务的高可用. 不需要数据同步的集群-例如一个web服务集群,可以通过nginx做负载均衡. 这种也可以称为负载均衡集群 分布式 分布式就是不同的机器通过网络连接协调来提供服务,至于是每个机器提供相同的服务还是不同的服务不重要. 比如微服务架构.多个服务独立且通过RPC通信来实现对外的一个整体服务. 分布式集群 ...

A brief discussion of message queues

MQ(消息队列)算是项目经常会用到的一个中间件了,之类对MQ做个大致认识 MQ的作用 解耦: 将同步的任务改为异步通知 广播: 将消息发给所有关心此条消息的服务 错峰流控: 通过MQ来限制一段时间的最大并发量 MQ工作流程 先看MQ的基本工作流程,简化为生产者, MQ, 消费者的关系 producer->MQ->consumer->MQ->produce...

Inverted index

倒排索引常用于搜索引擎,文档搜索. ElasticSearch就使用了倒排索引来检索数据. 正向索引 要理解倒排索引,可以先看看正向索引是怎样的. 举个例子,文章里包含了许多的文字,你想找某个文字出现在哪些文章里. 那么按照遍历每个文章,查看文章中是否出现过关键字的查找就是正向索引.这个查找顺序是文章->文字的. 这就是正向索引(forward index) 缺点: 按照文字...

select, poll, epoll以及Linux下的IO模式

之前一直以为自己已经充分理解了select, poll, epoll,直到看到这样一个问题: 为什么 IO 多路复用要搭配非阻塞 IO? 自己琢磨的有点似是而非,所以重新好好复习下. 先从Linux下的IO模式说起吧. Linux IO模式 Unix网络编程这本书中有讲到5种IO模式: 阻塞 I/O(blocking IO) 非阻塞 I/O(nonblocking...

str,bytes,unicode in Python

python2到3里的编码问题算是常见问题了,发现很多文章有些讲的对但是缺少细节不容易明白,有些文章甚至讲的都不完全是对的.所以这篇文章如果能做到既对了,又能够细节充分让人一看就懂,还是很有意义的. bytes和unicode python里的bytes类型可以理解为最底层的’00001111’这样的数据流,当进行网络传输或者文件传输时,都是通过bytes类型传输. 应用读取bytes...

Thoughts on 996

996 每周早上9点上班,晚上9点下班, 一周工作6天, 被称作为996. 当下中国互联网公司职工的普遍上班模式. 漫谈一下996 996这两年来几乎成为一个大热词,从各大互联网公司慢慢发酵,到github的996.icu, 在到最近拼多多的多名员工猝死. 以及据说每月要求员工上班时长满300小时(已经不只是996了). 在各个平台引起了不少的讨论. 讲真,996从我的经历来看,既...