java 后端。一直在小公司转。最近面了几家大公司都挂了。
就拿 redis 来说吧。
问 redis 的持久化方式,这个我答 aof 和 rdb。再问 aof 和 rdb 的区别,这个答 aof 备份操作命令,rdb 备份具体数据。然后继续问 aof 文件太大会怎么样?我却不知道 aof 重写机制压缩文件。
问 redis 的主从?答读写分离,主机写,从机读。然后问主从同步,支支吾吾答了个 bgsave 命令,讲不清楚。
问 redis 的回收策略。答了 lru 和 ttl。然后让手写 lru 算法,写不出来。。
问 redis 怎么做分布式锁,答 setnx 命令。再问怎么释放锁,答 del key。然后问,如果获取锁的模块宕机了怎么办?答设置缓存失效时间。然后继续深问,分布式锁 redis 做了主从,如果设置锁之后,主机在传输到从机的时候挂掉了,从机还没有加锁信息,如何处理?这个我就蒙了。
面试官说我只会用,不懂底层原理。
一个知识点,不断地往深问,就会蒙。
现在面试大公司,面得怀疑人生,想进大公司实在是太难了。。
101
hanxiao666 2019-01-21 17:56:10 +08:00
送外卖的都一个月七千了。哎,突然感觉活着好累。
|
102
cdlixucd 2019-01-21 17:59:16 +08:00 1
@hanxiao666 你的意思自己写代码还没有 7k 罗,你想一下,首先他们没有五险一金,工作危险系数比你高很多,每天工作时间比你长,不要说你是脑力劳动,现在的 coder 几乎都是 c/v 战士
|
104
hustlibraco 2019-01-21 18:21:47 +08:00
你的履历不太好吧~所以面试官有点不放心。也不是每家公司都扣这么深入的,也不是每个好的程序员都会把组件源码看一遍。
|
105
dmjob2015222 2019-01-21 18:29:17 +08:00
感觉和我一样样滴!用起来没啥问题,一直往下问,感觉就有点招架不住!
|
106
lfzyx 2019-01-21 18:48:04 +08:00
看起来这个面试官做好了充分的准备
|
107
JasonTsang 2019-01-21 18:57:22 +08:00
@cdlixucd 有危险过程序开发?秒秒钟死在办公室
|
108
richangfan 2019-01-21 19:01:03 +08:00 via Android
@JasonTsang 坐办公室的就别无病呻吟了。人家吸的雾霾都比你多。
|
109
guoyuchuan 2019-01-21 19:05:29 +08:00
大公司不都是这样的吗
|
110
huangdayu 2019-01-21 19:10:21 +08:00
看来想进大公司我还得再混几年。
|
111
flaty 2019-01-21 19:12:07 +08:00
个人觉的,锁如果需非常强一致性,可用 zk 一类实现。
否则就用 redlock,多主节点,无从节点。 redis 有主从的这种基本上无解吧。 |
112
AstroProfundis 2019-01-21 19:14:16 +08:00 1
前东家有个面试策略是(当然,在面试官自己会的范围内)不断追问技术细节一直到候选人答不上来,这样才能知道你知识的边界在什么地方
另外简历上写了的东西必然是被抓着问的,所以如果不是足够熟悉的东西不要往简历上写,想让人知道你会某个特定技能的话在面试的时候主动提到都可以,但口头说你就可以是“有一些经验,但不太熟练” |
113
vindurriel 2019-01-21 19:22:04 +08:00 via iPhone
分布式锁和锁的区别是啥?感觉好多人把分布式三个字忽略了 选择主从同步必然会遇到网络断掉的问题 如何在网络可能断的情况下实现锁的特性?可以看下 redlock
|
114
no13bus 2019-01-21 19:55:58 +08:00
确实一般面试都是有套路的
|
115
zkeeper 2019-01-21 20:10:01 +08:00 1
楼主不用灰心, 让你来当面试官来反过来问他们, 他们一样惨. 毕竟这是双方不对等的游戏, 并不能说明什么.
而且很多大厂的螺丝钉的技术水平其实很一般的, 工作经验也窄得很. 有自信一点. |
116
wangleineo 2019-01-21 21:19:54 +08:00
面试造火箭,入职拧螺丝。
|
117
akira 2019-01-21 21:36:19 +08:00
这样想,难得有人指出你不足的地方,还是免费的。这样心态就好了
|
118
canwushuang 2019-01-21 21:39:22 +08:00 via Android
任何细枝,都可以写一个手册甚至一本书。关键在于笑对面试官了吧。。。
|
119
j2gg0s 2019-01-21 22:40:54 +08:00
很多时候都是有心算无心而已
软一点的就是你主动抓住自己会的点,主动深入谈下去; 硬一点的,真的有哪个业务敢强依赖 redis 的锁吗? redis 实现的 LRU 的具体实现你可以不知道, 但是 LRU 怎么写,你不能说不知道几种实现的优缺点。 最后还是看过某个知名项目的实现细节 |
122
gam2046 2019-01-21 23:42:39 +08:00
任何一个点,连着问 5 个为什么,恐怕没多少人能回答上来吧?
|
123
Heanes 2019-01-22 09:13:09 +08:00
是什么让你坚持学习?是耻辱或者兴趣
|
124
cdlixucd 2019-01-22 09:33:16 +08:00
@JasonTsang 那你还他妈在这里摸鱼,换行业啊
|
125
fei103954 2019-01-22 09:42:53 +08:00
生活不易,且行且珍惜
|
126
KDF 2019-01-22 09:44:20 +08:00
飘过~
|
127
twogoods 2019-01-22 09:46:25 +08:00
redis 什么时候会触发回收策略,是内存满了吗?有容量规划有运维监控能让它满吗
|
130
Linxing 2019-01-22 10:16:27 +08:00 via iPhone
走了 我也就楼主这水平
|
131
frylkrttj 2019-01-22 10:21:19 +08:00
你跟他调换一下估计一样可以考倒他。
|
132
hunterhug 2019-01-22 10:21:41 +08:00
我去小米面试,做了两大页笔试题。之后第一个面试官面完,第二个面试官进来就开始装 13 了,我简历上没写精通 Redis,我甚至都把 Redis 放在很不重要的地方。一上来就问,看过 Redis 源码没有,mmp。你知道 Redis 是多线程还是单线程。我不知道啊,呵呵。后来知道,Redis 是单线程,IO 多路复用,避免上下文频繁切换,Redis 源码还是挺简单的,有些人写过书。。。。。。
还有,去腾讯,每次问到底就是看过 kafka 源码没有,呃呃呃呃呃呃。 大公司,面试也许是玄学吧。 |
133
karllynn 2019-01-22 10:27:16 +08:00
现在版本的 redis 已经支持同时 set nx 和 ex 了,单节点一般够用了。redlock 其实不如直接用 zk。
|
134
kr380709959 2019-01-22 10:35:15 +08:00
@hunterhug 很正常,大公司很多项目都是自己造轮子,如果你对同类型的开源项目没有足够多的了解,怎么造一个类似的轮子实现定制化需求?大公司和小公司技术方向还是差别很大的,小公司的目标是盈利,技术只是一种工具和实现商业模式的方法,只要会用就行。大公司更多的是创新,需要针对定制化需求不停的造轮子。
|
135
nicebird 2019-01-22 10:53:04 +08:00
看 redis 代码,几万行,很简单。
|
136
zhaogaz 2019-01-22 10:54:52 +08:00
我说句公道话.
技术边界的.聊个十分钟两个小时就能摸清边界了?怎么可能. 深入问细枝末节的,多半是不会面试. 进不去一点也不亏.因为他们压根没搞懂面试到底在干嘛. 真把面试当成考倒对方的方式了么? 真要考倒,源码随便翻一翻,说一个处理技巧都说不出来.(jdk 8 hashmap,为什么按照 2^n 次方分配桶大小,使用上有什么好处,具体细节如何?) 以上是一般岗位的面试, 当然某些特殊的岗位,专门做某些事情的另说.企业有时候要找精通 xx 的人,但是你没有精通,却被找来了,这就是个意外. |
137
q4336431 2019-01-22 10:56:47 +08:00
进去后还不是搬砖
|
138
jsun 2019-01-22 11:04:11 +08:00
净扯些没用的,人家的面试标准摆在那,人家想要什么样的人才,肯定心里清楚。作为面试者只能去适应,去符合那个标准。
|
139
MarioLuisGarcia 2019-01-22 11:53:25 +08:00
@lalala121 凯迪·猫眼看人?
|
140
lincanbin 2019-01-22 11:59:25 +08:00
实际上他们也只是网上看来的题目,大部分都没实际操作过,也没看过源码。
|
141
fantastM 2019-01-22 12:20:25 +08:00 1
我对蚂蚁的面试官说 「我平时使用的是 Memcached 」,然后他依旧问楼主的这一堆问题。。。尴尬地没答上之后,他也说我不懂底层原理。。。。
|
142
zhangwugui 2019-01-22 13:18:54 +08:00
收藏了,有意思。
|
143
tedeyang 2019-01-22 13:19:31 +08:00
别灰心,大部分时候面试官都是自以为是的 xx,不分大小厂。
|
144
publicvoid 2019-01-22 13:46:45 +08:00
React 团队成员、Redux 作者 Dan Abramov 表示自己面不上国内大厂
|
145
codermagefox 2019-01-22 14:01:39 +08:00
@publicvoid #144 因为不会 Flex?哈哈
|
146
Antidictator 2019-01-22 14:23:50 +08:00
@hanxiao666 很多不止的== 周日刚办了卡,那办信用卡的老哥到手 24000+
|
147
tourist2018 2019-01-22 14:59:29 +08:00
@hunterhug #132 去过小米面试 还可以吧 两个人一起面的 感觉效率挺高的
|
148
hunterhug 2019-01-22 15:02:48 +08:00
@tourist2018 效率挺高的,还特意问什么时候有结果,然后就没消息了,一条短信啥都没有,虽然说是惯例。小米总参外面吸烟的大哥大姐还是挺多的,大家压力都大,所以从帝都被吓回深圳了,哈哈哈
|
149
tourist2018 2019-01-22 15:07:47 +08:00
@hunterhug #148 哈哈哈 这行压力还可以吧 毕竟帝都的房价 面试结果你可以问 hr 的 一般都会回的
|
150
tatelucky 2019-01-22 17:31:27 +08:00
人家在看你的边界吧。其实也是有道理的,虽然,面试造火箭,平时拧螺丝,但是人家是需要有事真上的。还是提高自己的技术和深度比较好,这样走哪都不怕。
|
151
e8c47a0d 2019-01-22 17:37:56 +08:00
他们只会问他们懂的,而且不一定是业务会用到的。
|
152
Leo01 2019-01-22 17:42:51 +08:00
我觉得面试的时候还是要态度谦逊点,会的就认真答,不会的会在不太了解的,就直接和面试官讲不会或者是掌握的不是特别熟练,不要不懂装懂,这样面试官不仅不会继续刁难你,反而会对你有一个比较好的印象
|
153
zsdroid 2019-01-22 21:36:32 +08:00
感谢楼主,又学到了新东西,工资又涨了 100 块。
|
154
supuwoerc 2019-01-22 21:40:37 +08:00
前端学 JS --> 学到闭包 -->闭包导致的内存溢出 -->内存管理方案 -->标记清除 引用计数 -->区别浏览器内核解释
实际:开发中不太写闭包 =。= |
155
ntop 2019-01-23 01:09:11 +08:00
@hexoxssaa 没做过运维相关的,所以不太了解了。今天恰好去面了微软,不过面挂了。但是倒没啥遗憾的,因为我不是挂在了技术面上,技术面还挺不错,挂在了最后一面上,趁热写了一篇面经,感兴趣的同学可以看看: https://zhuanlan.zhihu.com/p/55479524
|
156
scnace 2019-01-23 01:36:26 +08:00 via Android
redlock 没法实现强一致的 宕一个节点就 GG 了
|
157
a450606756 2019-01-23 13:08:41 +08:00
你们水平高啊
|
158
zichen 2019-01-23 14:04:38 +08:00
写 LRU 我觉得还算好的,就算不知道 redis 的实现方式,按照 LRU 的几种模式写一个也说的过去啊,我去面试的时候,还让我写过 redis 的 sortedset 的 zrange 命令的实现方式,这还是一面没问几句就开始让我写……
|
159
linpf 2019-01-23 14:36:51 +08:00
楼主不要太气馁,比我强很多了。我在实际工作中接触的项目,根本就用不到这种级别的东西……
|
160
lusirui 2019-01-23 15:08:58 +08:00
主要是不问这些能问啥?
难道问问 redis 启动命令是什么,常用数据结构有哪些?每个人都会,那作为企业怎么筛选出优秀的人呢? |
161
ntop 2019-01-23 20:59:47 +08:00
@hexoxssaa 突然想起来以前有个很吊的做运维的学弟,现在已经混到总监了(我作为学长还在辛苦创业中),这是它的博客: http://jaseywang.me/ 应该可以反映他的水平的,作为运维外行我总觉的屌屌的。
|
162
wflanglanglang 2019-07-08 11:55:33 +08:00
也许他面试你的东西,都是他已经生疏的东西
|
163
ycs2019 2019-08-01 23:49:21 +08:00
你这是几年经验,什么薪资水平? Redis 主从要保持强一致性,如果主挂逼了,还能怎么办,就是挂了呗。
要是我就回答 redis 搞分布式锁不搞主从。(手动滑稽 |
164
Balloonwj 2019-11-22 17:32:47 +08:00 1
别灰心,用心准备和多尝试几次就可以了,可以看看下面这些内容:
文章标题:我是如何年薪五十万的? 文章链接: https://mp.weixin.qq.com/s/ypfyu0skXYNQUBNZD7xt2Q 文章标题:聊一聊程序员如何增加收入 文章链接: https://mp.weixin.qq.com/s/vjVzcPxB44Kgc9pXgXxFng 文章标题:技术面试与 HR 谈薪技巧 文章链接: https://mp.weixin.qq.com/s/VsLY7UIvQg-1yuV_S5yb6g 文章标题:我求职后端开发经理的面试经历与总结 文章链接: https://mp.weixin.qq.com/s/3L9b86sMG3FmCHfxRdbrZw 文章标题:如何设计断线自动重连机制 文章链接: https://mp.weixin.qq.com/s/LztW3X8AcpICfkti8W8XTQ 文章标题:心跳包机制设计详解 文章链接: https://mp.weixin.qq.com/s/CmtXhax60uBDrfZ-NWr7OA5 文章标题:Linux 网络故障排查的瑞士军刀 文章链接: https://mp.weixin.qq.com/s/bP28Kxe_gc7cUDEgYhYSHA 文章标题:Linux tcpdump 使用介绍 文章链接: https://mp.weixin.qq.com/s/0eKYNcm5YS8hgQlpSTsjhA 文章标题:服务器开发通信协议如何设计 文章链接: https://mp.weixin.qq.com/s/7_aekhF7DIk6BMoUR6RGvw 文章标题: [腾讯后台开发] 实习生技能要求 文章链接: https://mp.weixin.qq.com/s/v16kDrdtz6bv1oTahM9oRg 文章标题:从零实现一个 http 服务器 文章链接: https://mp.weixin.qq.com/s/WVrPG8Mx_RY7g7BosjdF8Q 文章标题:服务器开发中网络数据分析与故障排查经验漫谈 文章链接: https://mp.weixin.qq.com/s/6ZmiKUz4ZQvwLXkzzBrFcg |
165
alanchen0312 2020-01-14 17:00:13 +08:00
@Balloonwj 收藏了
|
166
albine 2020-04-10 19:54:23 +08:00
redis 做分布式锁意思一下就行了,保证不了正确性的
|
167
fanta777 2020-05-28 19:43:11 +08:00
你应该要突出你的长处哇
|
168
yibo2018 2022-03-23 18:43:17 +08:00
现在看,19 年的氛围和现在很不同
|