V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
javaWeber
V2EX  ›  程序员

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

  •  6
     
  •   javaWeber · 2019-01-21 11:08:20 +08:00 · 41010 次点击
    这是一个创建于 2134 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    168 条回复    2022-03-23 18:43:17 +08:00
    1  2  
    hanxiao666
        101
    hanxiao666  
       2019-01-21 17:56:10 +08:00
    送外卖的都一个月七千了。哎,突然感觉活着好累。
    cdlixucd
        102
    cdlixucd  
       2019-01-21 17:59:16 +08:00   ❤️ 1
    @hanxiao666 你的意思自己写代码还没有 7k 罗,你想一下,首先他们没有五险一金,工作危险系数比你高很多,每天工作时间比你长,不要说你是脑力劳动,现在的 coder 几乎都是 c/v 战士
    vteng
        103
    vteng  
       2019-01-21 18:11:22 +08:00 via Android
    @Itoktsnhc 真相了…
    hustlibraco
        104
    hustlibraco  
       2019-01-21 18:21:47 +08:00
    你的履历不太好吧~所以面试官有点不放心。也不是每家公司都扣这么深入的,也不是每个好的程序员都会把组件源码看一遍。
    dmjob2015222
        105
    dmjob2015222  
       2019-01-21 18:29:17 +08:00
    感觉和我一样样滴!用起来没啥问题,一直往下问,感觉就有点招架不住!
    lfzyx
        106
    lfzyx  
       2019-01-21 18:48:04 +08:00
    看起来这个面试官做好了充分的准备
    JasonTsang
        107
    JasonTsang  
       2019-01-21 18:57:22 +08:00
    @cdlixucd 有危险过程序开发?秒秒钟死在办公室
    richangfan
        108
    richangfan  
       2019-01-21 19:01:03 +08:00 via Android
    @JasonTsang 坐办公室的就别无病呻吟了。人家吸的雾霾都比你多。
    guoyuchuan
        109
    guoyuchuan  
       2019-01-21 19:05:29 +08:00
    大公司不都是这样的吗
    huangdayu
        110
    huangdayu  
       2019-01-21 19:10:21 +08:00
    看来想进大公司我还得再混几年。
    flaty
        111
    flaty  
       2019-01-21 19:12:07 +08:00
    个人觉的,锁如果需非常强一致性,可用 zk 一类实现。
    否则就用 redlock,多主节点,无从节点。
    redis 有主从的这种基本上无解吧。
    AstroProfundis
        112
    AstroProfundis  
       2019-01-21 19:14:16 +08:00   ❤️ 1
    前东家有个面试策略是(当然,在面试官自己会的范围内)不断追问技术细节一直到候选人答不上来,这样才能知道你知识的边界在什么地方
    另外简历上写了的东西必然是被抓着问的,所以如果不是足够熟悉的东西不要往简历上写,想让人知道你会某个特定技能的话在面试的时候主动提到都可以,但口头说你就可以是“有一些经验,但不太熟练”
    vindurriel
        113
    vindurriel  
       2019-01-21 19:22:04 +08:00 via iPhone
    分布式锁和锁的区别是啥?感觉好多人把分布式三个字忽略了 选择主从同步必然会遇到网络断掉的问题 如何在网络可能断的情况下实现锁的特性?可以看下 redlock
    no13bus
        114
    no13bus  
       2019-01-21 19:55:58 +08:00
    确实一般面试都是有套路的
    zkeeper
        115
    zkeeper  
       2019-01-21 20:10:01 +08:00   ❤️ 1
    楼主不用灰心, 让你来当面试官来反过来问他们, 他们一样惨. 毕竟这是双方不对等的游戏, 并不能说明什么.
    而且很多大厂的螺丝钉的技术水平其实很一般的, 工作经验也窄得很. 有自信一点.
    wangleineo
        116
    wangleineo  
       2019-01-21 21:19:54 +08:00
    面试造火箭,入职拧螺丝。
    akira
        117
    akira  
       2019-01-21 21:36:19 +08:00
    这样想,难得有人指出你不足的地方,还是免费的。这样心态就好了
    canwushuang
        118
    canwushuang  
       2019-01-21 21:39:22 +08:00 via Android
    任何细枝,都可以写一个手册甚至一本书。关键在于笑对面试官了吧。。。
    j2gg0s
        119
    j2gg0s  
       2019-01-21 22:40:54 +08:00
    很多时候都是有心算无心而已
    软一点的就是你主动抓住自己会的点,主动深入谈下去;
    硬一点的,真的有哪个业务敢强依赖 redis 的锁吗?

    redis 实现的 LRU 的具体实现你可以不知道,
    但是 LRU 怎么写,你不能说不知道几种实现的优缺点。
    最后还是看过某个知名项目的实现细节
    puritania
        120
    puritania  
       2019-01-21 22:56:07 +08:00 via iPhone
    @chippai #92 感谢 学习了 之前都是 sexnx 固定值……
    ioREQcom
        121
    ioREQcom  
       2019-01-21 22:58:15 +08:00
    @lfzyx 信口拈来,为啥要充足准备。。。。
    gam2046
        122
    gam2046  
       2019-01-21 23:42:39 +08:00
    任何一个点,连着问 5 个为什么,恐怕没多少人能回答上来吧?
    Heanes
        123
    Heanes  
       2019-01-22 09:13:09 +08:00
    是什么让你坚持学习?是耻辱或者兴趣
    cdlixucd
        124
    cdlixucd  
       2019-01-22 09:33:16 +08:00
    @JasonTsang 那你还他妈在这里摸鱼,换行业啊
    fei103954
        125
    fei103954  
       2019-01-22 09:42:53 +08:00
    生活不易,且行且珍惜
    KDF
        126
    KDF  
       2019-01-22 09:44:20 +08:00
    飘过~
    twogoods
        127
    twogoods  
       2019-01-22 09:46:25 +08:00
    redis 什么时候会触发回收策略,是内存满了吗?有容量规划有运维监控能让它满吗
    SyncWorld
        128
    SyncWorld  
       2019-01-22 10:02:33 +08:00
    @rudyyuan 核弹技术应该比火箭技术更难吧
    pain400
        129
    pain400  
       2019-01-22 10:10:03 +08:00
    @eamon666 有道理,这些基础组件很难轮到写业务代码的人过问的
    Linxing
        130
    Linxing  
       2019-01-22 10:16:27 +08:00 via iPhone
    走了 我也就楼主这水平
    frylkrttj
        131
    frylkrttj  
       2019-01-22 10:21:19 +08:00
    你跟他调换一下估计一样可以考倒他。
    hunterhug
        132
    hunterhug  
       2019-01-22 10:21:41 +08:00
    我去小米面试,做了两大页笔试题。之后第一个面试官面完,第二个面试官进来就开始装 13 了,我简历上没写精通 Redis,我甚至都把 Redis 放在很不重要的地方。一上来就问,看过 Redis 源码没有,mmp。你知道 Redis 是多线程还是单线程。我不知道啊,呵呵。后来知道,Redis 是单线程,IO 多路复用,避免上下文频繁切换,Redis 源码还是挺简单的,有些人写过书。。。。。。

    还有,去腾讯,每次问到底就是看过 kafka 源码没有,呃呃呃呃呃呃。

    大公司,面试也许是玄学吧。
    karllynn
        133
    karllynn  
       2019-01-22 10:27:16 +08:00
    现在版本的 redis 已经支持同时 set nx 和 ex 了,单节点一般够用了。redlock 其实不如直接用 zk。
    kr380709959
        134
    kr380709959  
       2019-01-22 10:35:15 +08:00
    @hunterhug 很正常,大公司很多项目都是自己造轮子,如果你对同类型的开源项目没有足够多的了解,怎么造一个类似的轮子实现定制化需求?大公司和小公司技术方向还是差别很大的,小公司的目标是盈利,技术只是一种工具和实现商业模式的方法,只要会用就行。大公司更多的是创新,需要针对定制化需求不停的造轮子。
    nicebird
        135
    nicebird  
       2019-01-22 10:53:04 +08:00
    看 redis 代码,几万行,很简单。
    zhaogaz
        136
    zhaogaz  
       2019-01-22 10:54:52 +08:00
    我说句公道话.

    技术边界的.聊个十分钟两个小时就能摸清边界了?怎么可能.

    深入问细枝末节的,多半是不会面试. 进不去一点也不亏.因为他们压根没搞懂面试到底在干嘛. 真把面试当成考倒对方的方式了么? 真要考倒,源码随便翻一翻,说一个处理技巧都说不出来.(jdk 8 hashmap,为什么按照 2^n 次方分配桶大小,使用上有什么好处,具体细节如何?)

    以上是一般岗位的面试,

    当然某些特殊的岗位,专门做某些事情的另说.企业有时候要找精通 xx 的人,但是你没有精通,却被找来了,这就是个意外.
    q4336431
        137
    q4336431  
       2019-01-22 10:56:47 +08:00
    进去后还不是搬砖
    jsun
        138
    jsun  
       2019-01-22 11:04:11 +08:00
    净扯些没用的,人家的面试标准摆在那,人家想要什么样的人才,肯定心里清楚。作为面试者只能去适应,去符合那个标准。
    MarioLuisGarcia
        139
    MarioLuisGarcia  
       2019-01-22 11:53:25 +08:00
    @lalala121 凯迪·猫眼看人?
    lincanbin
        140
    lincanbin  
       2019-01-22 11:59:25 +08:00
    实际上他们也只是网上看来的题目,大部分都没实际操作过,也没看过源码。
    fantastM
        141
    fantastM  
       2019-01-22 12:20:25 +08:00   ❤️ 1
    我对蚂蚁的面试官说 「我平时使用的是 Memcached 」,然后他依旧问楼主的这一堆问题。。。尴尬地没答上之后,他也说我不懂底层原理。。。。
    zhangwugui
        142
    zhangwugui  
       2019-01-22 13:18:54 +08:00
    收藏了,有意思。
    tedeyang
        143
    tedeyang  
       2019-01-22 13:19:31 +08:00
    别灰心,大部分时候面试官都是自以为是的 xx,不分大小厂。
    publicvoid
        144
    publicvoid  
       2019-01-22 13:46:45 +08:00
    React 团队成员、Redux 作者 Dan Abramov 表示自己面不上国内大厂
    codermagefox
        145
    codermagefox  
       2019-01-22 14:01:39 +08:00
    @publicvoid #144 因为不会 Flex?哈哈
    Antidictator
        146
    Antidictator  
       2019-01-22 14:23:50 +08:00
    @hanxiao666 很多不止的== 周日刚办了卡,那办信用卡的老哥到手 24000+
    tourist2018
        147
    tourist2018  
       2019-01-22 14:59:29 +08:00
    @hunterhug #132 去过小米面试 还可以吧 两个人一起面的 感觉效率挺高的
    hunterhug
        148
    hunterhug  
       2019-01-22 15:02:48 +08:00
    @tourist2018 效率挺高的,还特意问什么时候有结果,然后就没消息了,一条短信啥都没有,虽然说是惯例。小米总参外面吸烟的大哥大姐还是挺多的,大家压力都大,所以从帝都被吓回深圳了,哈哈哈
    tourist2018
        149
    tourist2018  
       2019-01-22 15:07:47 +08:00
    @hunterhug #148 哈哈哈 这行压力还可以吧 毕竟帝都的房价 面试结果你可以问 hr 的 一般都会回的
    tatelucky
        150
    tatelucky  
       2019-01-22 17:31:27 +08:00
    人家在看你的边界吧。其实也是有道理的,虽然,面试造火箭,平时拧螺丝,但是人家是需要有事真上的。还是提高自己的技术和深度比较好,这样走哪都不怕。
    e8c47a0d
        151
    e8c47a0d  
       2019-01-22 17:37:56 +08:00
    他们只会问他们懂的,而且不一定是业务会用到的。
    Leo01
        152
    Leo01  
       2019-01-22 17:42:51 +08:00
    我觉得面试的时候还是要态度谦逊点,会的就认真答,不会的会在不太了解的,就直接和面试官讲不会或者是掌握的不是特别熟练,不要不懂装懂,这样面试官不仅不会继续刁难你,反而会对你有一个比较好的印象
    zsdroid
        153
    zsdroid  
       2019-01-22 21:36:32 +08:00
    感谢楼主,又学到了新东西,工资又涨了 100 块。
    supuwoerc
        154
    supuwoerc  
       2019-01-22 21:40:37 +08:00
    前端学 JS --> 学到闭包 -->闭包导致的内存溢出 -->内存管理方案 -->标记清除 引用计数 -->区别浏览器内核解释
    实际:开发中不太写闭包 =。=
    ntop
        155
    ntop  
       2019-01-23 01:09:11 +08:00
    @hexoxssaa 没做过运维相关的,所以不太了解了。今天恰好去面了微软,不过面挂了。但是倒没啥遗憾的,因为我不是挂在了技术面上,技术面还挺不错,挂在了最后一面上,趁热写了一篇面经,感兴趣的同学可以看看: https://zhuanlan.zhihu.com/p/55479524
    scnace
        156
    scnace  
       2019-01-23 01:36:26 +08:00 via Android
    redlock 没法实现强一致的 宕一个节点就 GG 了
    a450606756
        157
    a450606756  
       2019-01-23 13:08:41 +08:00
    你们水平高啊
    zichen
        158
    zichen  
       2019-01-23 14:04:38 +08:00
    写 LRU 我觉得还算好的,就算不知道 redis 的实现方式,按照 LRU 的几种模式写一个也说的过去啊,我去面试的时候,还让我写过 redis 的 sortedset 的 zrange 命令的实现方式,这还是一面没问几句就开始让我写……
    linpf
        159
    linpf  
       2019-01-23 14:36:51 +08:00
    楼主不要太气馁,比我强很多了。我在实际工作中接触的项目,根本就用不到这种级别的东西……
    lusirui
        160
    lusirui  
       2019-01-23 15:08:58 +08:00
    主要是不问这些能问啥?

    难道问问 redis 启动命令是什么,常用数据结构有哪些?每个人都会,那作为企业怎么筛选出优秀的人呢?
    ntop
        161
    ntop  
       2019-01-23 20:59:47 +08:00
    @hexoxssaa 突然想起来以前有个很吊的做运维的学弟,现在已经混到总监了(我作为学长还在辛苦创业中),这是它的博客: http://jaseywang.me/ 应该可以反映他的水平的,作为运维外行我总觉的屌屌的。
    wflanglanglang
        162
    wflanglanglang  
       2019-07-08 11:55:33 +08:00
    也许他面试你的东西,都是他已经生疏的东西
    ycs2019
        163
    ycs2019  
       2019-08-01 23:49:21 +08:00
    你这是几年经验,什么薪资水平? Redis 主从要保持强一致性,如果主挂逼了,还能怎么办,就是挂了呗。
    要是我就回答 redis 搞分布式锁不搞主从。(手动滑稽
    Balloonwj
        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
    alanchen0312
        165
    alanchen0312  
       2020-01-14 17:00:13 +08:00
    @Balloonwj 收藏了
    albine
        166
    albine  
       2020-04-10 19:54:23 +08:00
    redis 做分布式锁意思一下就行了,保证不了正确性的
    fanta777
        167
    fanta777  
       2020-05-28 19:43:11 +08:00
    你应该要突出你的长处哇
    yibo2018
        168
    yibo2018  
       2022-03-23 18:43:17 +08:00
    现在看,19 年的氛围和现在很不同
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4606 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 01:11 · PVG 09:11 · LAX 17:11 · JFK 20:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.