0%

找出两个有序数组的整体中位数 , 输入: 两个有序数列 , 输出: 总体数列的中位数
输入: {1, 2, 7, 10, 11, 12, 23} , {3, 5, 8, 9, 22}
输出: 8.5

阅读全文 »

常见的排序算法有八种:冒泡排序、选择排序、插入排序、归并排序、快速排序; 本文中主要介绍这些排序算法,及Golang实现。

阅读全文 »

有过面试经历的人都知道操作系统是面试官必问的几大类型题目之一. 本文对面试/笔试过程中经常会被问到的一些关于操作系统问题进行了梳理和总结。 不是很全,后面遇到后会慢慢补充。

阅读全文 »

本文对面试/笔试过程中经常会被问到的一些关于计算机网络的问题进行了梳理和总结。 不是很全,后面遇到后会慢慢补充。

阅读全文 »

Redis是目前使用最广泛缓存之一,在后端面试中常被问到Redis相关内容。 不是很全,后面遇到后会慢慢补充。

阅读全文 »

在后端面试中常被问到Mysql相关内容,这里整理了下面试中常被问到的mysql问题。 不是很全,后面遇到后会慢慢补充。

阅读全文 »

  Aerospike是一个分布式,高可用的 K-V类型的Nosql数据库。提供类似传统数据库的ACID操作。aerospike最大的卖点就是可以存储在SSD上,并且保证和redis相同的查询性能。aerospike内部在访问SSD屏蔽了文件系统层级,直接访问地址,保证了数据的读取速度。 AS同时支持二级索引与聚合,支持简单的sql操作,相比于其他nosql数据库,有一定优势。

阅读全文 »

在高并发Http服务中, 更新应用时会出现短暂的connect resuse和部分http请求数据丢失问题。这样在有些服务中是不可容忍的,所有需要Http服务做平滑重启处理。

阅读全文 »

原子操作就是不可中断的操作,外界是看不到原子操作的中间状态,要么看到原子操作已经完成,要么看到原子操作已经结束。在某个值的原子操作执行的过程中,CPU绝对不会再去执行其他针对该值的操作,那么其他操作也是原子操作。Go语言中提供的原子操作都是非侵入式的,在标准库代码包sync/atomic中提供了相关的原子函数。

阅读全文 »

Golang为了能够充分利用多核CPU的性能,在调度系统中使用了多线程,也就是Goroutine是跑在多个线程中,当多个Goroutine访问同一个资源是会出现c/cpp/java中并发问题; Sync包就是来解决这些并发问题

阅读全文 »