如何用 35 个高效问题快速识别 Golang 开发者的技术素养? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
elron
V2EX    Go 编程语言

如何用 35 个高效问题快速识别 Golang 开发者的技术素养?

  •  
  •   elron 2 天前 3057 次点击

    最近在帮公司上海团队招聘 Golang 后端开发。一天要面试很多个候选人,时间有限,希望能在 10 分钟左右的面试中,通过少量但高质量的问题,快速判断候选人的技术深度和广度。

    尽量覆盖核心语言特性、数据库使用能力,以及真实项目实践等方面。

    大家有没有行之有效的提问思路或具体问题示例?求分享经验。

    第 1 条附言    2 天前
    招聘的是初中级,大概 20-30k 的水平
    43 条回复    2025-11-18 17:14:53 +08:00
    xuanbg
        1
    xuanbg  
       2 天前
    如果你局限于 Golang ,那我认为你无法识别开发者的真正的技术素养。
    elron
        2
    elron  
    OP
       2 天前
    @xuanbg 我没说局限于 golang 啊
    wlf92
        3
    wlf92  
       2 天前
    Go 协程,其他语言的协程,线程,进程分别是什么,说一下他们的试用场景。
    zoharSoul
        4
    zoharSoul  
       2 天前
    问问之前有没有写过 php
    elron
        5
    elron  
    OP
       2 天前
    @zoharSoul 还真有不少是从 php 转 go 的
    BeautifulSoap
        6
    BeautifulSoap  
       2 天前 via Android
    @elron 虽然是段子,但 php 转的真挺多认为 array 和 map 是一种东西。问一下 array 底层和 map 底层结构的区别真没准能有一点筛选能力(能搞得清 array 和 slice 我都认为属于进阶技能了)
    zhaohua
        7
    zhaohua  
       2 天前
    @wlf92 作为 go,nodejs ,java ,php 啥都写的开发者,我觉得是个非常好的问题。
    whoosy
        8
    whoosy  
       2 天前   1
    1.GO 的并发模型演变过程及内存管理
    2.浏览器输入 pornhub.com 后,发生了什么?
    3.死锁的形成原因及处理方案
    4.如果让你针对某个接口设计反爬方案,你会怎么设计
    5.你们的后端项目的数据库索引做了哪些优化
    6.进程间同步的方式有哪些
    7.觉得项目有哪些地方可以改进完善?
    8.进程切换的本质是什么?
    9.限制用户评论过去一个小时内只能评论三次,用 redis 实现?

    随便挑几个问题问吧
    ca2oh4
        9
    ca2oh4  
       2 天前
    - slice 和 array 的区别

    - sync.Map 为什么快

    - 有没有使过其他语言?其他语言和 go 怎么交互的?
    dreampuf
        10
    dreampuf  
       2 天前
    Goroutine vs. threads
    buffered channel vs. unbuffered channel
    empty interface
    实现一个支持 ratelimits 的 URL fetcher
    GMP
    5261
        11
    5261  
       2 天前
    @whoosy 初中级要求懂这么多就过分了, 能干活就行! 就算是高级的开发都未必全懂
    whoosy
        12
    whoosy  
       2 天前
    @5261 不会吧?这些问题我觉得中级完全能覆盖的了吧,可能我是个专业的面试选手
    94
        13
    94  
       2 天前
    @5261 #11 ,很多都是八股文,直接背就是了。
    至于都要出来面试了,但八股文都不愿意花点时间背,态度很明显就是有问题的,被刷掉也很正常。
    一些其他的实践上面的问题,面试官自己心里有数,他需要的是怎么样程度的回答。
    leeonsoft
        14
    leeonsoft  
       1 天前
    你找的是普通的开发者还是高手,如果是高手,协程泄露 和 GC 抖动,内存逃逸,select 阻塞,interface 这几个问题能说清楚,我估计就差不多了。
    whoosy
        15
    whoosy  
       1 天前
    @94 是的,这些个问题八股文基本都有,对于我们这些八股文选手,真的是属于很基本问题。
    slzcz
        16
    slzcz  
       1 天前
    Context ,平常用什么开源包,平时泛型用的多不多
    aichixiangcai
        17
    aichixiangcai  
       1 天前   3
    候选人抱怨面试全都是八股文,面试官又觉得连八股文都不背是态度有问题。
    NotLongNil
        18
    NotLongNil  
       1 天前
    语言核心:给一个使用锁的并发场景,让他不使用锁达到同样的效果( channel 代替 Mutex )

    数据库:一个表最多能存多少行数据、怎样进行深度分页、事务

    真实项目:怎样控制一个 go 程序的内存最多使用 1g 、一个 go 程序总是被杀死,可能是什么原因导致的
    craftsmanship
        19
    craftsmanship  
       1 天前 via Android
    @aichixiangcai 都在说 AI 时代背八股和刷算法过时了 然而在这里依然有含金量
    kekeabab
        20
    kekeabab  
       1 天前
    我觉得如果有技术素养根本不会局限于对着数据库 crud 更不会在意八股文

    不过按照实际情况来看,能分清堆分配和栈分配、能分清系统调用、能明白指针的都是极少数,今年成立了公司,我自己去收简历招人,高强度面试了百来个,能分清这些的远不到十分之一,包括不少什么拿了一堆奖、什么专业排名前多少、还有不少名校的
    AutumnVerse
        21
    AutumnVerse  
       1 天前 via iPhone
    @whoosy 哥要不再来几个,你这些感觉非常合适
    crackidz
        22
    crackidz  
       1 天前
    10 分钟怎么都挺不够的...
    考经验、考思路、考素养,这么少的数量不够的
    raycake
        23
    raycake  
       1 天前
    @xuanbg 一个人抓不住重点的人,就会自说其话
    yh7gdiaYW
        24
    yh7gdiaYW  
       1 天前
    Q&A 类的问题都考察不出来,太容易准备了,直接上业务场景吧
    yh7gdiaYW
        25
    yh7gdiaYW  
       1 天前
    @NotLongNil 因为面试是有结构要求的,八股和项目相关的问答属于两个模块。如果八股太不上心了,项目经验那边聊的挺好这面评也不好写
    yh7gdiaYW
        26
    yh7gdiaYW  
       1 天前
    @错人了... @aichixiangcai
    elechi
        27
    elechi  
       1 天前
    哪些数据类型底层是指针?
    zhoujx
        28
    zhoujx  
       1 天前
    其实最终都是落在有没有快速高质量解决问题的能力。
    yufeng0681
        29
    yufeng0681  
       1 天前
    让他讲 3 个项目中遇到的问题,怎么解决的。 讲完再问 7 个问题, 看看他实战项目的能力。一般重大问题,脑海是深刻的,思路是清晰的。
    eudore
        30
    eudore  
       1 天前
    1 看看 github 、stackoverflow 账号,不一定要进去看。
    2 看过哪些标准库的源码? 然后挑上一两个说说原理、细节、坑。

    涉及 runtime 、refelct 、sync 、net 、fmt 时就不同程度与核心特性相关联,go 数据库基本离不开标准库的 database/sql 库接口,在一些深度实践过程中可能会翻过部分开源项目的代码。

    就是这个问题可能对初级不友好,高级会游刃有余,虽然能体现出技术素养,但是一般也要不到。
    SingeeKing
        31
    SingeeKing  
    PRO
       1 天前
    我特别喜欢问对比类问题,纯 go 的候选人其实不多,往往也有 python/java/js/rust 的背景,我就喜欢问差一点,特别是协程调度模型
    dimwoodxi27
        32
    dimwoodxi27  
       1 天前
    为什么不直接问,如何让面试者死记硬背,来体现他的水平?实在不行去招个历史或考古专业的人来评估技术水平
    wogogoing
        33
    wogogoing  
    PRO
       1 天前
    @whoosy 都是些好问题,就是给的域名有点离谱了。哈哈
    wsseo
        34
    wsseo  
       1 天前
    问他会不会用 AI 写 golang 项目,不会就是水平不行。面试也要跟上时代。
    94
        35
    94  
       1 天前
    @dimwoodxi27 #32 ,简单来说是一个态度问题,看面试者是否有给面试做准备工作。虽然看的是准备面试题,但其实是看他对于一些相对重要的事情的时候是否会做准备工作。

    而且因为是面试初中级开发,所以八股文面试题是必不可少的,一个确实没有很快捷的方法来筛选初级候选者。毕竟经验还没有积累,能考察的就是是否会自我提升和解决问题的能力,以及技术栈的熟悉程度。有时间的话我会按照对方简历中的经历去提一些实践中的问题,去观察面试者是否有自己的体系和框架。但是又因为对方可能没有那么多的经验,或者没有自己的一套解决问题的方法论。但是这样并不能考察候选者的理论知识,所以八股文还是会有一两题。那么不管如何“背八股文”对于初中级开发来说是最简单且实用的操作。

    简单粗暴的暴论化就可以理解为是态度问题。想要表达的就是 1.最开始提到的“不重视”面试; 2.是觉得不需要通过背题来证明自己这种的“傲慢”。
    那不背题也可以,就需要你自己有足够的见解,换句话说就是可以不准备也能从容应对面试。背题只是说让候选者有更多的机会表现自己。
    willchen
        36
    willchen  
       23 小时 15 分钟前
    感觉没必要局限语言技巧。。。不是默认 2 周都能学会一门语言的嘛
    dimwoodxi27
        37
    dimwoodxi27  
       19 小时 37 分钟前
    @94 10 分钟你行你给解决方案,10 分钟你能背完八股文吗?别人都明确说明 10 分钟评估你的水平,你还能说出来态度问题?贱骨头吗?地主施舍给你 10 分钟来让你表演,适不适合当奴才。
    777777
        38
    777777  
       19 小时 25 分钟前
    针对 golang ,主要就是高并发场景,考察 goroutine 相关就行,如何理解 io 与内存,cpu ,极致压榨性能节约服务器成本,还有就是考察是否有其他语言遗留的思想味道(例如 java
    94
        39
    94  
       19 小时 15 分钟前
    @dimwoodxi27 #37 ,背八股文并不是要你全文背诵,而是在职业生涯初期靠刷题,快速积累原本不属于自己的经验。就和很多人会去刷力扣的一样。
    而且面试的时候也不是让你全部原模原样背下来,而是花三十秒一分钟回答出来关键的点就行了。主要目的是观察作答时的表现,针对性的去提问来发掘候选者不足或者没有显示出来的实力。

    如果你还没有理解到这些的话,其实没有什么好聊的,当我白花了时间给你解释。我想你也不愿意遇到或者成为那种走形式、做任务的面试官。
    elron
        40
    elron  
    OP
       19 小时 7 分钟前
    @dimwoodxi27 #32 真心求教,那如何快速从有限时间内快速匹配出合适的初中级候选人呢?至少前面几位朋友提供的高质量问题确实能过滤不少死记硬背的候选人
    dimwoodxi27
        41
    dimwoodxi27  
       18 小时 24 分钟前
    @94 比如我花费一小时的路程来你公司面试十分钟?我真是下贱用两小时来换你那宝贵的十分钟,是不是面完还得叫你一声大老爷,免得你说我态度有十分傲慢?再说我有强迫要求你来给我说教你的地主暴论观点了吗?
    94
        42
    94  
       18 小时 8 分钟前
    @dimwoodxi27 #41 ,我觉得已经不用过多解释了,你的傲慢已经溢出屏幕了。
    没有人求着你去面试,不愿意面试可以不来。不准备面试也可以面试,没有人按着你的头去让你背题,但是机会是给有准备的人的。
    dimwoodxi27
        43
    dimwoodxi27  
       17 小时 45 分钟前
    @94 不用再继续诉说着你的暴论,我没说我需要面试我需要背题,同时又没让你解释什么吧?为什么要自作多情?字面意思理解这么困吗?是不是你还要说机会是给有准备的人的,不工作的人都是有罪的?要不要重塑一下自己的脑回路?傲慢?真可笑。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5710 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:00 PVG 11:00 LAX 19:00 JFK 22:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86