V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JerryY
V2EX  ›  职场话题

最近面试有感

  •  
  •   JerryY · 2020-06-05 15:06:53 +08:00 · 7148 次点击
    这是一个创建于 1392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人前端。三年经验。技术尚可。主要是 Vue 技术栈,对源码也有一定程度的了解。最近面了一些公司,深感现在行情差的离谱,分享一下最近的一些面试。

    阿里面了两个 BU 都挂了,都是在项目经历这块,很遗憾,到现在为止都没什么出彩的项目,满足不了“复杂”的业务场景需要,这我也实在没有办法。阿里的面试整体体验还是不错的,就是不守时,还被蚂蚁金服的鸽了两次。

    南京某家公司,一面二面都过了,终面的时候那个什么副总竟然直接问我接不接受高强度的工作,我就说看多大的强度吧,他直接说我们这边要三个月的 996,你能接受么?我说不了,遂挂。

    南京另一家公司,也是一面二面都过了,二面的面试官跟我说大小周,周一三四晚上加到 9 点,到这里我已经很排斥了。hr 跟我约终面,说他们什么总经理要看我的作品,证实一下我的实力。我说我目前做的几个都是公司内部项目,都有公司的数据在里面,不能演示(我们的测试环境和正式环境的数据是一样的,同步过来的)。她说那你自己看着办吧。我就没鸟她了。

    英语流利说的面试,中规中矩的前端问题都都答上来了,然后有意思的来了。他问我为什么 ES6 为什么可以做静态分析。我???当时真想反问来着,想想还是算了。还有一个就是 webpack loader 的,他问我为什么执行顺序是从后往前的,我说不一定,如果定义了 pitch 方法的话会从左到右先执行 picth 方法,再从右向左执行 loader 。他愣了一下,说那不考虑这个呢,我说这个 webpack 内部就是这么实现的,没什么特殊的,他好像很不高兴,然后问我实现从左到右为什么不可以。我????

    上海某一家电商公司,这个面试官真的我至今遇到的连问题都不会问的面试官。我列几个大家品品:

    1. VueRouter 里面没有暴露给用户的两个钩子是什么?
    2. VueRouter 如何实现 keepAlive 的功能?(没错,就是如何实现)
    3. Vuex 的数据是如何分发到页面上的?
    4. Promise.all([...]) 中如何区分哪一个 promise 出错了产生异常

    第一个问题我记不清了,说忘了,谁看源码记得这么清?
    第二个,问半天也没问明白他想问什么? keepAlive 是 Vue 提供的功能,跟 VueRouter 有毛线关系?我还提醒他是不是想问两者如何结合使用。他说不是,说 VueRouter meta 中有个配置可以实现。我不记得我看过的源码中有类似的功能,想着是不是最近出的新特性,就说不了解。
    第三个问题,你们绝对想不到答案是什么。我先是回答了 Vue -> render -> update 的那一套流程,他说不对;然后我又回答了 Vuex dispatch 数据的过程(因为我猜他说的分发是 dispatch )他又说不对,然后他提示我,说你想想为什么我们可以在 Vue 组件中拿到 store 这个对象的,你能想象我有多无语吗??我就说了 Vue.use(Vuex) 的过程,主要是通过 parent 然后不断指向 Vue 构造函数中传入的 store 对象。他说对。
    第四个问题,我说可以给每一个 Promise 定义一个 catch 方法,他说不行,我放弃了,不跟他争了。
    他提的每一个问题我都要跟他确认好几次,心累。

    我还是继续苟着吧。希望大家找工作顺利,一起加油吧~

    44 条回复    2022-07-25 13:09:53 +08:00
    plainboiledwater
        1
    plainboiledwater  
       2020-06-05 15:25:32 +08:00   ❤️ 3
    该庆幸,进去了你岂不是倒大霉了。
    JerryY
        2
    JerryY  
    OP
       2020-06-05 15:47:13 +08:00
    @plainboiledwater 是的,这样的面试很难受,也不知道是出于什么心态。
    meteor957
        3
    meteor957  
       2020-06-05 15:53:42 +08:00
    @JerryY 跟心态没关系,供需罢了,如果它迟迟招不到人,就是另外一幅嘴脸了。
    nise3055
        4
    nise3055  
       2020-06-05 15:54:23 +08:00
    每个我答的不满意的问题我都会反问回去。
    面试凭啥只能他面我,这是个双向选择。
    而且面试结束我最喜欢问的两个问题就是,如果我进公司了需要我解决什么问题 / 面试官您是我的直属上司 or 搭档吗?
    fangdown
        5
    fangdown  
       2020-06-05 15:54:30 +08:00
    来来来 [深圳 /长沙] 腾讯云前端社招~~急招!!!联系我内推,微信同号
    fangdown
        6
    fangdown  
       2020-06-05 15:57:00 +08:00
    双休! 人多 ,加班适度
    JerryY
        7
    JerryY  
    OP
       2020-06-05 15:57:21 +08:00
    @nise3055 我有一次问过,结果他让我回去查查。。。后来我就很少或基本不反问了
    plainboiledwater
        8
    plainboiledwater  
       2020-06-05 16:14:20 +08:00   ❤️ 1
    @JerryY 问这些有的没的,其实就是这个人的水平不行,真的。正儿八经做过点大项目的人面试不会问这些没用的皮毛。
    choudidi
        9
    choudidi  
       2020-06-05 17:01:26 +08:00
    前端现在不是很吃香吗
    Martox
        10
    Martox  
       2020-06-05 17:13:33 +08:00
    同是前端,也是面了阿里 3 次,都问了之前有什么有成就感的项目。这个问题真的答不出来,小公司,如果你问前端技术还好,但是问有深度的项目,小公司的项目在大厂看来不就是个玩具么
    wukongkong
        11
    wukongkong  
       2020-06-05 17:24:44 +08:00
    老哥,你薪资是什么范围呢

    这些题目。。。。我感觉我都挂了。。
    Vegetable
        12
    Vegetable  
       2020-06-05 17:28:05 +08:00
    @nise3055 #4 然后对方也说不出个所以然,给你一个似是而非的微笑,更操蛋
    JerryY
        13
    JerryY  
    OP
       2020-06-05 17:38:25 +08:00
    @Martox 是的,小公司没有复杂的业务场景,只能自己钻技术深度。希望下次好运吧。
    JerryY
        14
    JerryY  
    OP
       2020-06-05 17:43:10 +08:00
    @wukongkong 这个不方便透露啊 😅这些题目不难啊,难的是面试官。比如你问 ES6 为什么能静态分析,这几个顶得住啊。
    wusheng0
        15
    wusheng0  
       2020-06-05 17:47:41 +08:00 via Android
    @JerryY
    你就说,“看来你也不清楚呀”
    cheeto
        16
    cheeto  
       2020-06-05 17:50:32 +08:00
    “VueRouter 如何实现 keepAlive 的功能?”这题我笑了,不会是刚看完某篇文章就想起来出这么个题吧
    JerryY
        17
    JerryY  
    OP
       2020-06-05 17:55:29 +08:00
    @cheeto 这个我们不得而知 [狗头
    JerryY
        18
    JerryY  
    OP
       2020-06-05 17:56:42 +08:00   ❤️ 1
    @wusheng0 我目前面试中出于的状态还是那种“哎,算了算了”的状态(捂脸)
    damngood
        19
    damngood  
       2020-06-05 18:00:37 +08:00
    纯好奇, 最近时不时看 `BU` 这个词, 到底是指的什么呢?
    JerryY
        20
    JerryY  
    OP
       2020-06-05 18:02:02 +08:00
    @damngood 事业部 ( Business Unit )
    Martox
        21
    Martox  
       2020-06-06 08:42:16 +08:00 via iPhone
    @JerryY 这个我面试的时候也喜欢问
    leontung
        22
    leontung  
       2020-06-06 10:02:24 +08:00
    我也面了流利说,虽然是后端,面试感觉还可以虽然没过哈哈。
    我认为不管怎么样,从语气还到沟通方式,最好还是和面试官和和气气不要惹面试官不开心,毕竟面试官不开心直接损失是自己,没有 offer 岂不是失去了一次机会?除非自己认为就是要自己开心,损失 offer 也在所不惜。
    我一直秉持与面试官做技术交流的心态去面试,大家都是朋友,指出我不足我虚心接受(面试中还挺频繁的,但我反而心怀感恩,因为我以后就知道了),如果面试官真的有错误,客客气气的讲出自己的想法,再倾听他的意见。
    相对于“这个 webpack 内部就是这么实现的,没什么特殊的”,我可能会以“如果不考虑这个,blah blah blah”,虽然我不懂前端,但我知道对方问的是个开放题,应该也以开放式的回答响应,而不是以“没啥特殊的”回答过去,说不定世界上还真的有更好的方案呢?又或者更好的想法就在沟通中出现了。毕竟我看 Golang 的垃圾回收都经过了几个版本的迭代,并不是一次就是最优的。
    另面试聊得好说不定还可以后面加个微信,说不定以后还有合作的机会。
    祝工作顺利。
    yun77op
        23
    yun77op  
       2020-06-06 10:49:39 +08:00   ❤️ 1
    我试着回答一些问题,楼下可以参考下

    1. es6 为什么可以做静态分析,因为 es6 的模块系统是有严格定义的,import 只能在文件顶部,import 没法放在 if 里( conditional import ), 所以是可以做静态分析的
    2. loader 执行顺序为什么是从后往前,我觉得我会回答,loader 是如何组合的,本质是使用了 reduce,如果使用的是 reduceRight 就是从前往后,再扩展点的话可以说 redux 的中间件也是从后往前的组合的。
    3. Promise.all([...]) 中如何区分哪一个 promise 出错了产生异常,这个我觉得只能对异常做特征检测,比如通过 error code 啥的
    yun77op
        24
    yun77op  
       2020-06-06 10:50:38 +08:00
    “楼下可以参考下” =》 “楼主可以参考下”
    JerryY
        25
    JerryY  
    OP
       2020-06-06 11:34:14 +08:00 via iPhone
    @yun77op 谢谢~这些问题我不是不会,而是真的面试官给我的感觉就是不是要这些答案。我大概的说了如下的内容:像 esm 就是用严格的定义来达到这种静态分析的目的,不像 commonjs 等那样灵活;第二个我也知道它内部可能是用函数式的实现而不是 pipe ;第三个我有想过可不可以给 Promise 加一些标记为然后在 catch 中判断。他们都不满意,我也很无奈,我还说不好意思这块我不怎么熟…哎
    JerryY
        26
    JerryY  
    OP
       2020-06-06 11:40:02 +08:00 via iPhone
    @leontung 谢谢~我发的文字是我的大概的意思啊,我也稍微说了一点实现啥的,但是给我的面试感受一直都很不好,我后面答的就有些带着情绪了。你说的我很认同,而且我基本上对面试官基本都是尊重的,还是有很多面试官是很友好的交流技术的,这样的少数,我就自认倒霉吧。
    YuTengjing
        27
    YuTengjing  
       2020-06-06 11:52:08 +08:00
    Promise.all 那个问题可以自己封装一个 PromiseAll,给 reject 的 reason 打个 patch 。webpack loaders 顺序的问题我觉得就是函数式风格的问题。
    leontung
        28
    leontung  
       2020-06-06 13:54:35 +08:00
    @JerryY 没事,继续加油。若给你点安慰的话,流利说人才流失严重,我认识的都离职了,去了头条之类的公司。所以别气馁,可能下一家公司会更好。
    aaronysj
        29
    aaronysj  
       2020-06-06 14:43:44 +08:00   ❤️ 1
    千里马常有,而伯乐不常有
    JerryY
        30
    JerryY  
    OP
       2020-06-06 15:43:20 +08:00 via iPhone
    @YuTengjing 重写 Promise 倒是个思路哈~ webpack 那个我知道,无非是人家实现的问题呗,而且 pitch loader 的话执行顺序也不是从后到前的。
    JerryY
        31
    JerryY  
    OP
       2020-06-06 15:44:02 +08:00 via iPhone
    @aaronysj 哈哈,我算不上千里马,顶多算八百里马 😂
    JerryY
        32
    JerryY  
    OP
       2020-06-06 15:44:17 +08:00 via iPhone
    @leontung 多谢~
    myliang
        33
    myliang  
       2020-06-06 16:09:31 +08:00
    心累。。这些问题都答不上来.....
    flashback313
        34
    flashback313  
       2020-06-07 01:15:33 +08:00 via iPhone
    loader 顺序被问过,然而我恰好记反了,场面极度尴尬
    pyplayer
        35
    pyplayer  
       2020-06-07 11:14:28 +08:00 via iPhone
    做个程序员真是难啊
    WittBulter
        36
    WittBulter  
       2020-06-07 14:22:19 +08:00
    面试结果的好坏也有一定的运气成分,而且即便遇到了和你对头的面试官,也可能遇到一些知识盲点,Max Howell 都能面挂了。自己保持心态才是最重要的。
    JerryY
        37
    JerryY  
    OP
       2020-06-08 09:30:26 +08:00
    @flashback313 哈哈哈,是不是还僵持了一会
    JerryY
        38
    JerryY  
    OP
       2020-06-08 09:31:02 +08:00
    @WittBulter 谢谢~
    wangfyyy
        39
    wangfyyy  
       2020-06-08 17:17:29 +08:00
    @leontung 同面,让我写一道 DP 的算法题,你呢
    leontung
        40
    leontung  
       2020-06-08 19:02:10 +08:00
    @wangfyyy 你应该是到了现场面吧?我在电话面就挂了,没有能够进现场面
    JerryY
        41
    JerryY  
    OP
       2020-06-09 08:49:45 +08:00 via iPhone
    @leontung 没有啊,都是远程面的
    leontung
        42
    leontung  
       2020-06-10 12:21:02 +08:00
    @JerryY 了解,我应该就挂在了第一轮电话面,没有后续的消息
    orangechengcheng
        43
    orangechengcheng  
       2020-06-10 13:58:16 +08:00
    emmmmm 英语流利说面试,后端,校招。如果 1 亿个连接,连接到 MySQL 单机,会出现什么问题。。。这个问题的确是把我打蒙了
    CoverL
        44
    CoverL  
       2022-07-25 13:09:53 +08:00 via Android
    项目经历确实不大好说亮点,如果不出彩的话
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3520 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:05 · PVG 19:05 · LAX 04:05 · JFK 07:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.