📊 面试题
Table of Contents
你将学习如下内容
- 面试题目
课程列表
Golang 面试题
GC 相关 golang GC 回收介绍 https://liangyaopei.github.io/2021/01/02/golang-gc-intro/ 什么时候会触发 golang GC https://cloud.tencent.com/developer/article/1900650 channel 相关 golang channel 作用? TODO channel 的底层实现 TODO 其他 golang 如何做超时控制? TODO golang 如何 比较两个 map 使用相等 TODO
Golang 面试题:连接字符串有几种方法
面试真题来源:腾讯会议 字符串连接是编程中最基本的操作之一,每种语言都有不同的方法来实现,我们接下来研究下 go 能够有几种方式来连接字符串。 + 加号(+)运算符可用于连接字符串。它通常是最常用的字符串连接方式,无需太多考虑。 name := "John" + " " + "Doe" // John Doe 只要提供多个字符串作为参数,fmt 包中的 print 函数就会自动连接。它还可以在字符串之间添加空格。 fmt.Println("It", "works!") // prints "It works!" += 可以使用 += 运算符将字符串附加到另一个字符串上。和加号运算符一样,但是是一种稍微短一点的连接方式。它将右侧附加到操作它的字符串上。所以,它本质上是附加字符串。下面是使用 += 运算符追加字符串的示例。
kubernetes 面试题
Service Service 有什么类型,分别有什么作用? TODO Ingress 和 Service 是如何搭配使用?从网络的角度上来说,分别工作于哪一层 TODO 其他 介绍 k8s 基础组件及其之间的协作,功能 Kubernetes 组件
docker 面试题
介绍一下 docker TODO
linux 面试题
说一下你常用的 linux 命令,以及在什么场景下会使用 TODO 介绍一下 top 的常用用法 TODO
网络相关面试题
TCP/IP 协议 介绍一下 TCP/IP 五层模型 TODO 什么是CLOSE_WAIT TODO
设计模式面试题
说一下你用过的设计模式,以及在什么场景下用到的这个模式 TODO
redis 面试题
数据结构 列举 redis 数据结构 TODO zset zset 特点 TODO zset 底层实现 TODO other 介绍一下 redis 长短连接 TODO
redis 面试题:redis 为什么执行速度这么快
纯内存操作 避免大量访问数据库,减少直接读取磁盘数据 redis 将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制。 单线程操作 避免了不必要的上下文切换和竞争条件 不存在多进程或者多线程导致的切换而消耗CPU 不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗 采用了非阻塞I/O多路复用机制 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络 IO 的时间消耗)。 多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力。 在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且只依次顺序的处理就绪的流,这种做法就避免了大量的无用操作,从而提高效率。 灵活多样的数据结构 redis 内部使用一个 redisObject 对象来表示所有的 key 和 value。 redisObject 主要的信息包括数据类型、编码方式、数据指针、虚拟内存等。它包含 String,Hash,List,Set,Sorted Set 五种数据类型,针对不同的场景使用对应的数据类型,减少内存使用的同时,节省网络流量传输。 持久化 由于 redis 的数据都存放在内存中,如果没有配置持久化,redis 重启后数据就全丢失了,于是需要开启 redis 的持久化功能,将数据保存到磁盘上,当 redis 重启后,可以从磁盘中恢复数据。
etcd 面试题
讲一下你对 Raft 算法的了解 TODO
kafka 面试题
zookeeper 对于 kafka 的作用是什么? TODO
ElasticSearch 面试题
描述一下什么是倒排索引 TODO
算法/数据结构面试题
描述一下链表的特点 TODO
mysql 面试题
关系型和非关系型数据库的区别? TODO