• 请不要在回答技术问题时复制粘贴 AI 生成的内容
javaWeber
V2EX  ›  程序员

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

  •  6
     
  •   javaWeber · Jan 21, 2019 · 44239 views
    This topic created in 2847 days ago, the information mentioned may be changed or developed.

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

    168 replies  •  2022-03-23 18:43:17 +08:00
    1  2  
    ❮ ❯
    402124773
    402124773
    Jan 21, 2019❤️15
    1
    你多去几次,发现他们每次问的问题都是那些。然后针对那些问题,深入地查看源码,了解底层。然后。。。
    zzzhbooo
    zzzhbooo
    Jan 21, 2019❤️3
    2
    欲戴王冠,必承其重
    Itoktsnhc
    Itoktsnhc
    Jan 21, 2019❤️84
    3
    然后进去 CRUD 😂
    RoyL
    RoyL
    Jan 21, 2019❤️20
    4
    ...然后进去了发现,一个也用不上
    yu5121199
    yu5121199
    Jan 21, 2019
    5
    1 楼正解,多去面几次就好了。
    panbofeng
    panbofeng
    Jan 21, 2019
    6
    @RoyL 哈哈哈哈哈哈,真相了
    jinhan13789991
    jinhan13789991
    Jan 21, 2019❤️2
    7
    招一个螺丝钉,却问你发动机如何制造。
    不过这也是人家筛选人才的手段啊
    skypyb
    skypyb
    Jan 21, 2019
    8
    所以这个锁到底怎么处理啊,我也好奇
    SyncWorld
    SyncWorld
    Jan 21, 2019❤️6
    9
    面试造核弹,上班拧螺丝~~~
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Jan 21, 2019❤️4
    10
    "问 redis 怎么做分布式锁,答 setnx 命令。"
    这个是有问题的,setnx & expire 这个操作并不是原子的
    另外还有一些关于 redis 的分布式锁是不是安全的讨论,这个 blog 讲的不错
    http://zhangtielei.com/posts/blog-redlock-reasoning.html
    4DAX07B8Kle4Dm6T
    4DAX07B8Kle4Dm6T
    Jan 21, 2019
    11
    @Itoktsnhc 真相
    guanhui07
    guanhui07
    Jan 21, 2019
    12
    多面面才知道自己不足,然后补,面试也是收获的一种
    nekoleamo
    nekoleamo
    Jan 21, 2019
    13
    我之前去海康威视面前端,问的问题真的是大而全,上来就让我说一下 vue,然后我说到哪一点,就会盯着这个点挖下去,被问倒了😌
    suhongbo
    suhongbo
    Jan 21, 2019
    14
    你只是没有找个合适你的公司而已,不要急,慢慢来。面试也是一种经历
    df4VW
    df4VW
    Jan 21, 2019
    15
    不是啊,这公司只问 redis 么。。
    eamon666
    eamon666
    Jan 21, 2019
    16
    你是在简历里过度强调了 redis 的技能吗?导致面试官一直揪着这些不放?
    现在大公司 模块都是分的很清楚 普通的业务 rd 是基本碰不到 redis 底层原理的。。。
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Jan 21, 2019
    17
    另外你面试 java 职位让你当场实现一个分布式锁太欺负人了, 面试官自己都不一定能想出来一个正确的方案
    a226679594
    a226679594
    Jan 21, 2019
    18
    面试造核弹,上班拧螺丝~~~
    zhengwenk
    zhengwenk
    Jan 21, 2019❤️2
    19
    @liprais 很多时候面试官自己不懂,所以希望在面试的时候问问看有没有人能教他。当然大牛面试官例外,但是大牛也比较少
    holy_sin
    holy_sin
    Jan 21, 2019
    20
    @402124773 然后继续挂 哈哈
    inwl
    inwl
    Jan 21, 2019
    21
    以前每次去面试自信都被击碎一地,因为我也不知道底层,只会用。
    maichael
    maichael
    Jan 21, 2019
    22
    我觉得这样问的问题不大,一般是你简历上写什么他就抓住一点问什么。然后再根据你回答的深入问下去,有些问题回答不出来不会减分,但是如果你回答出来就会加分,这对于筛选很有帮助。
    maemual
    maemual
    Jan 21, 2019
    23
    只不过想要摸清你的深度而已
    msg7086
    msg7086
    Jan 21, 2019
    24
    面造入拧是常态。不过盯着 Redis 问有点过分了。又不是招你去开发 Redis 的。
    Jonssen
    Jonssen
    Jan 21, 2019 via Android❤️7
    25
    给你们支个招,在发现面试官苗头不对的时候,你先问一下面试官该职位的薪资多少?如果是 50K 的你直接走人,如果是 10K 的估计他也明白你的意思了。
    deepreader
    deepreader
    Jan 21, 2019
    26
    @Itoktsnhc 说出了真相。
    javaWeber
    javaWeber
    OP
    Jan 21, 2019❤️3
    27
    @df4VW 不是啊,这公司只问 redis 么。。
    ========================================
    不止啊。java 基础,集合源码,线程池源码,多线程并发源码问得最多。有些会问 jvm。
    数据库基本必问索引和锁,还有 sql 调优。。以前我都不知道做后端对数据库要求这么高的。
    框架就 ssm,springBoot 这些。
    分布式的话就问缓存,消息队列,服务协调这些。
    有的还会问几个 Linux 命令。
    pxlxh
    pxlxh
    Jan 21, 2019
    28
    你不是应该感谢别人。
    sarlanori
    sarlanori
    Jan 21, 2019❤️4
    29
    这个只能说明供大于求了,一堆人去面相同的岗位,都满足该岗位的最低要求,那当然要在这里面选能力最强的了
    zhangdawei
    zhangdawei
    Jan 21, 2019 via iPhone
    30
    很好啊,这个正好是补足不全的机会
    dengtongcai
    dengtongcai
    Jan 21, 2019
    31
    l 楼主可以尝试总结一下面试经验,有好处的哦,我们也可以参考下
    Crixs
    Crixs
    Jan 21, 2019
    32
    然后发现问的问题一个都用不上
    javaWeber
    javaWeber
    OP
    Jan 21, 2019
    33
    @pxlxh 你不是应该感谢别人。
    ======================
    嗯嗯。感谢并惭愧。。
    waytodelay
    waytodelay
    Jan 21, 2019 via Android
    34
    楼主几年经验?面的哪家?想参考参考
    fcoolish
    fcoolish
    Jan 21, 2019
    35
    问的这么详细的吗,
    zjl03505
    zjl03505
    Jan 21, 2019
    36
    没人说 面试是一定要全答上。摸摸你的深浅,了解了解你应对问题的策略而已
    loveCoding
    loveCoding
    Jan 21, 2019
    37
    你反问他 , 他也会跪的
    nicevar
    nicevar
    Jan 21, 2019❤️1
    38
    招人就是这样,肯定择优录取,面试的问题不一定要求你全部回答上,那些调侃"面试造核弹,上班拧螺丝"的人等招进来给你打下手不行了你肯定会喷这人谁招进来的,这也不会那也不会
    mortonnex
    mortonnex
    Jan 21, 2019
    39
    redlock 没听过嘛...
    nl101531
    nl101531
    Jan 21, 2019 via Android❤️1
    40
    redis 设计与实现 可以看看这本书
    javaWeber
    javaWeber
    OP
    Jan 21, 2019
    41
    @mortonnex redlock 没听过嘛...
    =========================================================
    听过。有个框架 redisson 里面有 redLock 机制。我只知道 lock(),unLock()。。不知道原理。
    he583899772
    he583899772
    Jan 21, 2019
    42
    反复准备,坚持一两个月肯定没问题的
    enenaaa
    enenaaa
    Jan 21, 2019
    43
    面试就这样啊。 面试官就是把尺子,量出你的深浅。当然人家也不一定全懂,但是就想知道你懂不懂。
    Z1076
    Z1076
    Jan 21, 2019 via Android
    44
    @Itoktsnhc 真实 emmmmm
    onlin
    onlin
    Jan 21, 2019 via Android
    45
    攒经验,为什么会支支吾吾的,不会就是不会,会就是会,我面试时候问了我快两个小时,,,然后跟你讲,我走的时候不报任何希望,过了没几天就给了我二面~
    tourist2018
    tourist2018
    Jan 21, 2019
    46
    简历里面绝对写了 redis。。。
    rudyyuan
    rudyyuan
    Jan 21, 2019 via Android
    47
    @SyncWorld 不是造火箭吗
    mogami95
    mogami95
    Jan 21, 2019
    48
    没问你工作方向上的顶会 paper 就算幸运啦~
    hilbertz
    hilbertz
    Jan 21, 2019
    49
    因为其他大公司也是这么面试,人家一个小小面试官,当然不想担责任,就按规章走呗
    quwabcxyz
    quwabcxyz
    Jan 21, 2019 via Android
    50
    不要问人生理想这些尴尬呃呃问题就好,一堆鸡汤
    cncoffer
    cncoffer
    Jan 21, 2019
    51
    @nekoleamo 前年我也去海康面过, C 语言的嵌入式岗位, 感觉问题都很浅哎, 就是工资开的也很低而且 996, 然后我就没去, 2333
    Paual
    Paual
    Jan 21, 2019
    52
    面试也是一次学习的机会吧,楼上说的 redis 设计与实现可以看一下,看过一遍,懵懵懂懂,感觉需要再仔细看一遍,换个思路想一下,遇到难的问题的时候都要从底层了解原理去学习,所以所有知识的学习都是由会用到了解然后到深入吧,分析然后类比总结,redis 用比较简单,用好又是一门学问了
    Vegetable
    Vegetable
    Jan 21, 2019
    53
    这就是为什么说不是真精通就连了解都不要说...
    jakson
    jakson
    Jan 21, 2019
    54
    确实,之前面过几个也是,一步一步的深入,而且有时候有的面试官问的问题很难理解。
    知识点那么多,没个大半年准备怕是不行
    Just1n
    Just1n
    Jan 21, 2019
    55
    所有大公司都这么面嘛?
    dezhou9
    dezhou9
    Jan 21, 2019 via Android
    56
    多看书就能秒杀了
    pony279
    pony279
    Jan 21, 2019
    57
    不知道你具体是什么情况, 作为面试官, 主要考虑的应该是你个人技术和简历描述的匹配程度(是否真实靠谱, 很多公司鼓励内推, 也是基于这个考虑), 以及你有没有其他亮点

    如果面试的时候过程中你只提到会用 redis, 那么并不能算作是亮点

    你如果不擅长 redis, 那就把面试引导到你擅长的地方, 当学历,资历都没有优势的时候, 让对方知道你的长处, 才是上策

    你可以回答, redis 我主要是会用, 并没有深入了解, 我平时研究 xxx 比较多 ...
    pony279
    pony279
    Jan 21, 2019
    58
    还有就是要体现出你工作或者研究过程中面临的挑战, 以及解决业务问题的办法, 比如前面提到的主从问题, 就是业务可能面临的挑战, 如果没接触过也很正常, 但是你可以找其他地方和他聊
    ResidualWind
    ResidualWind
    Jan 21, 2019
    59
    面试造核弹,上班拧螺丝~~~
    ntop
    ntop
    Jan 21, 2019❤️4
    60
    老铁你这是不会面试呀,简历上写的东西一定要搞熟,面试不会只问问经验的没有区分度. 我以前面 Android 的时候就把会的东西从底层到源码全看一遍,来不及自己看的就到网上看看别人写的概要. 面 Java 的时候我就会把 JVM 内存管理\线程调度啥的都搞一遍,面 Go 的时候我还是照样把 GC 算法,内存申请等等看一遍,我用的任何算法我都会研究一遍,常用的算法比如你说的 LRU 必须手写,另外 Redis 源码不是很多的,一般公司都会期望你是读过源码的. 做到这些在经验层面几乎不会有问题,然后就是算法了,比较硬核和临场发挥的关系也很大自认一上白板就紧张...
    CasualYours
    CasualYours
    Jan 21, 2019
    61
    这些都是常见的面试题,你要是用过 redis,这些也都是要清楚的。多看看面试攻略,提前作作准备。
    20015jjw
    20015jjw
    Jan 21, 2019 via Android
    62
    这些题目有意义么...
    GoodRainChen
    GoodRainChen
    Jan 21, 2019
    63
    我觉得很常见啊,不都是抓一个点问下去,看看你对原理的掌握。有些可能就是公司要自己造轮子的,或者公开的轮子有 bug,得去修复或者定位问题。
    世界上哪有不出错的程序,假设一个可能损失几百万的 BUG,难道你判断“这是 Redis 的问题”,或者“ XX 轮子就是这么干的”,你以为就可以不用改了?
    我面试小公司来的同事,就感觉这帮人喜欢不求甚解,问个东西,就只知道用,原理也不想,如何改进也不想,拧螺丝也有可能拧出问题啊,总不能就放着不管吧?
    cyhulk
    cyhulk
    Jan 21, 2019
    64
    这些东西都在 redis 官方文档上,也应该撸一遍的
    NicholasYX
    NicholasYX
    Jan 21, 2019
    65
    面试造火箭,入职拧螺丝
    Asice
    Asice
    Jan 21, 2019
    66
    工资给够管他造核弹还是拧螺丝
    BBCCBB
    BBCCBB
    Jan 21, 2019
    67
    我也想知道主从同步不及时,挂掉的情况下分布式锁怎么处理, 除了 redblock 这个
    hahasong
    hahasong
    Jan 21, 2019
    68
    就是官方手册上的,没意义。能谷歌查到的常识文档,问来干嘛
    puritania
    puritania
    Jan 21, 2019
    69
    分布式锁 redis 做了主从,如果设置锁之后,主机在传输到从机的时候挂掉了,从机还没有加锁信息,如何处理?

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

    送你两篇文章
    https://mp.weixin.qq.com/s/JTsJCDuasgIJ0j95K8Ay8w
    https://mp.weixin.qq.com/s/4CUe7OpM6y1kQRK8TOC_qQ
    geekyoung
    geekyoung
    Jan 21, 2019
    80
    就当多了一次学习和了解的机会了 加油楼主 别灰心!
    hexoxssaa
    hexoxssaa
    Jan 21, 2019
    81
    @ntop 先膜拜大牛……顺便问一句:那做运维是不是还要将 linux 源码过一遍?
    lincanbin
    lincanbin
    Jan 21, 2019
    82
    进去后说不定会发现代码就是屎山。
    9684xtpa
    9684xtpa
    Jan 21, 2019
    83
    @RoyL #4 你错了,正常的业务开发可能会用不上,但是会的越多,处理复杂问题以及解决问题的能力越强,而不是一个很普通的会写一些简单代码的人能替代的,比如一些中间件的性能甚至 BUG,你让一个小白去解决,还是让一个了解其中原理的人去解决。另外很多东西现在网上都有相关的文章,甚至很多的技术书籍都有提到,这也是体现一个人学习能力的表现。

    其实面试的时候,除了体现你的业务解决能力,很多时候是想看到你能给这个团队带来多少东西,是否可以独立负责技术项目,是否可以应对复杂需求,不是招个人进来都是写内部的管理后台的。
    ZeoKarl
    ZeoKarl
    Jan 21, 2019 via iPhone
    84
    面试造核弹,入职搞核弹发射按钮 手动狗头😂
    tabris17
    tabris17
    Jan 21, 2019
    85
    当面怼他啊,redis 无法实现真正的分布式锁

    http://zhangtielei.com/posts/blog-redlock-reasoning.html
    m0mo
    m0mo
    Jan 21, 2019
    86
    上次面试 以前在阿里 p10 的大佬最终面,问了我好多关于数据结构的问题,包括画出各个链表结构,我都不会,但聊的很开心,结果给了我一些职业上的建议,当晚就发 offer 了
    passerbytiny
    passerbytiny
    Jan 21, 2019
    87
    被抓壮丁去面试人几次后,算是有点面试官的经验。可以给楼主解答一下,不一定对。

    技术把关的重点是这三个:实际工作经验年限或者简历可信度、擅长点、学习或总结能力。面试技巧是这样的:多问,问到底。回答了多少、回答对了多少,回答到什么层次,都不是重点,重点就是验出前面说的那三个。

    你不表达“我不会”,那就会一直往底上问,这一点看不出来啥问题。“面试官说我只会用,不懂底层原理。”具体看面试官怎么说的。如果是这样——你会用,不过底层原理还不太懂,那么只是一个一般事实陈述,在最终评价中最多是不优秀,基本不影响过关。如果是这样——你这啥都回,就是底层原理一点都不懂,那么这是再变相得说你不懂装懂,基本属于婉拒了。是前者还是后者,需要楼主自己体会,光凭你现在的描述,猜不准。
    shellbye
    shellbye
    Jan 21, 2019
    88
    瑟瑟发抖
    ldh756034624
    ldh756034624
    Jan 21, 2019
    89
    然后进去 curd........
    poplar50
    poplar50
    Jan 21, 2019 via Android
    90
    今年秋招 手写了好几次 lru
    mortonnex
    mortonnex
    Jan 21, 2019
    91
    @poplar50 求透露还考了什么算法..
    chippai
    chippai
    Jan 21, 2019❤️1
    92
    @puritania 可以参考 Redlock 算法
    lolizeppelin
    lolizeppelin
    Jan 21, 2019❤️1
    93
    分布式 一定有
    1 仲裁能力
    2 >=3 的参与仲裁成员
    3 快速的同步
    4 仲裁投票
    5、6、7....等等等等

    讲到底还是要懂 Paxos 那套原理

    一 redis 搞分布式锁,意思意思就行了.....
    yuankui
    yuankui
    Jan 21, 2019❤️5
    94
    我觉得现在的面试题,都问的是:茴香豆有几种写法,而没有人关心茴香豆做法。
    道理说的一套一套的,实际干起来,就啥都不会
    matrix1010
    matrix1010
    Jan 21, 2019 via Android
    95
    @poplar50 现在要求越来越高了, lru 在 leetcode 可是 hard, 不过要求 O(1)
    loser
    loser
    Jan 21, 2019
    96
    去年初创业失败重新出去找工作面试运维,结果问了很多我都答不上的问题,毕竟我也脱离运维有一两年,最后确实也没过,然后想了几天再次拉上朋友重新创业,这回不干技术干运营,目前公司已经实现持续盈利,有时候真的可能转个弯换条路也行。
    ikaros
    ikaros
    Jan 21, 2019
    97
    为啥揪着 redis 问,而且如果不是专职 redis 运维谁会把 redis 搞得那么熟啊
    poplar50
    poplar50
    Jan 21, 2019 via Android
    98
    @mortonnex 就常用算法 问 top k 的比较多
    https://todebug.com/BFPRT/
    poplar50
    poplar50
    Jan 21, 2019 via Android
    99
    @matrix1010 头条尤其喜欢这个 还有滴滴也问到了
    atonku
    atonku
    Jan 21, 2019
    100
    面试造火箭,入职拧螺丝
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   689 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 185ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    ♥ Do have faith in what you're doing.