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

平时前端面试一些题目

  •  
  •   shenqi ·
    shenqihui · 2022-04-06 15:43:32 +08:00 · 4829 次点击
    这是一个创建于 969 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小厂招人难,烦人,这几年招人都没有断过。
    不像那些名声在外的厂,给得起钱请得起大神。


    目标招中级的前端,不知道以下几道题算不算超纲,目标是 1-3 年经验的前端:

    一面主要问题:
    1 ,设置 cookies 的参数。
    2 ,正则里面的小括号代表什么,贪婪非贪婪是什么。
    3 ,箭头函数特性是啥,使用了 call,apply,bind 运行会怎么样,this 变成什么,为什么。
    4 ,树,深度遍历和广度遍历是什么思想,怎么实现这思想。
    5 ,array 的 sort 的参数中 a,b 分别是啥。然后一个班的学生进行排队。条件一:按照身高从低到高排序。条件二:同样身高的情况下,女生排前。

    其他基础问题(例如 display 的合法值是什么)太基础,不写出来。


    二面主要问题:
    1 ,从产品,设计,测试,用户这几个角度考虑,设计个登录功能。
    然后和后端(我临时假装后端)商量怎么做,需要什么样的 api 。
    2 ,你觉得应该怎么做 省->市->区 这种级联的数据源怎么组装,api 要怎么样给。


    一面考得的是基础,还有就是指点后领悟解决的问题。(不希望回:这个不知道。)

    二面考的是前端的素养,作为一个前端,肯定得关注平时的功能,而不是只是为了切图而切图。而且还最少知道后端大概返回什么样的结构,为什么这样返回。

    希望有正在找工作的前端,考虑考虑我厂。
    第 1 条附言  ·  2022-04-07 10:26:45 +08:00
    感谢这么多人的回复。

    先解析下一面的题目并非只有这些,有很基础的,列出的只是一些很多人都没回答上的问题,然后询问是否超纲。
    例如:display 的值,position 的值,absoulte 的 top 、left 之类的计算标准,margin 塌陷,var,let,const 的区别,react 生命周期,useEffect 的使用。
    如果一个觉得自己水平还可以的人员,被问到例如 margin 塌陷,absoulte 的 top 、left 之类的计算标准,react 生命周期这类问题,我觉得是对他的不尊重。

    结合回复,进行下面试问题的调整。

    一面的深入题目(语音面试):
    1 ,cookies 的 expire 参数没设置,会怎么效果。(这一点是本来那个题目的考察重点)
    2 ,正则不问了。
    3 ,回答出箭头函数的特性就行(不要回答简写,this 指向才是重点)。用了 call,bind,apply 之后的情况不做考察重点(会继续考,看会不会,加分项)
    4 ,深度遍历广度遍历的思想(加分项,为了二面的级联选择做铺垫)。
    5 ,sort 方法,1 ,如何多一个数字数组进行排序。2 ,如何对一个学生信息进行身高的排序。3 ,身高+性别结合排序继续问(不考察写排序算法。)
    (面试结束完毕会提醒后面的流程会继续询问没回答上的)

    二面(跟一面同一人):
    基本上约二面的都基本上来技术上通过来评估薪酬的。所以后面的技术面试都是以这个为中心。
    常规操作是会询问一面的回答不上的问题,看看有没有重新去解决没解决的问题,如果有回头重新看,那么基本上是定了入职的,再多问的问题是问了确定薪酬标准。


    三面:技术大佬面(大佬需要了解下行不行,避免一二面走漏眼,初级职位不需要这个)
    四面:hr
    二三四面在同一天。
    第 2 条附言  ·  2022-04-11 16:21:04 +08:00
    看了大家的回复,谢谢大家的意见。特别是 @crackhopper
    同时希望大家不要误解,并非需要全部回答上才算通过,这期间要是表达出想要探索出答案的思想就算,这只是口头面试,不是书面面试让具体写出代码,只是通过两人电话连线问大概什么方向解答。薪酬也不要想有大偏差,广州平均水平。

    然后说下第五题。说个现象,面试那么多人,平均两年经验,[1,2,5,3,4,5] 知道怎么进行排序,然后变成 [{name: 张三,height:186},{name:李四,height:190}],根据 height 进行排序(不是问升序还是降序),一半答不上来。这道题考得主要是为什么返回 a-b 能进行升序或者降序。再加二重排序更是寥寥无几。
    33 条回复    2022-04-13 15:34:21 +08:00
    superfatboy
        1
    superfatboy  
       2022-04-06 16:55:55 +08:00
    正则那个,虽然知道意思,但是记得非常模糊,我每次都要看一眼文档,哈哈!
    Robertwhite
        2
    Robertwhite  
       2022-04-06 17:27:07 +08:00
    我感觉自己基础确实有点忘记了,还得复习下才行😂,

    设置 cookies 的参数 这个大家工作中用的多吗? 感觉我工作中基本用不到😂

    坐标哪里的?薪资范围是多少呢?
    gxm44
        3
    gxm44  
       2022-04-06 17:48:00 +08:00
    cookie 这个,可以从安全角度审视几个参数的作用。比如 same site ,http only...
    pengtdyd
        4
    pengtdyd  
       2022-04-06 17:59:47 +08:00
    小厂其实招聘更应该侧重实际的项目经验,而不是基础,能干活才是王道,技术不重要
    enchilada2020
        5
    enchilada2020  
       2022-04-06 18:37:59 +08:00 via Android
    @pengtdyd 这要求还算高吗。。。如果这些都说不上来 谁信他能干活。。
    zhaol
        6
    zhaol  
       2022-04-06 18:49:12 +08:00
    我只知道 a-b 是升序,至于 a,b 是什么,应该怎么答?
    DrakeXiang
        7
    DrakeXiang  
       2022-04-06 19:38:52 +08:00   ❤️ 4
    干了五六年前端几乎没用过 cookie...
    superfatboy
        8
    superfatboy  
       2022-04-06 19:51:45 +08:00
    @DrakeXiang 不至于吧??你们这是什么 NB 项目
    ALLROBOT
        9
    ALLROBOT  
       2022-04-06 20:06:00 +08:00
    我不是前端的,以前搞爬虫也就用过正则表达式、cookie 、树、遍历算法之类的,3 的我没学过 js 的箭头函数,5 的 ctrl 看函数说明不就行了
    NCry
        10
    NCry  
       2022-04-06 20:34:04 +08:00
    惭愧惭愧,这几个问题居然没有一个是能直接完整的回答出来的。
    slmaaw
        11
    slmaaw  
       2022-04-06 20:52:32 +08:00 via Android
    问参数能答上来只能说明用的多或者正好背到,没别的,正常开发都是 mdn 直接看,也浪费不了时间,还不容易记错
    zzwyh
        12
    zzwyh  
       2022-04-06 21:06:45 +08:00
    一面
    1 、cookie 这个建议从安全方面来,不然参数太多了
    2 、正则的话个人认为不是考察的重点吧,虽然这两个问题也不难
    3.4.5 我觉得还正常,不过要是只想找能做事的,我觉得算法的占据比例可以小一点

    二面的话我觉得都挺好的,要循循善诱吧,慢慢深入这种问法
    zzwyh
        13
    zzwyh  
       2022-04-06 21:07:54 +08:00
    @zzwyh 那个排序看错了,只是单纯的掉 api 的话没啥的,我以为是实现一个排序
    chenrui920614
        14
    chenrui920614  
       2022-04-06 22:23:13 +08:00
    建议多结合候选人的项目经历问
    Cbdy
        15
    Cbdy  
       2022-04-06 22:59:24 +08:00 via Android
    我的经验,一般能答一下 var 、const 、let 的区别,就算中级了
    yhxx
        16
    yhxx  
       2022-04-06 23:49:21 +08:00
    工作 5 年了

    设置 cookies 的参数这个问法一时真没想到是什么,以为是要问 set-cookie
    看了楼上的回答才知道

    正则完全不会,全靠用到的时候临时搜

    箭头函数可以扯一下,加上 bind 就不会了

    树勉强能答一下

    排序 a,b 分别是啥也不知道,只知道升序降序
    Leviathann
        17
    Leviathann  
       2022-04-06 23:51:57 +08:00
    建议介绍 point free/tacit programming 的概念以及随便一个 fp 库,然后把一个稍复杂的链式调用改为 pipe
    rioshikelong121
        18
    rioshikelong121  
       2022-04-07 08:44:02 +08:00
    惭愧 我想不起来正则里面 <> 代表的是什么
    yaphets666
        19
    yaphets666  
       2022-04-07 09:20:16 +08:00 via iPhone   ❤️ 1
    我最近也在招人,小厂还问这么细,你永远都招不到人真的。
    freak118
        20
    freak118  
       2022-04-07 09:37:20 +08:00
    问参数这种 真的是没必要吧
    DrakeXiang
        21
    DrakeXiang  
       2022-04-07 10:51:28 +08:00
    @superfatboy 可能也是我做的项目太少了,我们接口基本都是 jwt ,只有前司的一个老项目里面有 cookie ,后面重构也去掉了。。我对这块知识基本空白,只记得当初学前端的时候顺带知道的一些,比如有 4kb 还是多少的大小限制,然后会随着每次请求带到服务器,然后可以设置过期时间,安全性不如 localstorage/sessionstorage ,其他就基本不知道了
    wangtian2020
        22
    wangtian2020  
       2022-04-07 11:31:10 +08:00   ❤️ 2
    人无法熟悉自己平时不用的功能。cookies 我没用过没关注,正则我每次使用都是查文档,正则我用过最实用的一次是匹配 px 且不匹配 rpx (微信小程序)。call,apply,bind 没用过,从没遇见过这种场景。promise ,async fun ,await 不问问? dfs 和 bfs 我也就勉强能写平时根本用不到,级联组件不会真有人手写吧。
    flex 布局是重中之重,不会 flex 直接当不会写 css 。登录功能前端只负责实现,为什么还要设计,省市区这种肯定用现成的组件,组件要求什么格式就什么格式呗,你要我现做联动组件也没问题,给一周时间吧。
    现代前端是不用切图的,切图是美工是产品的工作。

    面试应该他的实际经验入手,问问他以前做过什么项目,进行中有遇到什么问题,最后怎么解决的。
    八股文的老题目真的别问了,this 我用 globalthis 。
    XTTX
        23
    XTTX  
       2022-04-07 12:24:58 +08:00
    应该允许被面试人从以往的项目里找出答案。
    -我都弄过,但是我一定要背下哪些不常用的东西吗?
    -现在 copilot 的强大,让我更不会去背那些基础的语法了。
    -arr.reduce 我用惯了。你要让我口述, 我口述不出来。

    有的时候我更愿意被考验 “我能不能解决问题”.
    php01
        24
    php01  
       2022-04-07 13:50:37 +08:00
    小厂没关系,你说的中级也没关系。不如说说你这些题目答出来公司能给到什么待遇。
    MoYi123
        25
    MoYi123  
       2022-04-07 16:42:22 +08:00
    树,深度遍历和广度遍历是什么思想,怎么实现这思想。
    完全不知道你的思想是什么意思.

    不如换成给一个 json {"a":{"b":1,"c":{"d":1} }
    转换成 ["a-b-1","a-c-d-1"] 这样的写代码的题目.
    zyPro
        26
    zyPro  
       2022-04-07 17:37:38 +08:00
    @php01 说得真好~,列出一堆面试题,offer 一看薪资 3k
    mxT52CRuqR6o5
        27
    mxT52CRuqR6o5  
       2022-04-07 18:42:03 +08:00
    深度优先&广度优先,你不说优先人家可能根本没明白你的意思,还以为要获取对象的深度和广度呢
    crackhopper
        28
    crackhopper  
       2022-04-08 14:48:54 +08:00
    有部分感觉忘了:cookie 参数、sort 参数、css 处理的一些细节。毕竟两三年没写前端了。倒也不算太超纲。不过既然是小公司,你就只能降低要求了。建议你还是多考虑是否聪明、是否保持学习以及是否足够踏实,问题围绕这些中心思想来。
    KuroNekoFan
        29
    KuroNekoFan  
       2022-04-08 15:22:51 +08:00
    @enchilada2020 高倒是不高,但是面试干巴巴的问这些属于搞笑行为,比八股都不如的....
    zooeymango
        30
    zooeymango  
       2022-04-08 15:51:53 +08:00
    为什么不问问项目的实际解决问题相关的东西呢, 感觉你问的这些属于是前端里不怎么重要的内容, 可以参考大厂的面经他们问的都很深刻很实际
    wycxgp
        31
    wycxgp  
       2022-04-08 17:25:36 +08:00
    根据我的经验,楼主这些问题 1-3 年的前端很难说出道道,主要还是看待遇,待遇平均水平的话,我想能答上来的求职者可能也不会考虑你司
    zhouS9
        32
    zhouS9  
       2022-04-12 11:10:30 +08:00
    “不会 flex 直接当不会写 css” 这句话我喜欢🤣,干了两年才开始用 flex ,现在基本就用它一把梭
    @wangtian2020
    acvvkhalil
        33
    acvvkhalil  
       2022-04-13 15:34:21 +08:00
    问 dfs 和 bfs 思想, 我觉得不如来一道算法题压压惊比较好, 最简单的, 例如岛屿问题, 用两种方法实现, 不就好了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2494 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.