昨天面试的三道题。

2017-06-30 17:01:07 +08:00
 ebony0319

昨天经历了一场非常失败的面试。分享三道题目,我不知道怎么回答的。

数据库方面

我就往视图 view 里面插入数据怎么做?

这道题其实只隐隐约约记得视图可以修改方面,但是有很多约束条件。主要是考虑到完整性方面。

大表(千万级别以上)使用索引的坏处

网络方面

就要用 UDP 做 TCP 协议怎么弄?

感觉问题都是反着问的。

2553 次点击
所在节点    问与答
10 条回复
mahone3297
2017-06-30 17:26:51 +08:00
* 索引坏处就是插入,删除 慢。。。占空间。。。
* udp 做 tcp。。。你把 tcp 的 3 次握手协议实现,就是了吧。。。我理解的对么?
mortonnex
2017-06-30 17:30:54 +08:00
1.不了解
2.索引会很大,占用磁盘
3.自己定义报文结构,加上序列号,设置滑动窗口和拥塞窗口的大小,
计算平均 RTT 时间,来决定重传超时时间
UnitTest
2017-06-30 17:33:17 +08:00
楼主面试啥岗位?
timwei
2017-06-30 17:38:05 +08:00
>>2
先假设是説 MySQL
Index 是个二元树,每次表增修删都更新树
大表不分表直接使用 index,可能会造成增修删效能变差(更新树节点信息)
且存放 Index 会占用更多空间。

>>3
是指送 UDP 包到 TCP port?
做不到的,两个协定的包格式基本不一样

还是指在 UDP 下达到 "保证送达"?
这就做得到了,最简单的就是在 app.层弄个 ack 与 checksum
ebony0319
2017-06-30 17:40:41 +08:00
@mortonnex 第三题答得漂亮。
ebony0319
2017-06-30 17:43:46 +08:00
@UnitTest 一个开发工作来着。问了很多大学的知识,比如二叉树,矩阵,都是从精通到了解。
templefox
2017-06-30 17:51:49 +08:00
写入 view 应该是要加 trigger,在 trigger 里你愿意怎么改 table 都成。我记得 mysql 里是这样。
Kilerd
2017-06-30 18:23:03 +08:00
起码第三题我会啊

kcp 不就是这个东西吗。
binux
2017-06-30 18:28:53 +08:00
> 就要用 UDP 做 TCP 协议怎么弄?

自定义报文结构太麻烦了,直接在 TCP 外面再套一层 UDP,拿 UDP 当 IP 层发出去不就好了。。
xiaoshenke
2017-07-01 18:06:23 +08:00
@binux 666

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/372208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX