字节飞书后端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,面试官水平很高,很多问题以前从没遇到过也没想过,又一次被拷打
全部评论
校友投的字节哪里啊,我简历秒挂😭
3 回复 分享
发布于 2023-08-25 11:12 广东
如果出现map并发读写会抛出来fatal error的,已经没有检测的必要的,这里感觉他想问你pprof
2 回复 分享
发布于 2023-08-24 15:35 浙江
大佬最近咋样啊,想安全转go了,大三刚开始沉淀一年够吗
点赞 回复 分享
发布于 2024-10-17 00:29 福建
m
点赞 回复 分享
发布于 2023-09-01 19:33 四川
有后续吗,我二面也被拷打了
点赞 回复 分享
发布于 2023-08-24 19:00 北京
太强了
点赞 回复 分享
发布于 2023-08-24 08:50 浙江

相关推荐

1.我们常说Java可以实现跨平台,这个平台指的是是什么2.Java如何实现跨平台的?3.怎么理解多态:4.person和father类,都有eat方法。person&nbsp;p&nbsp;=&nbsp;&nbsp;new&nbsp;father();p.eat()是调用的子类的eat还是父类的eat方法?5.父类没有只有子类有,此时调用时什么结果?6.为什么要有包装类?7.说说对线程安全的理解8.说一下并发和并行的理解9.知道什么是死锁么?10.什么是事务?事务的隔离级别什么是脏读,是怎么产生的11.什么是回表?怎样减少回表的次数?12.怎么实现分页和底层的原理13.说一下对Spring的理解14.讲一下Bean的生命周期还被问到有没有自己实现过对一些逻辑的装配和生命周期的拓展,实现aware接口,beanpostprocessor接口之类的15.说一下设计模式的理解吟唱了一遍单例模式的八股和写法,被反问:其它设计模式单例模式,策略模式一点不了解。也没有具体写到项目里面用过?16.说一下分布式锁的使用场景说研究了一下它的底层原理和使用方案看熟悉过后写到项目里面的。被怀疑:那你自己在模拟的时候就是纯代码模拟,没有没有业务,就是没有项目中参与业务。分布式锁,肯定用到了多个服务,负载均衡怎么配置的?(从这开始,后面答的全完犊子了)17.看你写了线程池异步处理下单流程jmeter压测qps提升了30%,最终的QPS提升到了多少呢?最终要写库吗?相当于生成订单,写库,这一套流程下来,模拟了多长时间的并发测试?实操的真实性,有没有遇到什么困难?压测的数据规模?具体是那个环节做了异步处理最后QPS提升了30%具体讲一下?数据库连接数你调的多大?(这部分被问的汗流浃背了)18.说一下做的项目里面项目里面实打实考虑过,攻坚过的技术?(给我放水了)看了篇双token解决登录状态刷新的文章写上去了。这会儿说是自己设置的。然后被指教了,脱离业务谈技术,公司里面不会这么干。19.看你写了防超卖问题,具体怎么写的,QPS设置的多大并发扛住的超卖,自己测试过么?20.微服务分布式和微服务有什么区别?什么是分布式事务?seta用过没有?(没有做过微服务的项目,那springcloud那一套也不是很了解了哦?)内心:不是我简历上没写微服务都要问嘛,拷打实习:1.(其中编了个缓存高频数据,过期时间拼接随机时间避免大量数据同时失效写到简历上面了。)这点被拷打了。过期时间设置的多久?一般多久来对数据进行一次刷新?数据量有多大?内心:不知道数据量多少合适,随便说了个有几千条数据。被怀疑:几千条数据你放redis里面?是不是真实做的哦?回答到是包装的了(此时红温了,想快点结束)2.然后问我:那你什么是真的,给我讲一下。简历上我是拿朋友的实习过程问了一下写上去的,回答说格外没有什么问题吧,顶多是一些数据类型匹配不上,参数接收接收不了之类的。又被回答:我不信你三个多月实习一点问题都没有遇到过。数学逻辑题:1.有一个村庄第一个题哈有一个村庄,这个村庄有一个习俗,生男孩儿喜欢生男孩,但是生不到男孩就为止就不生了,问你若干年以后就可以很多,很多年就相当于趋于一个平衡状态的时候,就是趋于一个最终状态的时候,这个男子男女村子的男女比例是多少。2.一个盒子里面有3个白球和2个黑球,有放回的抽取两次抽到不同色的概率是多少?3.有八个金属球,其中有七个各个属性都相同,只有一个的重量更重一点,其它属性也相同,问最少需要几次称量找出这个球。再次被问到大学有没有实打实在程序上面干了什么事情,写过哪些代码?萎了,不知道怎么说了。总不能直接说是点评和外卖吧,包装上面的亮点结果没答出来,没想到会问这么细。回答道做过serverlet和jsp的项目。给面试官逗笑了。其它:你在大学期间干的最令自己自豪的事情是什么?能不能说一下对自己的评价?说说未来的职业规划?怎么看待加班这个问题?总结:面试官体验超级好,把我的雷点全给我整出来了,压测之类的还是得自己去做一遍才行。不是说亚信点击就送么,项目部分咋问我这么狠。不包装又怕简历投不进去,包装了这下雷点还给我整出来了。结果朋友直接写的外卖点评常见项目描述和技术点还约到面oc了。
点赞 评论 收藏
分享
评论
9
102
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务