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

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

  •  6
     
  •   javaWeber · 322 天前 · 31342 次点击
    这是一个创建于 322 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    以上是一般岗位的面试,

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

    难道问问 redis 启动命令是什么,常用数据结构有哪些?每个人都会,那作为企业怎么筛选出优秀的人呢?
        161
    ntop   320 天前
    @hexoxssaa 突然想起来以前有个很吊的做运维的学弟,现在已经混到总监了(我作为学长还在辛苦创业中),这是它的博客: http://jaseywang.me/ 应该可以反映他的水平的,作为运维外行我总觉的屌屌的。
        162
    wflanglanglang   154 天前
    也许他面试你的东西,都是他已经生疏的东西
        163
    ycs2019   130 天前
    你这是几年经验,什么薪资水平? Redis 主从要保持强一致性,如果主挂逼了,还能怎么办,就是挂了呗。
    要是我就回答 redis 搞分布式锁不搞主从。(手动滑稽
        164
    Balloonwj   17 天前
    别灰心,用心准备和多尝试几次就可以了,可以看看下面这些内容:

    文章标题:我是如何年薪五十万的?
    文章链接: 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
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   929 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 44ms · UTC 21:57 · PVG 05:57 · LAX 13:57 · JFK 16:57
    ♥ Do have faith in what you're doing.