【第五期】游服务器一二三面 秋招 米哈游

### 一面 下午2点,35分钟 - golang内存模型 - golang并发模型 - golang gc原理 过程 - channel用途,原理 - redis数据结构,底层实现 - 跳跃表查询插入复杂度 - 进程,线程,协程 - kill原理 - 除了kill -9还知道什么信号 - 父进程调用fork后,不调用waitpid会怎怎样 - 僵尸进程 - 线程间同步方式 - 锁有哪些类型 - 口述topk - 建堆过程 总体来说1面很常规,感...阅读全文

Go语言中文网 2022-01-29 11:29:25 itmrtan

【第四期】字节跳动一面 golang

> 欢迎加入[GOLANG ROADMAP](https://www.golangroadmap.com/),一个年轻的Go开发者社区。本篇面经中的面试题已收录到社区企业题库版块。 ### 一、golang - 1、什么是内存逃逸,在什么情况下发生,原理是什么? - 2、函数传指针和传值有什么区别? - 3、new和make有什么区别? - 4、了解golang的GC吗? - 5、了解GMP模型吗,介绍一下? - 6、channel了解吗,chan...阅读全文

Go语言中文网 2022-01-28 12:49:00 itmrtan

【第三期】分享一篇B站后端面经 哔哩哔哩

> 欢迎加入GOLANG ROADMAP,一个年轻的Go开发者社区。本篇面经中的面试题已收录到社区企业题库版块。 ### 一面 - 项目介绍 - go的gmp - cpu特别高如何定位 - mysql引擎 - 复合索引生效问题 - sql执行慢的原因?如何看是什么问题? - rediszset实现 - 一致性hash - rpc了解吗? - tcp,udp区别 - 操作系统:线程与进程,死锁条件预防等?不要求写银行家算法,提下就行点到为...阅读全文

Go语言中文网 2022-01-27 11:20:15 itmrtan

【第二期】2022秋招区块链开发工程师技术面面经 腾讯

> 欢迎加入[GOLANG ROADMAP](https://www.golangroadmap.com),一个年轻的Go开发者社区,目前是邀请注册制,邀请码:Go语言中文网。本篇面经中的面试题已收录到社区企业题库版块。 ### 腾讯CDG 腾讯区块链 #### 一面 - 深挖项目20min - 以太坊中有哪些树(交易树、收据树、状态树) - 为什么需要收据树(将交易执行过程中的一些特定信息编码为交易收据,方便对交易进行零知识证明、索引和搜索) - 以太坊里的状态是什么,...阅读全文

Go语言中文网 2022-01-26 21:26:17 itmrtan

用Golang做一个永久阻塞,你有哪些小技巧

**文章来自-微信公众号:[Go语言圈](https://mp.weixin.qq.com/s/4Nw07wG_wkN8osKeEJNsKw "Go语言圈")**   Go 的运行时的当前设计,假定程序员自己负责检测何时终止一个 `goroutine` 以及何时终止该程序。可以通过调用 `os.Exit` 或从 `main()` 函数的返回来以正常方式终止程序。而有时候我们需要的是使程序阻塞在这一行。   #### 使用 sync.WaitGroup ...阅读全文

Go语言中文网 2022-01-26 10:30:22 goCenter

【第一期】2022秋招区块链开发工程师技术面面经 欧科云链

> 欢迎加入[GOLANG ROADMAP](https://www.golangroadmap.com),一个年轻的Go开发者社区,目前是邀请注册制,邀请码:Go语言中文网。本篇面经中的面试题已收录到社区企业题库版块。 ### 欧科云链(OKEx) 区块链工程院 (面后感受:OKEx问的区块链的底层不多,大多是Golang开发的底层) #### 一面 - 进程、线程、Goroutine的比较 - GMP模型 - Golang Map底层 - 如何实现Map的有序查...阅读全文

Go语言中文网 2022-01-25 21:24:11 itmrtan

顶级好用的 5 款 Vue table 表格组件测评与推荐

![顶级好用的 5 款 Vue table 表格组件测评与推荐](https://kalacloud.com/static/36ddd91d138f72f12b5cf5a3241e3f0e/ef245/head.jpg) 本文首发:《[顶级好用的 5 款 Vue table 表格组件测评与推荐 - 卡拉云](https://kalacloud.com/blog/best-vue-data-table-grid/)》 Vue table 表格组件作为绝大多数项目需要内嵌的组件,可谓十分...阅读全文

Go语言中文网 2022-01-24 23:38:27 HiJiangChuan

最好用的 7 款 Vue admin 后台管理系统测评

![最好用的 7 款 Vue admin 后台管理系统测评](https://kalacloud.com/static/abaf23cb70bfddc463dc2ba4a4207a6c/ef245/head.jpg) 本文首发:《[最好用的 7 款 Vue admin 后台管理系统测评 - 卡拉云](https://kalacloud.com/blog/best-vue-js-admin-dashboard/)》 Vue admin 后台管理系统作为每个项目必备的管理后台,对大家来说...阅读全文

Go语言中文网 2022-01-24 23:22:00 HiJiangChuan

用Go语言实现一个简单生产者消费者模型,你是如何实现的

**文章来自 -- 微信公众号:[Go 语言圈](https://mp.weixin.qq.com/s/4Nw07wG_wkN8osKeEJNsKw "Go 语言圈")**   #### 一、生产者消费者模型 生产者消费者模型:某个模块(函数等〉负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、协程、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 单单抽象出生产者和消费者,还够不上是生产者消费者模...阅读全文

Go语言中文网 2022-01-24 14:46:08 goCenter

记一次使用time.Duration类型踩过的坑

原文链接:https://mp.weixin.qq.com/s/v6WP1LJGEDt23_lmyLXK1w 大家好,我是「Go学堂」的渔夫子。今天跟大家聊聊time. Duration类型及其使用。为什么要讲这个呢,是因为最近在写代码时踩到了一个坑,为了避免大家在今后也踩同样的坑,就跟大家聊聊该类型的使用。 **01 踩到的坑** 先来说说在项目中踩到的使用time.Duration类型的坑。我们的背景是要做一个延时任务。延时任务就是指将一个任务延迟到一定的时间后再执行,...阅读全文

Go语言中文网 2022-01-24 09:09:02 yudotyang

Go语言原子操作及互斥锁,有什么区别呢?

**文章来自微信公众号:[Go语言圈](https://mp.weixin.qq.com/s/cIs9kH-H50mq3sB7S7Kt8g "Go语言圈")**   原子操作就是不可中断的操作,外界是看不到原子操作的中间状态,要么看到原子操作已经完成,要么看到原子操作已经结束。在某个值的原子操作执行的过程中,CPU绝对不会再去执行其他针对该值的操作,那么其他操作也是原子操作。 Go语言中提供的原子操作都是非侵入式的,在标准库代码包`sync/atomic`中提供了...阅读全文

Go语言中文网 2022-01-23 22:17:14 goCenter

Go语言 如何配制 高性能sql.DB

**文章来自微信公众号:Go语言圈**   有很多教程是关于Go的`sql.DB`类型和如何使用它来执行SQL数据库查询的。但大多数内容都没有讲述`SetMaxOpenConns()`, `SetMaxIdleConns()` 和 `SetConnMaxLifetime()`方法, 您可以使用它们来配置`sql.DB`的行为并改变其性能。 在本文我将详细解释这些设置的作用,并说明它们所能产生的(积极和消极)影响。   **开放和空闲连接** 一...阅读全文

Go语言中文网 2022-01-23 22:11:27 goCenter

Go 语言空结构体详解

>你必须非常努力,才能看起来毫不费力! > >微信搜索公众号[ 漫漫Coding路 ],一起From Zero To Hero ! ## 前言 在使用 Go 语言开发过程中,我们不免会定义结构体,但是我们定义的结构体都是有字段的,基本不会定义不包含字段的 空结构体。你可能会反过来问,没有字段的空结构体有什么用呢?那么我们这篇文章就来研究下空结构体吧! > 注:本文基于go 1.14.4 分析 ## 什么是空结构体 我们说不包含任何字段的结...阅读全文

Go语言中文网 2022-01-22 17:03:27 lifelmy_

最好用的 7 款 Vue 3 富文本编辑器

![最好用的 7 款 Vue 3 富文本编辑器](https://kalacloud.com/static/6b7f095d90880463f7dc5d2bf5f464a4/ef245/head.jpg) 本文首发:[最好用的 7 款 Vue 3 富文本编辑器 - 卡拉云](https://kalacloud.com/blog/vue-richtext-editor/) 富文本编辑器作为直接与用户交互的内容输入生产工具,对大家的项目来说非常重要。选不好,配置不好,直接影响产品质感和用...阅读全文

Go语言中文网 2022-01-22 01:02:04 HiJiangChuan

Go语言中 defer 使用场景及注意事项,你是要注意的!

**文章来自微信公众号:[Go语言圈](https://mp.weixin.qq.com/s/rt9nzMaXwTLJfMWUuy_Meg "Go语言圈")**   #### 1 简介 defer会在当前函数返回前执行传入的函数,它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源。 理解这句话主要在三个方面: - 当前函数 - 返回前执行,当然函数可能没有返回值 - 传入的函数,即 `defer` 关键值后面跟的是一个函数,包括普通函数如(`fmt....阅读全文

Go语言中文网 2022-01-21 14:56:02 goCenter

Go语言&&Redis实现分布式锁,妥妥的!

文章来自:Go语言圈   #### 为什么需要分布式锁 1 因为用户下单,需要锁住 uid,防止用户重复下单。 2 用在库存扣减上,锁住库存,可以防止库存超卖。 3 用在余额扣减场景,锁住账户,防止并发操作。 分布式系统中共享同一个资源时,就需要分布式锁来确保变更资源的一致性。这就是为什么要用到分布式锁的原因咯。   #### 分布式锁需要具备特性 1 排他性 这个是锁的基本特性,并且只能被第一个持有者拥有。这个不用解释都明白 ...阅读全文

Go语言中文网 2022-01-21 12:21:45 goCenter

是的没错,我就是抄的。一个像 Laravel 那样好用的 go语言的 SQL 查询构造器

# Goal/QueryBuilder Goal 的数据库查询构造器为创建和运行数据库查询提供了一个方便的接口。它可以用于支持大部分数据库操作,并与 Goal 支持的所有数据库系统完美运行。并且大量参考了 `Laravel` 的查询构造器设计,你几乎可以在这个库找到所有与 `Laravel` 对应的方法。 Goal 的查询构造器实现了类似 PDO 参数绑定的形式,来保护您的应用程序免受 SQL 注入攻击。因此不必清理因参数绑定而传入的字符串。查询构造器会返回你想要的 SQL 语句以及绑定...阅读全文

Go语言中文网 2022-01-20 23:36:47 qbhy

Go 实现 虚拟文件 (内存文件)、缓冲区(可移动读写位置 Seek)

##### `MentoryFile` 实现了一个内存文件,其行为基本与 `os.File` 相同 ##### `ByteBuffer` 实现了一个可移动读写位置、自动扩容的字节缓冲区,其行为基本与 `bytes.Buffer` 相同 ``` type MentoryFile struct { name string buffer ByteBuffer } func (mf *MentoryFile) Bytes() []byte { return mf...阅读全文

Go语言中文网 2022-01-20 23:04:36 XChuang