字节飞书后端golang二面
1.自我介绍
2.问实习经历做了什么,其中说到给公司项目加redis缓存,故追问缓存的逻辑,如何保证数据库和缓存双写一致性,如何避免缓存击穿缓存雪崩问题?答使用锁机制,开启协程访问数据库前先加锁,加锁失败则直接返回,保证同一时刻只有一个协程在更新缓存。追问:有没有考虑过如果在协程中发生panic导致锁未释放的情况,该怎么解决?答:在协程中获取锁之后用defer开启一个func(),用recover()捕获panic然后再自己释放锁(也不知道对不对....)
实习经历扯了大概18分钟...
开始问八股
3.有了解golang的GC原理吗?(简单讲了下三色标记法的过程)
4.什么是根对象呢?golang垃圾回收机制中怎么判断一个对象是不是根对象呢?(第一次听到这种问题,被薄纱)
5.golang触发GC的时候,在GC期间产生的垃圾、需要回收的对象怎么处理?(具体的真忘了,只记得有个什么混合写屏障机制,但具体的过程忘了....寄)
6.go的map可以并发读写吗?
7.有了解什么机制或者工具可以检测自己是否存在map的并发读写情况吗?(无....)
PS:GPT回答:
go vet是Go语言自带的一个静态代码分析工具,用于检测代码中的常见错误和潜在问题。它可以检查代码中的并发问题、类型错误、未使用的变量、不必要的代码和其他一些常见错误。
使用go vet工具非常简单,只需在命令行中运行以下命令:
go vet <package>
其中, <package> 是要进行静态分析的代码包的路径。go vet将会分析该代码包中的所有Go源文件,并输出检测到的问题。
8.进程和线程的区别有了解过吗?
9.不同线程除了可以共享他们所属的进程的内存资源外,还有哪些可以共享的吗?(第一次遇到这种)
后来提示分别问文件系统、socket、栈空间堆空间是共享的还是独立的,问麻了......
10.算法题 乱序数组排序
一个升序数组,每个元素偏离原来位置的距离不超过k,先给定一个打乱后的乱序数组,求原升序数组。
总共55min,面试官水平很高,很多问题以前从没遇到过也没想过,又一次被拷打
2.问实习经历做了什么,其中说到给公司项目加redis缓存,故追问缓存的逻辑,如何保证数据库和缓存双写一致性,如何避免缓存击穿缓存雪崩问题?答使用锁机制,开启协程访问数据库前先加锁,加锁失败则直接返回,保证同一时刻只有一个协程在更新缓存。追问:有没有考虑过如果在协程中发生panic导致锁未释放的情况,该怎么解决?答:在协程中获取锁之后用defer开启一个func(),用recover()捕获panic然后再自己释放锁(也不知道对不对....)
实习经历扯了大概18分钟...
开始问八股
3.有了解golang的GC原理吗?(简单讲了下三色标记法的过程)
4.什么是根对象呢?golang垃圾回收机制中怎么判断一个对象是不是根对象呢?(第一次听到这种问题,被薄纱)
5.golang触发GC的时候,在GC期间产生的垃圾、需要回收的对象怎么处理?(具体的真忘了,只记得有个什么混合写屏障机制,但具体的过程忘了....寄)
6.go的map可以并发读写吗?
7.有了解什么机制或者工具可以检测自己是否存在map的并发读写情况吗?(无....)
PS:GPT回答:
go vet是Go语言自带的一个静态代码分析工具,用于检测代码中的常见错误和潜在问题。它可以检查代码中的并发问题、类型错误、未使用的变量、不必要的代码和其他一些常见错误。
使用go vet工具非常简单,只需在命令行中运行以下命令:
go vet <package>
其中, <package> 是要进行静态分析的代码包的路径。go vet将会分析该代码包中的所有Go源文件,并输出检测到的问题。
8.进程和线程的区别有了解过吗?
9.不同线程除了可以共享他们所属的进程的内存资源外,还有哪些可以共享的吗?(第一次遇到这种)
后来提示分别问文件系统、socket、栈空间堆空间是共享的还是独立的,问麻了......
10.算法题 乱序数组排序
一个升序数组,每个元素偏离原来位置的距离不超过k,先给定一个打乱后的乱序数组,求原升序数组。
总共55min,面试官水平很高,很多问题以前从没遇到过也没想过,又一次被拷打
全部评论
校友投的字节哪里啊,我简历秒挂😭
如果出现map并发读写会抛出来fatal error的,已经没有检测的必要的,这里感觉他想问你pprof
大佬最近咋样啊,想安全转go了,大三刚开始沉淀一年够吗
m
有后续吗,我二面也被拷打了
太强了
相关推荐
点赞 评论 收藏
分享
01-21 04:38
中国矿业大学 大数据开发工程师 点赞 评论 收藏
分享
哇哇的菜鸡oc:1.为什么要写这么多内容呀
2.什么叫做简历
3.什么样的内容可以写到简历上
4.项目可以包装,但是要有理有据呀,不能乱包装呀,比如
跨境能达到日均120万订单的在国内都是能叫的上名字的,而且这些工作也基本上不太会交给一个实习生去做
建议友友可以去网上或者找同学的简历看看,他们的简历是怎么写的,去找找上面的那四个问题的答案吧,然后要记住的是Java是服务于业务的,而不是服务于微服务或者技术的 点赞 评论 收藏
分享
查看8道真题和解析 点赞 评论 收藏
分享
OPPO公司福利 1176人发布
