momenta 后端开发 已oc

自我介绍

自己挑一个项目来讲讲

我选的是6.824,讲了一下我使用goroutine和channel的场景

问了问能不能在项目中加入数据库?

回答了可以,mySQL用来做数据源。事后复盘感觉以下的思路回答更全面:

我的项目是geecache可以从这几个角度来考虑:

  1. 持久化缓存数据:考虑将缓存数据储存在MySQL的数据库中。
  2. 数据备份和恢复:MySQL提供了备份和还原工具,可以更容易进行数据备份和恢复。
  3. 数据查询分析:可以使用MySQL对缓存数据进行复杂的查询和分析操作。

缺点:

  1. 额外的复杂性和性能开销
  2. 需要考虑的问题:数据同步,缓存失效策略,性能开销,维护数据库的成本。

结论:如果目标就是构建一个高性能的分布式缓存系统,那么还是将缓存数据储存在内存中,如果需要定期更新缓存,那么可以将mySQL作为数据源。

你会写测试脚本对吧?我想对数据库mock应该怎么实现?

这个我没答上来(没有这方面的经验啊)面试官最后说golang有现成的三方库可以解决。(我说好的,学习了!)

协程进程线程的联系和区别?

结合GMP模型回答了一下。

协程之间是怎么通信的?

我讲了一下GMP调度的流程,然后我补充了一些可能是channel,共享内存,锁啥的(也不知道对不对)

你讲到锁,设计一个死锁的方案?

两个channel互相收到对方信息后向对方传值。

笔试题:实现lru缓存

写完了,有bug,报了一个从没见过的错。debug了二十分钟左右,面完试回看发现是构造函数的部分写成成员函数了,哎痛苦。

面完一面的第三天就二面,二面挺容易的,面完之后当天就发了offer

二面笔试题,反转句子(I love Beijing -> Beijing love I)没有复杂度限制,我用数组实现的复杂度稍高,面试官问为什么不用栈(golang不会用栈)

全部评论
感觉还有很多需要学习的地方,国庆好好补补
3 回复 分享
发布于 2023-09-30 16:46 北京
秋招还是实习啊
2 回复 分享
发布于 2023-09-30 16:52 江苏
博主是专投golang吗
1 回复 分享
发布于 2023-10-02 23:04 广东
研二吗佬?
1 回复 分享
发布于 2023-10-05 21:30 江苏
一面完多久约二面的
1 回复 分享
发布于 2023-10-13 16:42 海南
羡慕
点赞 回复 分享
发布于 2023-09-30 15:28 江西
欢迎,base苏州吗
点赞 回复 分享
发布于 2023-09-30 23:37 江苏
啥时候给offer
点赞 回复 分享
发布于 2023-10-07 10:18 安徽
请问同学之前有实习经历吗,目前完成了哪些项目,想借鉴一下😂感谢~
点赞 回复 分享
发布于 2023-10-11 16:07 上海
请问下投递什么时候约一面的
点赞 回复 分享
发布于 02-19 12:35 上海

相关推荐

10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
10 73 评论
分享
牛客网
牛客企业服务