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

大家面试别人流程是怎么样的

  •  
  •   lyxxxh2 · 19 天前 · 2717 次点击

    我 5 年后端,懂些前端,在微小公司,基本都是面 1-3 年的人。

    我面试别人的话,套路差不多是固定的。

    看项目

    看项目客户端,再问下实现细节。

    假设有个聊天功能,我会问:

    • 用啥语言
    • 用啥函数/扩展包
    • 用啥协议
    • 用啥存储
    • 用啥保证心跳
    • 生产用啥部署的。

    (回答/乱答不出来,基本是培训机构)

    用代码问代码理解

    比如闭包和 promise 数组方法。

    闭包:

    a.forEach(item => console.log( item() ))
    
    a = # a 等于什么可以打印 helloworld
    
    

    promise (难点的 可以加个定时器):

    a = () => Promise.resolve(1)
    b = () => Promise.resolve(2)
    c = () => Promise.resolve(3)
    根据 a b c 打印 1 2 3
    

    数组:

    [].map 
    [].reduce 
    [].filter
    (真一堆人只知道 for)
    
    16 条回复    2024-04-15 10:37:16 +08:00
    hlwjia
        1
    hlwjia  
       19 天前
    最后一点破防了
    LongMaoz
        2
    LongMaoz  
       19 天前
    直接问线程 同步异步就行了 很快就能分辨出培训班的
    <code>
    CancellationTokenSource cts = new CancellationTokenSource();
    Task task1 = Task.Run(async () =>
    {
    for (int i = 0; i < 3; i++)
    {
    if (cts.Token.IsCancellationRequested)
    {
    Console.WriteLine("Task 1 was cancelled before iteration {0}.", i);
    break;
    }
    Console.WriteLine("Task 1 - iteration {0}", i);
    await Task.Delay(1000);
    }
    Console.WriteLine("Task 1 complete");
    }, cts.Token);

    Task task2 = Task.Run(() =>
    {
    Thread.Sleep(2500); // Simulate some work
    cts.Cancel();
    Console.WriteLine("Task 2 complete");
    });

    Task.WhenAny(task1, task2);
    Console.WriteLine("First task completed.");

    await Task.WhenAll(task1, task2);
    Console.WriteLine("Both tasks completed.");
    </code>
    LHRUN
        3
    LHRUN  
       19 天前
    后端不说了 前端这几个很简单 初入行级别 😂
    iOCZS
        4
    iOCZS  
       19 天前
    考察框架,css ,js ,ES6 ,工程化,一些场景的实现等
    Jinnrry
        5
    Jinnrry  
       19 天前
    1 、自我介绍 3 分钟
    2 、介绍一个最有亮点的项目
    3 、在他项目里面挑两个难点问问
    4 、手写一个多线程通信
    5 、手写一个快排
    me1onsoda
        6
    me1onsoda  
       19 天前
    最后一点破防了
    接手前端的时候,经常我有个感悟,同一个功能 js 有好多写法。还是 less is more 好
    ETiV
        7
    ETiV  
       19 天前 via iPhone   ❤️ 2
    我会先做自我介绍(我是什么职位、干嘛的),接着介绍我们公司业务是什么、规模啥样,岗位是什么部门、具体做些啥,需要什么样的人。“我们看到你的简历可能比较合适,所以见面聊一聊。也请你简单介绍下自己。”
    (我觉得先自我介绍比较尊重对方;有些候选人是 HR 搜来、猎头推来的,可能没看过我们 JD ;以及因为我已经强调了岗位需求,候选人聪明的话应该有自己的话术来在后面的面试过程中着重体现他/她的优势)

    然后是针对简历进行深挖,看他做事的逻辑、想法的深度。

    或真、或伪代码地实现几个算法或者工程上的问题,我有一个面试专用的 12 寸 MacBook ,可以上机实操。
    worldhandsomeboy
        8
    worldhandsomeboy  
       19 天前
    基础考察一下,过往项目问一下,提点难的问题考察对面的理解和解决思路。最后综合对方的性格、能力,以及进来后靠谱程度,心里默默打个分。
    Chrisssss
        9
    Chrisssss  
       19 天前   ❤️ 1
    针对 1-5 年的候选人重点考察学习能力和深入思考能力,基于项目提出一些问题判断是否有在项目中主动思考的过程。5 - 10 年重点考察对业务的理解和架构设计能力,一般会基于场景让候选人提供一个大致的技术方案设计
    xwwsxp
        10
    xwwsxp  
       19 天前
    a.forEach(item => console.log( item() ))

    a = # a 等于什么可以打印 helloworld 这个压根不是闭包啊,这是高阶函数的用法吧


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta content="IE=edge" http-equiv="X-UA-Compatible">
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
    <title>Title</title>
    </head>
    <body>
    <script>
    var arr = ["张三", "李四", "王五"]

    // 版本④ :通过在 Array.prototype 中添加 XForEach 函数,并在 XForEach 中通过 this 关键字

    Array.prototype.XForEach = function (fn) {
    for (let i = 0; i < this.length; i++) {
    fn(this[i], i, this)
    }
    }

    arr.XForEach(function (item, index, arr) {
    console.log(item, index, arr)
    })

    console.log('--------------------------')

    arr.forEach(function (item, index, arr) {
    console.log(item, index, arr)
    })

    </script>
    </body>
    </html>
    8355
        11
    8355  
       19 天前
    主体流程其实差不多
    面试的过程是探底,而不是问倒。
    在你给出有效的引导提示时对方是否可以回答出问题,或着是解决思路。
    面试过程中根据简历描述与自身面试水平匹配程度有适当心理加分
    表达能力和沟通能力有加分
    这个工作年限的人我最在意可塑性
    有的人写的代码能烂出天际,因为以前的工作习惯和意识不好,你跟他说了以后他不觉得这是问题坚决不改。。。
    有的人写不是最佳实践有点啰嗦但是健壮度足够是能用的
    boblin
        12
    boblin  
       19 天前
    面试后端为啥要问这些?你们公司没前端吗
    NoobPhper
        13
    NoobPhper  
       19 天前
    什么都不问, 只关注,是不是真的喜欢自己在干的事情, 还有聪不聪明, 技术 成长可以用时间来替代
    chenjianyi
        14
    chenjianyi  
       19 天前
    只问思路,思路不行啥都是白搞,技术都是次要
    dode
        15
    dode  
       16 天前
    let b = function(){
    return "helloworld"
    }
    a = [b]
    a.forEach(item => console.log( item() ))
    dode
        16
    dode  
       16 天前
    a = () => Promise.resolve(1)
    b = () => Promise.resolve(2)
    c = () => Promise.resolve(3)
    console.log( await a(),await b(),await c())
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   975 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:41 · PVG 02:41 · LAX 11:41 · JFK 14:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.