贝壳golang9.17凉经

自我介绍
一.channel底层原理?
答:channel有几个重要的字段:
1.buf指向底层的循环数组,只有设置为有缓存的channel才会有buf
2.sendx和recvx分别指向底层循环数组的发送和接收元素位置的索引
3.sendq和recvq分别表示发送数据的被阻塞的goroutine和读取数据的goroutine,两个都是双向链表结构
4.sendq和recvq的结构为等待队列类型,sudog是goroutine的一种封装
二.channel是如何发送数据的?
答:1.首先看看recvq是否为空,如果不为空,直接从recvq队头取出一个goroutine,将数据发送过去,并唤醒goroutine
2.如果recvq为空,则将数据放入到buffer中
3.如果buffer满了则将goroutine放入sendq队列中,并将当前goroutine置为waiting状态

三.golang中如何拼接字符串?哪种效率最高?
答:
1.在已有字符串数组的场合,使用 strings.Join() 能有比较好的性能
2.在一些性能要求较高的场合,尽量使用 buffer.WriteString() 以获得更好的性能
3.性能要求不太高的场合,直接使用运算符,代码更简短清晰,能获得比较好的可读性
4.如果需要拼接的不仅仅是字符串,还有数字之类的其他需求的话,可以考虑 fmt.Sprintf()

四.介绍下项目的主要内容?

五.单点登陆怎么实现的?

六.说说你对Elasticsearch的了解?

七.说说平时是怎么优化程序性能的?

八.说说对kafka和zookeeper的了解?

九.项目中你是怎么使用kafka的?

十.说说DevOps自动化工作流你是怎么搭建的?

算法:
一、判断链表是否有环?

二、算法三数之和?
全部评论
都答上来了也凉凉了吗
点赞 回复 分享
发布于 2023-09-19 09:50 山西
本科还是硕士呀老哥
点赞 回复 分享
发布于 2023-09-19 09:24 河北
这还凉?
点赞 回复 分享
发布于 2023-09-19 08:17 广东
贝壳还有go吗
点赞 回复 分享
发布于 2023-09-18 12:41 广东

相关推荐

2025-12-20 13:19
已编辑
曲阜师范大学 Java
点赞 评论 收藏
分享
面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
3
45
分享

创作者周榜

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