公司招聘前端,来的人让我头皮发麻 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoming1992
V2EX    前端开发

公司招聘前端,来的人让我头皮发麻

  •  
  •   xiaoming1992 2021-03-22 17:10:14 +08:00 1948 次点击
    这是一个创建于 1742 天前的主题,其中的信息可能已经有所发展或是发生改变。

    笔试第一题, ul 下面 5 个 li, 需要实现点击 li 时打印 li 的 data-content

    有看着不会下手的

    有解答如:

    let a1 = document.querySelector("ul li:first-child") a1.addEventListener(...) let a2 = document.querySelector("ul li:nth-of-type(2)") a2.addEventListener(...) // ... 

    到公司面试的人, 答得最好的是下面这个:

    const list = document.querySelectorAll("li") for (let i of list) { i.addEventListener(...) } 

    笔试题可以不动手写, 简单讲一讲思路就行, 一个 PascalCase to kebab-case 字符串转换函数(所有题目里难度次高的一道题), 有一位面试者没做, 我就简单问了问思路, 说到判断一个字符是不是大写字符, 其实平常肯定不会问这么 xx 的问题的, 但是我突发奇想, 就问了一嘴, "那怎么判断它是不是大写字符呢?", 然后他想了一会之后说, 这个问题我牵涉的比较少, 然后我就只能 "行, 那我们看下一题吧"...

    在这儿要跟一位不知名 V 友说声抱歉, 其实他远程笔试答得还是很好的, 但是因为一些其他客观原因, 被 hr 否了

    10 条回复    2021-04-08 18:08:35 +08:00
    ReputationZh
        1
    ReputationZh  
       2021-03-22 18:28:49 +08:00
    ……我也想知道在前端里,如何判断大写字母,难道用正则?
    pangbeilei
        2
    pangbeilei  
       2021-03-22 19:04:10 +08:00
    想知道被否的那位客观原因指的哪方面的?
    noe132
        3
    noe132  
       2021-03-22 20:51:32 +08:00 via Android
    @ReputationZh 正则[A-Z],判断 charcode,甚至可以直接 letter >= 'A' && letter <= 'Z'
    xiaoming1992
        4
    xiaoming1992  
    OP
       2021-03-23 12:22:52 +08:00 via Android
    @ReputationZh 其实在 replace 方法里使用正则 A-Z,根本不需要额外判断了,他说判断,我才问他怎么判断。可以获取 ascii 值判断范围,可以直接使用大于号小于号,甚至直接 [A, B, C,...].includes() 都算对

    @pangbeilei 我的问题,第一次发布招聘贴没经验,等那位兄弟发过简历,hr 跟他联系之后跟我说,外地的不太合适。我一方面没有考虑到会有外地的投,一方面没有考虑到公司会不喜欢外地的,所以感觉很抱歉
    aaniao002
        5
    aaniao002  
       2021-03-23 19:31:39 +08:00 via Android
    我觉得看公司吧,如果要招来自己培养,会简单的 Javascript 就好,要厉害点的,可以试试 www.caniuse.com 上面抽几个常用 js function 和 css 考浏览器支持情况。再顶尖的请直接发设计稿。
    xiaoming1992
        6
    xiaoming1992  
    OP
       2021-03-23 22:39:56 +08:00
    @aaniao002 其实我们的要求已经一再降低了(毕竟薪资也不多。。。),只要基础的 js 过得去就行,可问题是来的一大半,连一句完整合法的 js 语法都写不出来,一个个经验都是两三年的。。。行,你这两年只用 vue,忘了 js 的语法,那你把他当成 vue,大致讲讲思路吧,思路也讲不出来。。。
    cyrbuzz
        7
    cyrbuzz  
       2021-03-24 16:19:14 +08:00
    ```
    const list = document.querySelectorAll("li")
    for (let i of list) {
    i.addEventListener(...)
    }
    ```
    这个有啥不好吗,除了没限定 ul?

    当然也可以给 ul 加事件判断冒泡的发起元素,这样只需要监听一次点击事件。
    xiaoming1992
        8
    xiaoming1992  
    OP
       2021-03-25 00:31:03 +08:00 via Android
    @cyrbuzz 肯定要搞一下事件委托啊。其实他们这样写,我都会问一句,"那如果我 li 很多,需要绑定很多次事件,能怎么样优化一下吗"。我感觉前端看到这样的题目,本能就会想到事件委托吧,难道我想错了?
    mayliya
        9
    mayliya  
       2021-03-27 14:06:46 +08:00
    我突然有点自信了
    KouShuiYu
        10
    KouShuiYu  
       2021-04-08 18:08:35 +08:00
    ```js
    document.querySelector('ul').addEventListener('click', (event)=>{
    console.log(event.target.innerText)
    });
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2614 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 09:57 PVG 17:57 LAX 01:57 JFK 04:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86