最近去大公司面试,面得怀疑人生。。

2019-01-21 11:08:20 +08:00
 javaWeber

java 后端。一直在小公司转。最近面了几家大公司都挂了。
就拿 redis 来说吧。
问 redis 的持久化方式,这个我答 aof 和 rdb。再问 aof 和 rdb 的区别,这个答 aof 备份操作命令,rdb 备份具体数据。然后继续问 aof 文件太大会怎么样?我却不知道 aof 重写机制压缩文件。
问 redis 的主从?答读写分离,主机写,从机读。然后问主从同步,支支吾吾答了个 bgsave 命令,讲不清楚。
问 redis 的回收策略。答了 lru 和 ttl。然后让手写 lru 算法,写不出来。。
问 redis 怎么做分布式锁,答 setnx 命令。再问怎么释放锁,答 del key。然后问,如果获取锁的模块宕机了怎么办?答设置缓存失效时间。然后继续深问,分布式锁 redis 做了主从,如果设置锁之后,主机在传输到从机的时候挂掉了,从机还没有加锁信息,如何处理?这个我就蒙了。
面试官说我只会用,不懂底层原理。
一个知识点,不断地往深问,就会蒙。
现在面试大公司,面得怀疑人生,想进大公司实在是太难了。。

41045 次点击
所在节点    程序员
168 条回复
CasualYours
2019-01-21 14:03:15 +08:00
这些都是常见的面试题,你要是用过 redis,这些也都是要清楚的。多看看面试攻略,提前作作准备。
20015jjw
2019-01-21 14:04:53 +08:00
这些题目有意义么...
GoodRainChen
2019-01-21 14:14:34 +08:00
我觉得很常见啊,不都是抓一个点问下去,看看你对原理的掌握。有些可能就是公司要自己造轮子的,或者公开的轮子有 bug,得去修复或者定位问题。
世界上哪有不出错的程序,假设一个可能损失几百万的 BUG,难道你判断“这是 Redis 的问题”,或者“ XX 轮子就是这么干的”,你以为就可以不用改了?
我面试小公司来的同事,就感觉这帮人喜欢不求甚解,问个东西,就只知道用,原理也不想,如何改进也不想,拧螺丝也有可能拧出问题啊,总不能就放着不管吧?
cyhulk
2019-01-21 14:15:10 +08:00
这些东西都在 redis 官方文档上,也应该撸一遍的
NicholasYX
2019-01-21 14:18:41 +08:00
面试造火箭,入职拧螺丝
Asice
2019-01-21 14:21:15 +08:00
工资给够管他造核弹还是拧螺丝
BBCCBB
2019-01-21 14:22:52 +08:00
我也想知道主从同步不及时,挂掉的情况下分布式锁怎么处理, 除了 redblock 这个
hahasong
2019-01-21 14:24:18 +08:00
就是官方手册上的,没意义。能谷歌查到的常识文档,问来干嘛
puritania
2019-01-21 14:25:14 +08:00
分布式锁 redis 做了主从,如果设置锁之后,主机在传输到从机的时候挂掉了,从机还没有加锁信息,如何处理?

这个确实不知道怎么处理。。。
ala2008
2019-01-21 14:34:28 +08:00
看来我要好好准备了
sununiq
2019-01-21 14:37:02 +08:00
主从那个无解吧,redis 本身保证的是 ap,要求一致性只能上 zk
lalala121
2019-01-21 14:40:25 +08:00
我几年前去猫眼面试,一个年轻人面我,上来就问 redis,我感觉他是刚看完《 redis 设计与实现》,基本就是按照目录来问的,问了将近半个小时,然后让我回家等消息,只问 redis,我是 phper
skysword
2019-01-21 14:48:06 +08:00
很正常,无论什么领域,针对每一次回答,不断深入问下去,一般不超过六次就能把人问住,无论被问的人有多牛,屡试不爽,因为一般几次之后就会深入到非常理论的领域,绝大部分是未知的领域
arthas2234
2019-01-21 14:48:29 +08:00
写简历也是门学问啊,不要就写一份简历然后海投
一般都是先筛选公司,然后根据每个公司的招聘要求,写出不同的简历
约到面试以后针对性的复习,写太多了真的容易出错
个人精力真的很有限,你实际开发中使用到的技术那么多,不可能面面俱到的
tlriavsihd
2019-01-21 14:51:33 +08:00
猜测你面的头条吧…其余的面试题能分享一下吗…
sgissb1
2019-01-21 14:54:38 +08:00
别太当真,你拿出工程经验来,随便问他们两个有点价值的问题一样可以反杀。
ducklyl
2019-01-21 14:56:30 +08:00
面试造火箭,入职拧镙丝。现在不都这样吗?好像你知道这些高大上的东西,逼格就不够。
openbsd
2019-01-21 15:09:35 +08:00
这不是运维的活 ?
9684xtpa
2019-01-21 15:13:21 +08:00
@javaWeber #41 所以你应该把 redlock 的原理了解清楚,你就能完美回答分布式锁了,本身的 SETNX 需要基础 LUA 脚本实现原子性,但是如果涉及到集群的情况下,这种方式不是完美的,里面会有很多的问题,所以问及到 redis 集群情况下,分布式锁,就得谈到 redlock,俩者都了解清楚了,你就能回答清楚了

送你两篇文章
https://mp.weixin.qq.com/s/JTsJCDuasgIJ0j95K8Ay8w
https://mp.weixin.qq.com/s/4CUe7OpM6y1kQRK8TOC_qQ
geekyoung
2019-01-21 15:17:06 +08:00
就当多了一次学习和了解的机会了 加油楼主 别灰心!

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

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

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

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

© 2021 V2EX