那位拿了多个Offer的大佬分享了最新Go面经

和大家分享一下我们 Go就业训练营 和 升职加薪星球 中战友们投稿的真实面经。

这是第一篇,计划还会再更新4篇最新Go面经,都是拿到Offer的那种!

欢迎大家关注我的账号,关注之后不迷路。

先秀战绩

虽然不同的公司考察的侧重点不一样,但是咱们还是可以有针对性做准备。大佬说到:

经过这么多场面试发现:如果面试官对项目感兴趣项目就拷打的比较深(我觉得还比较easy);如果面试官对项目没兴趣就深挖知识点,拷打算法。(墙裂建议大家写好项目介绍!)

b站外包

  1. 旋转数组

  2. mysql索引相关。

  • B+树有什么特点?
  • 为什么不用B树(查询的速度差不多,因为b+树数据都在叶子节点)。
  • 非聚簇索引和聚簇索引的区别。
  • 索引为什么要用id不用字符
  1. Linux相关命令和场景

  2. docker和k8s

上海莹锴网络科技

  1. Kafka怎么保证消息不丢失

  2. Kafka里面生产者给broker应答给生产者的时候网络断了该怎么处理?

  3. 讲一下golang中的并发编程

梭翱信息技术

  1. go语言特性(channel、map考察)

  2. 讲一下waitgroup的使用

  3. 知道模块化缓存吗?

  4. 知道分级缓存吗?

主要是一些缓存的应用场景为主。对于一些技术(redis、mq)的应用场景这部分比较欠缺

矢安科技

  1. 哪些数据结构是线程不安全的

  2. Map为什么是线程不安全的

  3. Channel阻塞可以实现什么场景(计数,令牌桶)

  4. Mysql什么时候是行所什么时候是表锁

  5. Mysql有几种错误读(脏读、幻读等等)

  6. Mysql默认事务隔离级别是什么

  7. 假如有个sql联了多个表还有字查询,改怎么优化

  8. 你平常是怎么优化mysql的

  9. Kafka为什么快?

  10. Kafka怎么实现消息不丢失

  11. Kafka是顺序写还是随机写

  12. Go协程是怎么扩展内存的(找P要)

  13. 讲一下你对docker和k8s的理解

  14. 说一下某种集群的leader选举策略(举例了redis)

  15. Redis中什么是主管下线,什么是客观下线。

  16. 聊一聊你对GRPC的理解。

  17. 为什么gprc传输比JSON快

  • 少了json转为2进制

  • protobuf文件中字段名用后面的数字代替,进一步减少数据量(学到了)

场景题:

  1. 假如有大量定时任务需要在凌晨1点都准时开始执行,你会怎么做

  2. 假如消息发送过多导致大量堆积怎么处理

华苏科技(国家电网外包)

项目拷打(介绍项目+遇到的难题)

  1. 有缓冲channel和无缓冲channel的区别

  2. 了解gin的中间件吗,讲一下你对他的了解

  3. select 满足多个case的时候怎么执行的。

  4. 如果有一个全局变量怎么保证并发安全。

  5. CPU高问题如何解决?

  6. 知道哪些设计模式?

场景题:

我有一个方法,用来存储一些文件资源,有多种不同的存储方式,你会怎么设计这个方法(应该是要考察泛型的使用)

爱可生

面试官说是go开发,但是没有什么技术原理提问。

介绍简历中的项目。

  1. 遇到的项目场景难题。

(他不太想听那种用技术选型方案来解决的常规问题,吹了一下systemtap)

  1. 讲一个技术栈中随便一个技术遇到的难题。

  2. 平时是怎么学习的。

整个面试几乎就没有技术性提问,一直在让我介绍项目,和遇到的问题以及我是怎么解决的,解决的思路是什么。

特斯拉外包笔试

题1

题2

题3

最后一道sql没写出来。但是前两题自测都对

成都美大

项目拷打

  1. 讲一下mysql的索引是什么结构

  2. 讲一下sql一般是怎么优化的

  3. Kafka消息堆积怎么处理

  4. 写一个方法的时候是传值好还是结构体好

场景题:

秒杀超卖怎么解决。(分布式锁+redis缓存)

矢安科技二面

一面的技术leader,没有聊太多的技术话题。主要是一些团队协作沟通上的问题

  1. 假如产品给你一个需求,你觉得不合适,和产品经理有冲突,你会怎么做?

  2. 你平时是怎么学习的?

  3. 假如给你一个活要求某个时间内快速完成,你又没学过,你会怎么做?

试探你是不是愿意加班

七云网络

笔试

三道程序解答题:

题1

问1

先输出哪个?

题2

问2

输出什么?

题3

问3

这段代码有什么问题?

问答题:

  1. TCP和http的关系是什么?

  2. 伪代码描述一下乐观锁

  3. Linux怎么看磁盘占用?

  4. 描述一下GC的过程?

  5. SQL题:写出薪资第二高的薪资

表emp

id int

salary int

算法:

力扣 : 20. 有效的括号(纸上纯手写)

面试

挨个问笔试的问题。。。

口述了两个方法for循环里操作channel之类的,但是他语言组织的我实在没听懂。。。

  1. 假如有一个高并发的场景,我怎么处理(不能借住其他组件,纯go程序)

然后mq问了两个迷一样的问题。

  1. 他提到了Kafka然后问我用的什么MQ,我说Kafka就是一种mq啊。感觉面试官不是很熟悉Kafka

  2. 接着他问我Kafka里的分组是怎么设置的,我以为他问的是消费者分组。结果他说是topic里的。结果他问的分组是Topic分区。。。

这家就别去了。面试流程很不合理,面试官沟通起来比较费劲,也不是很专业。

杉岩数据

项目拷打

其中问了为什么不用普罗米修斯去监控

  1. 假如你用于通知的Kafka挂了怎么办?有没有对Kafka进行监控?

  2. channel的使用场景?

  3. chaneel关闭之后再读和再关闭会发生什么?

  4. map中的数据delete之后内存会回收吗?

  5. GRPC请求和http请求有什么区别

腾娱

四道基础语法题

c := []int{11, 12, 13}
test(c)
log.Info("c=%v", c)
func test(s []int) {
	for i := 0; i < 10; i++ {
		s = append(s, i)
	}
}
  1. c最后是怎么样的?

func main() {
        values := []int{1,2,3,4,5,6,7,8,9}
        for _,v := range values {
                go func(){
                        println(v)
                }()
        }
}
  1. 求输出

func main() {
    wg := sync.WaitGroup{}

    for i := 0; i < 5; i++ {
        go func(wg sync.WaitGroup, i int) {
            wg.Add(1)
            fmt.Printf("i:%d\n", i)
            wg.Done()
        }(wg, i) 
    }
    wg.Wait()
	println("exit")
}
  1. 求输出

func testDefer() (err error) {
	defer func() {
		if err != nil {
			log.Error("defer: %s", err)
		}
	}()
	log.Info("testDefer: %s", "test")
	return handle()
}

func handle()error{
	return fmt.Errorf("normal:test")
}
  1. 求输出

  1. 改造他让他变得有序
func main() {
        values := []int{1,2,3,4,5,6,7,8,9}
        for _,v := range values {
                go func(){
                        println(v)
                }()
        }
}

杉岩二面

项目拷打15分钟

  1. Kafka的消息丢失和消息重复消费。

  2. Kafka和Rabbitmq的区别在哪?(架构、推和拉)

  3. 拉的模式有什么好处(控制消费速度)

  4. 使用分布式锁的过程中应用挂了?

  5. 优雅启停+defer

  6. 使用过期时间+自动续期

  7. 对象存储和文件存储的主要区别是什么?

  8. 分片上传是怎么实现的(文件合并hash一致性校验,引出文件秒传)

  9. 邮箱验证码功能怎么实现的。(redis+邮箱组件)

  10. jwt的格式。加密算法、内容、过期时间

  11. 讲一下defer的原理

  12. 讲一下map的底层结构

  13. map中hash冲突怎么解决(链表、红黑树)

  14. 讲一下go性能调优的案例(pprof,线程日志)

  15. 通过线程日志延伸出,怎么看一个线程在线程日志里是卡在循环还是事件等待?

  16. 线程日志上面会有标记。

  17. 讲一下mysql的事务隔离级别?

  18. 解释一下什么是可重复读?

  19. 事务实现的底层原理?

  20. Redis持久化机制(RDB,AOF)

  21. 为什么持久化的时候是fork子进程处理

  22. 讲一下docker实现容器的基本原理

  23. 用过其他容器运行时吗

  24. K8s有哪些组件?

  25. 你们是用什么control去构建deployment的?(没听懂)

欢迎交流

面经先分享到这里,如果你也有最新Go面经欢迎向我投稿:有偿的哦!

也欢迎你了解一下我们的就业训练营,辅导到你找到工作为止的那种

我们又出成绩啦!大厂Offer集锦!遥遥领先!

这些朋友赢麻了!

这是一个专注程序员升职加薪の知识星球

答疑解惑

需要「简历优化」、「就业辅导」、「职业规划」的朋友可以联系我。

一对一辅导的那种呦!

面试真题共享群

对了,我们准备搞一个金三银四面试真题共享群,互通有无,一起刷题进步,没准能让你能刷到自己意向公司的最新面试题呢。

感兴趣的朋友们可以在社区私信我。

或者加我微信:wangzhongyang1993

关注我的同名公众号:王中阳Go

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/489278.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统服务

文章目录 什么是daemon与服务(service)systemd使用unit分类 通过systemctl管理服务通过systemctl管理单一服务(service unit)通过systemctl查看系统上所有的服务通过systemctl管理不同的操作环境(target unit)通过systemctl分析各服务之间的依赖性与systemd的daemon运行过程相关…

Codeforces Round 930 (Div. 2) --- D. Pinball --- 题解

目录 D. Pinball&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 代码实现&#xff1a; 代码一&#xff1a; 代码二&#xff1a; D. Pinball&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 假设字符串为 >>><<<&#xff0c; 当前位…

程序员35岁会失业吗?【来自主流AI的回答】

程序员35岁会失业吗&#xff1f; 35岁被认为是程序员职业生涯的分水岭&#xff0c;许多程序员开始担忧自己的职业发展是否会受到年龄的限制。有人担心随着年龄的增长&#xff0c;技术更新换代的速度会使得资深程序员难以跟上&#xff1b;而另一些人则认为&#xff0c;丰富的经…

STM32CubeIDE基础学习-USART串口通信实验(轮询方式)

STM32CubeIDE基础学习-USART串口通信实验&#xff08;轮询方式&#xff09; 文章目录 STM32CubeIDE基础学习-USART串口通信实验&#xff08;轮询方式&#xff09;前言第1章 硬件介绍第2章 工程配置2.1 工程外设配置部分2.2 生成工程代码部分 第3章 代码编写3.1 串口发送3.1.1 发…

SqlServer期末复习(数据库原理及应用)持续更新中

一、SQL语句 1.1 SQL语句知识引入 1.DDL语言(数据定义语言&#xff09;主要是进行定义/改变表的结构、数据类型、表之间的链接等操作&#xff0c;关键字CREATE、DROP、ALTER CREATE TABLE 表面( 列名1 数据类型&#xff0c; 列名2 数据类型&#xff0c; ) ALTER TABLE 表名&a…

[计算机效率] 文件查重工具:Vistanita Duplicate Finder

3.6 文件查重工具&#xff1a;Vistanita Duplicate Finder Vistanita Duplicate Finder 是一款强大的文件查重工具&#xff0c;可以帮助用户快速查找并删除重复的文件&#xff0c;节省存储空间并提高文件管理效率。该软件支持多种文件类型&#xff0c;包括图片、文档、音频、视…

el-table 表格中插入表单循环校验

<template><div>{{form}}<el-form :model"form" ref"form"><el-form-item label"呃呃呃呃呃呃呃"><el-table :data"tableData" border><el-table-column prop"time" label"日期"…

cookie、localStorage、sessionStorage 详解

目录 cookie 是什么&#xff1f; cookie 不可以跨域请求 cookie 的属性 会话cookie & 永久性cookie cookie 禁用 cookie 的应用 sessionStorage 是什么&#xff1f; 失效时间 存储内容的类型 存储的大小 存储的位置 sessionStorage 的应用 localStorage 是什么…

Linux内核架构和基础概念

文章目录 前言 一、简述操作系统 二、宏内核和微内核 1.宏内核 2.微内核 3.Linux内核的特点 三&#xff0c;Linux内核架构 1.整体架构图 2.Linux子系统的划分 3.Linux子系统之间的关系 4.Linux内核目录介绍 总结 前言 随着Linux内核在全球市场份额的持续扩大&#xff0c;其影…

使用WebClient发起网络请求

目录 1、导入对应的pom 2、编写WebClientUtil请求工具类 3、使用WebClientUtil发起请求 使用WebClient的优点&#xff1a;支持lambdas 的函数&#xff1b;支持更高的并发性和更少的硬件资源&#xff1b;支持同步和异步&#xff1b;支持流式传输。具体的使用方式如下&#xff1a…

Redis 特性,为什么要用Redis,Redis到底是多线程还是单线程

一、Redis介绍 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的&#xff0c;使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 二、特性(为什么要用Redis&#x…

51单片机入门:定时器与中断系统

定时器的介绍 定时器&#xff1a;51单片机的定时器属于单片机的内部资源&#xff0c;其电路的设计连接和运转均在单片机内部完成。根据单片机内部的时钟或者外部的脉冲信号对寄存器中的数据加1&#xff0c;定时器实质就是加1计数器。因为又可以定时又可以计数&#xff0c;又称…

数据结构——排序之冒泡排序

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

HarmonyOS入门笔记1配置环境

文章目录 下载安装DevEco Studio配置环境先认识DevEco Studio界面工程目录工程级目录模块级目录 app.json5module.json5main_pages.json通知栏预览区 运行模拟器 下载安装DevEco Studio 去官网下载DevEco Studio完了安装 配置环境 打开已安装的DevEco Studio快捷方式进入配置…

Python爬虫:爬虫基本概念、流程及https协议

本文目录&#xff1a; 一、爬虫的基本概念1.为什么要学习爬虫1.1 数据的来源1.2 爬取到的数据用途 2.什么是爬虫3. 爬虫的更多用途 二、爬虫的分类和爬虫的流程1.爬虫的分类2.爬虫的流程3.robots协议 三、爬虫http和https1.http和https的概念2.浏览器发送HTTP请求的过,2.1 http…

【数据结构刷题专题】—— 二分查找

二分查找 二分查找模板题&#xff1a;704. 二分查找 二分查找前提&#xff1a; 有序数组数组中无重复元素 左闭右闭&#xff1a; class Solution { public:int search(vector<int>& nums, int target) {int left 0;int right nums.size() - 1;while (left <…

An Experimental Study of State-of-the-Art Entity Alignment Approaches论文阅读

最先进的实体对齐方法的实验研究综述 Title: An Experimental Study of State-of-the-Art Entity Alignment Approaches 日期: 2022 发表单位: IEEE github: https://github.com/DexterZeng/EAE 原文地址: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber9174835 概括…

启扬RK3568核心板助力智慧步道轻装健身,打造全民健康生活新方式

随着物联网、AI智能等新技术的快速发展&#xff0c;智慧步道成为全国各地公园建设和全民健身公共服务设施改造的新主题。智慧步道基于物联网、人脸识别、大数据分析等技术&#xff0c;对人们的运动进行监测和数据采集&#xff0c;显示运动数据&#xff0c;包括里程统计、热量消…

档案四性检测可复用组件接口说明

nhdeep提供在归档、移交与接收、长期保存等各环节根据需求进行自主配置和调用的可复用组件&#xff0c;支持客户端和接口调用两种功能使用模式。档案四性检测组件为自建档案管理系统和各种业务系统&#xff08;如OA&#xff09;&#xff0c;提供标准化的档案四性检测功能利用&a…

YOLOv5改进系列:主干ConvNeXTV2结构助力涨点

一、论文理论 论文地址&#xff1a;ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders 1.理论思想 ConvNeXt V2 在 ConvNeXt 的基础上增加了两个创新点&#xff08;一个 framework 和一个 technique&#xff09;&#xff1a;全卷积掩码自编码器&…