2020-8-24 晚上面试

yellowone · · 853 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

这次面试过程感觉思维有点发散,面着面着感觉聊起了天。。

  • 自我介绍。
  • 问起了一些我们公司的微服务的一些细节。
  • 刚刚说到你们的微服务都是有来有回的情况嘛,要是传输的是大文件呢?

如果给我实现的话应该会在本地上传到我们的文件系统,然后用地址进行传递吧。。

  • 你们公司用的什么文件系统。

当时记不得了,是F开头的,查了一下,是FastDFS。

  • 分布式系统的CAP知道吗?

知道,最多只能满足两个的那种。(其实当时没想起来是哪三个,回想了一下容错性,一致性,可用性)

  • mysql的主从结构牺牲了哪一种特性?

可以通过配置去配置,保证强一致性的话,就要等从数据库响应给主数据库通信之后再去响应客户端。就会损耗可用性,如果不等响应的话就会损耗一致性。

(因为一时记不清来是哪三个,就忘记是哪种了,答的磕磕巴巴的。)

  • etcd你们用的是什么版本的?

v2的。

  • v2和v3有什么区别知道吗?

v3是用tcp去进行通信的(应该说是grpc),然后v2的没有。(完全记错了。v3没用过。)

  • golang你们用的版本是?

我从1.9用到1.12

  • 那你们的包管理时怎么实现的?

(很挫的那种实现方式,跟面试官讲了,这里不提也罢。)

  • 那你知道新版本的golang的包管理工具吗?

知道,用go modules实现,先在本文件夹下的mod下找,找不到再去gopath找(错误)

准确应该是用go mod init main.go去识别第三方包,生成一个go.mod文件,这样在build和run的时候会自动下包,下到了gopath/pkg/mod下面。

  • 你们现在部门多少人?
  • 讲一个你优化的栗子?

讲了之前一个错误设计的消息系统,优化成可用。

  • channel有缓存和没换成的区别?

讲了表现形式。

  • context用过吗?

讲了context的用法。

  • redis内存满了会怎么办?

如果过期的key删除完了,就删除lru比较大的key。

  • 实现一个lru算法?

hashmap+链表,时间复杂度为1.

  • expr命令知道吗?

知道,shell中的计算命令.

  • 如果你来实现加减乘除+括号?

讲了一下用两个栈去实现的思路,但是具体怎么操作可能要慢慢想了.

  • 离职的理由?

更平等的竞争平台和脱离舒适圈.

  • 你们没有用过容器化技术吗?

讲了之前尝试过,出问题之后又全部用回虚拟机了.自己之前学过了解过.

  • k8s的部署方式有哪几种?

不知道.

  • mysql多列索引的时候,会有哪些查询不起作用.

然后我答了,但是还答了一种可能的优化方式,但是电话实在好难说清楚啊..准确来说是这张图.

Snipaste_2020-08-24_23-40-24.png
  • 讲讲聚簇索引.
  • innodb修改之后会发生什么?

答了innodb的多版本控制过程.

  • 我想问的是数据发生了什么变化,io方面的?

添加redolog,修改内存.

  • 那脏页什么时候刷新?

不记得了..(答案是用checkpoint,这个是真不知道)

  • 文件读取,如果我要读取某一行怎么办?

没遇到这样的需求..通常我都是readall的..

  • protobuf数据格式有了解过吗?

看到一点,讲了自己曾经看过的数据内容,

  • 如果要你实现一个压缩率高的int32,你怎么实现?

我想到的是用一个字节标明变长,来让小的整数只用两个字节就能保存。

  • 大端小端知道吗?

从左往右或者从右往左读。(当时就想面试官是不是暗示什么,一查,protocol对int类型的压缩跟大端小端相关的)

  • 00000001表示1是大端还是小端。

答了“大端,我猜的”(每次都记不住。。)


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:yellowone

查看原文:2020-8-24 晚上面试

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

853 次点击  ∙  1 赞  
加入收藏 微博
1 回复  |  直到 2020-08-25 15:00:45
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传