golang面试

Golang 面试资料

序言

整理golang基础知识及linux、后端开发相关面试资料。

声明:未经许可,禁止原文转载。

目录

golang


数据类型
  • string
  • slice

reslice

内存分配

分配器

图解内存管理

内存管理分析

变量分配到哪里

内存逃逸

调度器
  • goroutine

  • https://mp.weixin.qq.com/s/rfjysi-LB-uFiGiZjh-XNw

    goroutine 泄露

  • G-P-M 模型
    gmp

调度

  • 垃圾回收

白话Go的垃圾回收原理、三色标记法

漫画

golang逃逸分析、堆栈

在程序中,每个函数块都会有自己的内存区域用来存自己的局部变量(内存占用少)、返回地址、返回值之类的数据,这一块内存区域有特定的结构和寻址方式,大小在编译时已经确定,寻址起来也十分迅速,开销很少。这一块内存地址称为栈。栈是线程级别的,大小在创建的时候已经确定,所以当数据太大的时候,就会发生"stack overflow"。

在程序中,全局变量、内存占用大的局部变量、发生了逃逸的局部变量存在的地方就是堆,这一块内存没有特定的结构,也没有固定的大小,可以根据需要进行调整。简单来说,有大量数据要存的时候,就存在堆里面。堆是进程级别的。当一个变量需要分配在堆上的时候,开销会比较大,对于go这种带GC的语言来说,也会增加gc压力,同时也容易造成内存碎片。

并发模型
单元测试

详解

手把手教你如何进行 Golang 单元测试

压测

误区与实践

开源库

go-zero

go-zero追踪

jupiter

别人代码学习golang

分布式事务(dtm)

会话控制

解读Zap的高性能

micro
(一):入门 https://medium.com/@dche423/micro-in-action-getting-start-cn-99c870e078f 

(二):项目结构与启动过程 https://medium.com/@dche423/micro-in-action-part2-cn-9bbc33d356eb 

(三):调用服务 https://medium.com/@dche423/micro-in-action-call-service-cn-5ac679194636 

(四):Pub/Sub https://medium.com/@dche423/micro-in-action-pub-sub-cn-ce010bffe1c 

(五):Message Broker https://medium.com/@dche423/micro-in-action-5-message-broker-d975c2f28a55 

(六):服务发现 https://medium.com/@dche423/micro-in-action-6-service-discovery-cn-c13c3e3829d 

(七):熔断与限流 https://medium.com/@dche423/micro-in-action-7-cn-ce75d5847ef4 

(尾声): 分布式计划任务 https://medium.com/@dche423/micro-in-action-9-cron-job-dabec09058e1

规范

uber代码规范

go-advice

代码结构

浅谈如何组织Go代码结构

编程模式

热重启

性能优化

高阶调试技巧

pprof

Profiling 在微服务应用下的落地实践

Go 应用优化指北


linux

操作系统

内核图解

基础概念

如何写出让CPU跑的更快的代码

读取文件发生了什么

CLOSE WAIT

epoll

负载均衡

eBPF

深入理解netfilter框架

深入理解Linux IO模型

同步?异步?阻塞?非阻塞?多路复用?

nginx

入门知识

日志配置

高可用


网络知识++++

2w字精华++++

基础知识

详解网络基础知识

字节实践

网络协议面试

TLS

TLS/SSL

文件上传

文件断点续传

常见网络编程面试题

面试题集锦

SSH

TCP

必备知识点

三次握手

23个问题

问题排查1

粘包处理

keep-alive keepalive

IO多路复用

IO多路复用2

最大并发数

HTTP

http.client 源码剖析

缓存机制

谈谈Http

一个故事看懂HTTPS

Grpc

超时传递原理

gRPC 基础概念详解

Websocket

websocket


数据库

基础知识

索引

分库分表

24个面试题

拓展字段设计

redis++++

史上最全+++++

内存模型

Redis 竟然浪费了这么多内存

优化

开发规范

主从服务机制

redis cluster原理

Redis缓存雪崩

客户端缓存

缓存更新

数据同步

为什么这么快

为什么这么快2

集群搭建总结

缓存设计的好,服务基本不会倒

面试题1

mongo

B/B+树

原子性

技术从0到1

文件存储

优化指南

优化指南2

Mysql++++

24个必问++++

优化原理剖析

SQL 查询并不是从 SELECT 开始的

mysql技术内幕笔记

mysql面试题


消息队列

Kafka

面试角度学Kafka

rabbitmq

延时队列

复习精讲

消息投递

消息队列选型分析

设计难题

写个消息中间件

面试连环问

解决消息队列的数据积压问题

消息队列背后的设计思想


ElasticSearch

入门

入门2

原来 Elasticsearch 还可以这么理解

常见错误及最佳实践

优化实战

优化实战2


prometheus

深入理解prometheus


微服务

api 设计

为什么我使用 GraphQL 而放弃 REST API

Spring GraphQL

OAuth

OAuth2

第三方账号登陆


数据结构

红黑树

红黑树图解

跳跃表


高可用

高性能

熔断

面试1


算法

链表题

限流

限流2

raft

图解raft

约瑟夫环

雪花算法

一文搞懂一致性hash的原理和实现


加密

常见加密算法


设计模式

go设计模式代码实现

go设计模式

图解9种常见设计模式

23 种设计模式的通俗解释,虽然有点污,但是秒懂

图文详解 23 种设计模式

通俗解释

mybatis中的9种


代码质量

如何提高代码的可读性


学习之路

  • Go:https://github.com/Alikhll/golang-developer-roadmap
  • React:https://github.com/adam-golab/react-developer-roadmap
  • Rust Web:https://github.com/anshulrgoyal/rust-web-developer-roadmap
  • ASP.NET:https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
  • Java:https://github.com/s4kibs4mi/java-developer-roadmap
  • Flutter:https://github.com/DroidsOnRoids/flutter-roadmap
  • NLP:https://github.com/graykode/nlp-roadmap

一致性

一致性哈希

面试1


乐观锁与悲观锁

锁的应用场景


模型

常见登录鉴权

权限设计

分布式session

多租户

腾讯网关

依赖注入

连接池

链路追踪

GraphQL

数据中台

推荐系统

稳定性规范

优雅向前兼容

微服务架构中10个常用的设计模式


kubernetes++++

原理++++

入门

Kubernetes如果是个水族馆!

Kubernetes原理

对象

14个Kubernetes必备基础

干货文章100

pod 入门指南

pod创建

大白话告诉你到底用不用学习这该死的Kubernetes容器化

部署debug

[Envoy VS Traefik

4 种常用的 Kubernetes 容器

Envoy 几种负责均衡算法

最佳实践

最简单的 K8S 部署文件编写姿势,没有之一!

入门实战

50个面试问题

CI/CD

工具

Istio

简介


运维

CI/CD

Devops

72 个网络应用安全实操要点,全方位保护你的 Web 应用

监控

监控告警

监控体系

监控工具

prometheus微服务监控


面试题

简历与项目介绍

面试1

面试2

面试3

golang 50问

3.Es知道吗简单说了原理

4.Tcp和udp的区别

5.Https

6.http 1.0 1.1 2.0区别

7.Rpc和http

9.Linux一般怎么排查问题

10.Top netstat tcpdump strace

11.Redis主从同步过程

12.Redis每个数据类型的数据结构

13.Rdb aof

14数据库b+树结构

15最左匹配原则

16慢查询怎么排查Explain

17,又是LC53最大子序和

18多线程用过吗写了三个线程实现同步的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值