携程云计算一面

  1. 自我介绍
  2. 非科班,问了一下专业和计算机有什么关系
  3. 对docker、k8s、监控系统等有无了解

项目相关

  1. 项目是课程设计吗

  2. 为什么你用go实现的redis服务端测试结果略优于redis,有分析过是什么原因吗

    第一点是应用了Golang优秀的并发性能,每一个Redis连接都会启一个协程去服务它;而Redis线程模型的命令处理部分是单线程 而第二点比较主要的原因是,测试性能的时候,都关闭了aof持久化的设置 第二点比较关键吧,因为我也提到了golang实现redis服务端时,遇到的一个难点是aof重写实现比较复杂。所以比较的时候没有开启aof持久化的设置

  3. 如果开启aof设置,有没有测过性能吗

    开启aof持久化,关闭rdb持久化,aof刷盘策略为everysec时: 50个连接、100000个请求下:写接口比Redis少2000,大概在25000qps

  4. 实现的刷盘策略原理是什么介绍一下

    刷盘策略是按照redis三种策略 always、everysec、no来写的。刷盘策略的不同在于调用 fsync 的时机不同 在我的实现中,比如always策略,是每次将写命令write进aof文件后,就同步调用 sync,将数据真正刷入磁盘;而 everysec策略是起一个后台协程,每秒调用一次sync来刷盘,而no策略是由内核决定刷盘的时机

  5. fsync在刷盘这块是怎么用的,刚刚没听清

    比如像always策略,我们将对数据库的写操作的resp协议文本 write进aof文件中,此时数据只在缓存中,我们会同步调用sync去将数据真正刷入磁盘;而everysec就是后台协程每秒调用sync刷入磁盘

  6. always策略每次写都要刷,磁盘io是不是会爆了?

    对,我们一般推荐使用的是 everysec策略,redis自己也推荐使用 everysec策略。真的要用到always策略,也是哪些对数据可靠性要求比较高的业务。不过这些不适合用内存型kv数据库去存储 八股

  7. 让你用栈来实现队列的先进先出,你会如何实现,用几个栈

  8. golang实现一个限流器

  9. mysql索引为什么用B+树

    B+树的特性是叶子节点存了全量数据,而非叶子节点只存储键值和索引 一般我们是将它和B树进行比较, 第一个点:讲节点的增加或删除,由于B+树冗余节点比较多,所以变形操作不会很复杂 第二个点:由于非叶子节点仅存储键值,所以同一个数据页可以存放更多索引,B+树更矮胖;而像B树或者二叉搜索树等,它们的高度在数据量很大情况下比较高,所以磁盘io更多 第三个点:B+树叶子节点通过链表组织起来,范围查询效率更高,而B树等需要通过中序遍历 算法

  10. 滑动窗口题目,很简单 杂项

  11. 对前端开发有兴趣吗

  12. 评价一下自己,比起其他同学有什么优势

  13. 反问

#携程#
全部评论
k8s是什么系统呀?
1 回复 分享
发布于 2023-05-18 10:42 浙江
golang实现一个限流器怎么做呀?
点赞 回复 分享
发布于 2023-05-18 10:30 甘肃

相关推荐

02-12 20:22
重庆大学 Java
字节暑期刚入职四天,因为是年前,所以很多正职都放假走了,也就没有给我分配mt,然后有一个老哥在我来的时候给我发了一个landing手册,然后还有关于部门业务的白皮书,还有一些业务代码。然后本人是java面的,进来第一次接触go语言 前面几天熟悉了一下go的语法和go的框架,可以读但是还不太会写,然后业务白皮书也看的很头疼,包括landing手册里要了解的很多东西说实话我看文档真的快看死了,一个嵌套一个,问题是我还完全不知道咋用这个我了解的东西,还有就是那个项目代码,那个老哥喊我去写写单测,熟悉一下go的语法,但也进行的很困难(这是我第一段实习,之前都是springboot那一套,真不太熟悉这个)想问问大家的建议,就是我从现在开始到在开年回来之前应该做些什么,我目前就一个想法 就是复现一个landing手册上的go框架小项目 就是相当于帮自己锻炼锻炼怎么写go 或者各位大佬有没有更好的锻炼go语法的建议还有就是大家都在说vibe coding,那我应该怎么锻炼自己使用ai的能力,感觉我除了给一些需求然后它给我生成代码,好像就没别的用法了,那些什么工作流、拆解、skill啥的都不知道从哪一个地方开始,包括我现在正在实习,不知道精力该怎么分配,去网上想找找关于agent开发的一些学习流程,说实话,众说纷纭,有的是从python开始打基础然后系统学那些rag prompt langchain mcp等等,有的是说直接找一个github上的ai项目然后反复问ai,我确实有点迷茫,恳求各位大佬能留下你们宝贵的建议,我一定认真反复深刻学习有一说一 我觉得字节饭挺好吃的!
双非后端失败第N人:1. go语言我建议你让ai带着你先把基本语法速通了,然后再去用go重新刷你以前刷过的leetcode,这样熟悉起来很快 2. 直接看你们组go项目,里面用***比较复杂,然后把每一个语法现象都喂给ai,一点点看
字节跳动公司福利 1371人发布
点赞 评论 收藏
分享
评论
5
18
分享

创作者周榜

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