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

关于第一天的前端求职经历( 2 年悲愤 xx 后续)。——已被当天告知未通过

  •  
  •   az1996 · 2017-03-30 21:59:36 +08:00 · 11210 次点击
    这是一个创建于 2581 天前的主题,其中的信息可能已经有所发展或是发生改变。

    两日前,发了一篇吐槽,莫名的火了一把。经过大家的建议与鼓励,于是修改了简历,开始了重新投递, 2 天后接到第一份面试邀请。

    此文为个人面试经历, QA 问答过程与总结,不透露面试公司及面试人员,内容真实,如果有面试过我的大佬看到博客,欢迎指出问题。

    循序可能有点乱,没记太清。

    1.面试时间 2017.2.30 下午两点——公司薪资 6K

    • Q :请先做一下自我介绍
    • A : barbarbar ,然而顺便谈了下自己的学习经历,讲了下自己在写的项目啥的。
    • Q :谈谈你对闭包的理解。
    • A :关于闭包,我个人的理解用一句话概括就是:一个函数在父级函数执行完毕后,如果任然留有对父级函数内部变量(作用域)的引用,那么就会建立闭包,我个人对闭包就是这样的看法,如果有什么错误,请务必帮我订正....

    原文出自 js 面对对象编程指南 P88 :如果一个函数会在其父级函数返回之后,留住对父级作用域的连接的话,相关闭包就会被创立起来

    • Q :谈谈你对 ES6 新的声明变量的方式的一些看法

    • A :关于这个问题,新的方式,比较有趣的就是所谓的暂时性死区什么的,简单的来讲吧。关于的第一个 const ,其实就是声明一个常量,不允许变更。另一个 let ,就是零时变量,或者说是局部变量(这两个都属于局部变量),能够由中括号直接产生一个零时的局部作用域了,而不必使用以前的立即执行匿名函数了, let 非常适合在 for 循环之类的场景中使用,不再需要使用迭代函数就能获得当前的变量了,对比 var 来看,新的这两个变量声明都不会在执行时被提升,并且编译速度比 var 更快。

    • Q :你说 const 声明的是常量,不能被改变喽?

    • A : const 声明的的确是常量,只不过是字面量常量不能被改变,如果是对象类型的话,是引用,对象的属性被改变是无法被检测到的,就像 vue 中,父子组件中通信,以及数据,如果是对象属性被改变,是无法被检测到的。

    • Q :你说 Vue 中如果对象属性被修改无法被检测到,那么你有什么解决方案?

    • A :这个,其实我觉得最好的解决方案就是严格遵守 vue 的理念,父子组件通信时不去修改什么对象属性,对象数据的属性,非要改动添加的话:使用( Object.assign() 或 _.extend())面试时,没想起来单词怎么拼.....

    关于对象属性的的修改的方法,有兴趣的可以了解下,Object.defineProperty( vue 好像就是基于它实现的双向数据绑定,还没读源码,不清楚楚),Object.assign是把属性添加到对象的方法。

    • Q :关于数组去重复你用什么方法?

    • A :因为目前我自己都是使用ES6 + Webapck2的方式写的代码,所以用的是Array.from(new Set(arr)或者[...new Set(arr)]的方式去重,原理是,用了 set 类型,允许重复的值得特性,然后使用 from 方法或者解构的方法来得到数组,关于其他的方法的话,有太多了,比如什么循环去重,什么迭代( reduce )啥的,我就懒得讲了,因为真的太多了。

    • Q :你提到了 Set 类型,那你讲下对 Es6 里 Map 类型的看法。

    • A :关于这个 Map 啊...(犹豫了一下)说实话,我没怎么去使用这个新的类型,毕竟怎么说好呢,目前我是将 Map 当成一个嵌套数组看待,毕竟 Map 和对象相比,只是比对象多提供了一个迭代用的接口,并且据说速度会比对象访问属性更快一点,现在来说,实在是没有什么使用场景,常用的一些工具函数,比如下划线.jslodash.js(不知道单词是否拼错),暂时都还没有提供对 map 的方法,但对象却有千千万的各类方法,并且, map 能够实现的对象类型也能够实现,比如迭代对象可以用for (let [k, v] of Object.entries(obj)),哦,最后一点差异就是允许 key 使用数字。不知道你有啥其他的看法嘛,或者知道 map 的一些使用场景,可以和我分享一下。

    楼主只用过下划线.js...对于 loadsh.js 没提供是猜测的。另外对象迭代这里出自,阮一峰大神写的 ES6 入门指南,对象篇。完整的是:

    let obj = { one: 1, two: 2 };
    for (let [k, v] of Object.entries(obj)) {
      console.log(
        `${JSON.stringify(k)}: ${JSON.stringify(v)}`
      );
    }
    // "one": 1
    // "two": 2
    
    • Q :关于 new 一个对象,你讲一下,具体是怎么实现的?

    • A : 什么? new 一个对象,额,这个不就是一个构造函数,然后 new 一个新的对象嘛,还能有什么流程嘛。不太清楚,你具体问的内容哈,你是问,构造函数内容的执行逻辑原理还是啥?

    • Q :那你谈一下对于原型的理解

    • A :原型啊,从哪里开始讲呢,我之前好像写过篇关于原型的博文,要不看看博文?毕竟在我看来,这方面内容太广了,一定要讲的话,可以说,(比面试时稍微把逻辑更通一点,面试时太紧张逻辑有点乱)原型自身就是一个对象,有自己的属性与方法,默认情况下是有一个指针指向原型的构造函数,构造函数也有个指针指向自己的 prototype...然后由构造函数 new 出来的对象,在原型链上默认指向构造函数指着的原型。。。好吧,我编不下去了,说真的,这玩意我得有个图或者纸才好演示啊。。要不你给我张纸,我画个图?

    廖雪峰大神写的教程非常棒,推介一下: http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014344997013405abfb7f0e1904a04ba6898a384b1e925000

    • Q :既然你原型不懂,那就谈谈原型链吧?

    • A: (心里活动:原型我得有纸才能演示,原型链,不得更需要纸吗),啊,原型链啊,我之前真的自己写过篇关于原型链的整理,能给你看下博客吗?...你让我凭空讲...好吧,大概原型链就是...说实话,我现在用的都是 Es6 的 class 方法,虽然 class 也是基于原型链的语法糖,但是简单方便啊,所以我这段时间都都没怎么关心原型链的,毕竟原型链继承在 js 面对对象编程指南里写了十几种方法啊...我这人,有时候喜欢简单高效的东西,就像数组去重,我都用 set ,只有遇到一些相关问题,我才回去找新的解决方案。(后面把十几种方法拍张照给大家观摩观摩,虽然有些不是基于原型的)

    • Q :你说你都是遇到问题再去解决,那你谈谈移动端一像素问题你是怎么解决的?

    • A :移动端一像素啊,简单来讲,就是设置个伪类,然后响应下屏幕的 dpr ,用 css3 的缩放进行解决。用一些预处理器写个 mixin 函数就能解决。

    • Q :有其他的解决方案吗?

    • A :这个老实说,还真没研究过,在前面我提过,很多东西我都是遇到问题然后去解决的,如果目前有最优解决方案,我为啥要去用其他的,比如目前移动布局我用的就是 flex 布局,我感觉兼容性也不差。。。当然,主要原因也在于我没啥工作经验。

    顺手再推一波阮一峰大神的 flex 教程: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

    • Q :你有使用过 css 预处理器吗?

    • A :目前在使用 stylus , less 也有接触过, stylus 我主要喜欢无需括号,以及变量或者函数不用加什么奇怪的前缀

    • Q :对于手机应用你有过了解吗?

    • A :如果指的是混合开发的 webapp 手机应用,我最近研究过 weex ,就是阿里去年开源的那个类似 react native 的,目前正准备写点什么个人项目,但是因为时间缘故所以暂时还是只计划。

    • Q :对于性能优化,你有什么方案?

    • A :性能优化啊,说实话,我目前因为主要都是自己的作品,没遇到过什么特别徐亚哟优化的地方,如果一定要讲的话。。。好吧,我简单讲一下吧,比如不要使用全局变量,因为相比局部变量,全局变量被索引时的速度最慢;不要过多使用闭包,闭包会占用内存;要对闭包中需要递归的地方进行尾递归优化不然容易导致内存泄漏(主要好像是 ie 下,没有实际测试过),对 script 标签进行合并,毕竟页面遇到 script 标签就会停止渲染(主要是因为浏览器不能确定 script 标签会不会改动 dom ),在使用 ajax 时,对一些内容尽量使用 get ( get 默认会保留缓存),额...还有的话,说实话,我来面试前忘了去找份面试指南背,很多东西由于我没有实际的遇到过我并没有太过深入。如果是我遇到过得问题,我详细我应该能够了解。说起来之前拜读过一本叫做 js 函数式编程指南的..因为内容有点深,就只看了部分。

    关于全局变量被索引的速度最慢,出自高性能 js...没有实际测试过,闭包内递归要使用尾递归优化,附送上连接,同样是阮一峰大神的: http://www.ruanyifeng.com/blog/2015/04/tail-call.html ,关于 js 函数式编程指南连接: https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/ (非常赞的一本免费电子书,不知为何,关注的人很少)

    • Q :你提到了 ajax ,那就谈下 ajax 吧。

    • A : ajax 啊,这玩意其实很简单,主要就是异步的从后端获取数据嘛,搞来搞去也就那么些接口啥的,在初学 js 时,我为了能响应 ajax 还简单的学了 php ,就是后端提供接口,前端用 get 或者 post 或者其他方式去请求数据,不会让页面停止运行啥的,目前我在写的项目中接入了聊天机器人,由于跨域问题,就用 node 做了个中转层,用来转发对机器人 api 的请求,流程就是前端请求本地的服务器,服务器请求机器 api...

    • Q :你对于跨域的解决方法了解多少?

    • A :前端跨域吗,最常用的应该是 jsonp 吧,后端动态生成 script (能够执行的 js 函数),然后把数据发送过来。或者是用 node 做个中转层啥的,方法好像挺多, H5 也有种新的方案,不过没深入研究。

    • Q :我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。

    • A: 啊, java 不能返回动态的 script 吗?我之前学过的 php 好像行,现在在学的 python 也行啊。

    • Q : python 是什么?

    • A : python 就是...它是一门编程语言,当初学 node 写爬虫时,发现 node 用模块模拟的多线程本质还是单线程,并且错误处理还麻烦,我还得用进程维护模块去启动...然后上网查,发现都说 python 好,于是就开始学了些 python ,把教程简单过了遍,后来因为些事情所以就没怎么碰了。。。。

    安利下廖雪峰大神的 python 教程: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

    • Q :那你现在目前在做什么

    • A :目前,有个个人博客在写完成度太低,所以没有开源,后端使用 koa2 (优雅的 async 函数才是我的追求, express 的嵌套,见鬼去)正考虑前端要不要上个 react ,毕竟我目前一直在深入 Vue2 ,对同样是 Mvvm 的 react 好像没做过啥具体项目。

    • Q :其他对公司有什么想问的嘛?

    • A : barbarbarabr (问了些关于公司结构的问题)


    不知道为何,面试当天就被告知未通过,我在想,果然是因为没有背过前端面试题嘛。。。还是原型那里没回答出了问题,对于面试官,一直带着笑容,然而,一些反问的内容均未给出回复。。。全程笑眯眯。。年龄目测比我年长几岁的样子。。

    第 1 条附言  ·  2017-03-30 22:50:15 +08:00

    更新

    • 由于面试失败,并且文章是个人总结,所以总会带有个人色彩,但是实际面试中客气很多,文章中省略了很多礼貌用语.....添了些个人情绪。
    • 经过与一个前辈的聊天,自知自己所学的东西都只是入门,没有一样深入的,所以请不要误会以上内容为....会误会的自行脑补即可Q.o,真的只是实际总结,毕竟该学的东西远远没有学完,生命不息,学习不止。
    第 2 条附言  ·  2017-03-31 01:28:26 +08:00

    关于楼主的回复,希望不要太在意,为啥这么针对性的回复了挺多人,原因只有一个:刚刚看完不少东西,刚闲下来,看到竟然有挺多评论,就大多都给了回复,回复只是对学习的解压........学习之余总得找点事干不是嘛........不是有意针对的来着,如果感觉楼主语气不好,请不要在意,这个附加的帖子就做道歉用好了。。。。。。。

    第 3 条附言  ·  2017-03-31 08:39:18 +08:00

    • 很高兴,有部分朋友说我6k应该没啥问题。。。。得到认同挺高兴的。
    • 在部分评论中,可能有些误会,简单来说,楼主并没有两年学习经验,真正接触js是在16年之后,之前只接触过html+加css3,连h5和css3是啥都不清楚。。。标题中的两年xx只是为了呼应前两天一篇关于个人学历经历的文章...不要在意标题党的问题:https://www.v2ex.com/t/350869#reply161
    • 找6000+的工作实在是因为,目前找3000+的实习工作,找不到才开始被一些好心的朋友劝说去找找更高的。。。主要是因为学历不是本科,专业不是计算机,基本实习直接过不了hr这关......楼主也自知学的东西都太浅,本想把一些东西整理下,深入后再寻找工作,然而身上目前只剩1600,下个月要交房租,要吃饭......总是要在现实面前低个头的。
    • 好吧,早上做个回复,下午又有一项目面试,祝自己好运了哈。。。
    第 4 条附言  ·  2017-03-31 09:05:25 +08:00

    不知道为啥,刚偶然看到条回复,忍不住又加了这条附加.......第一次有人认为我客气来着。

    • Q:客气的有点过了,让人觉得别扭,这不是礼貌的问题,而是不自然
    • A:这没办法......从性格上来说,暂时只有在一些问题跟人起争执才会.....另外就是相当熟悉的朋友.....毕竟就网上评论来说,每个人都有自己的意见看法,比如键盘侠,比如愤青,单单靠言辞犀利是没办法得到别人认同的,索性就客气点。。。。。另外说实话,由于非科班出身,非计算机专业,这两项就足够让我在面试的时候保持谦卑了.....(自卑?不够自信?...自己也没有仔细的审视过内心)。
    96 条回复    2017-04-10 19:51:25 +08:00
    ryd994
        1
    ryd994  
       2017-03-30 23:20:19 +08:00 via Android   ❤️ 1
    很明显看得出基本功不太够,而且描述的大多是现象而不是原理,这看起来会很水
    面试失败而已,没什大不了的,其实面完面试官好心的话会给你指出有什么问题的,问这个问题也不丢人
    虽然不说公司名,随便透人家面试题也是不好的
    az1996
        2
    az1996  
    OP
       2017-03-30 23:28:27 +08:00
    @ryd994 的确,很多方面都是现象,因为很多东西没有实际遇到过,只能就着自己的想法与曾经看过的东西回答,关于失败的原因,问了,但是没有给回复。另外关于透露面试题..........这个..........不至于每次都问相同的吧,不知道是否有自己看过每个问题,基本都是顺着楼主的回答来问的.......
    az1996
        3
    az1996  
    OP
       2017-03-30 23:29:20 +08:00
    @az1996 订正下内容...仔细.....
    jas0ndyq
        4
    jas0ndyq  
       2017-03-30 23:33:49 +08:00 via iPhone   ❤️ 2
    倒数三四个问题看得出面试官是傻逼。
    rashawn
        5
    rashawn  
       2017-03-30 23:38:43 +08:00 via iPhone   ❤️ 2
    背啥面试题 多看点好的开源项目 看看 issue 修一修 bug

    自己的代码质量自然而然就上去了 都不知道怎么写错的代码
    而且好的项目都带了性能测试 多交流一下能学到很多 而且根本不会忘 比背面试题好多了

    记得前段时间看一遍文章 就说学一门新语言 最好的联系方法就是找相关项目的 beginner friendly 的 issue 去解决
    wukongkong
        6
    wukongkong  
       2017-03-30 23:41:47 +08:00 via Android
    谢谢经历,很有帮助!感觉 80%自己答不上。
    caizhendi
        7
    caizhendi  
       2017-03-30 23:42:49 +08:00   ❤️ 1
    以上问的问题我都稍微知道点 基本没怎么深入 确实都是开发中遇到问题才花时间去学习
    感觉你比我强多了~
    az1996
        8
    az1996  
    OP
       2017-03-30 23:44:17 +08:00
    @rashawn 背面试题主要是为了解决近期找工作的困境,,,至于水平的提高当然是你说的了
    az1996
        9
    az1996  
    OP
       2017-03-30 23:47:43 +08:00
    @jas0ndyq 其实还好,问的问题基本也都是根据回答来来问的。条理也较清晰,关于原型还有些地方,感觉的确是回答的有问题,当然关于后面的倒是 34....一开始我和你想法差不多,后面想了想估计可能是故意问的吧,毕竟很多问题问的也比较有针对性。
    sunjourney
        10
    sunjourney  
       2017-03-31 00:16:49 +08:00
    只拿 6k ,答成这样绰绰有余了。
    jybox
        11
    jybox  
       2017-03-31 00:17:29 +08:00
    大概看了前半部分,后面前端的事情不太懂(没错我只写服务器端 JS ),感觉楼主还是有很多编码经验的,但感觉就是没认真准备面试。就比如原型链和 new ,确实不常用的话突然让你说也说不清楚,但我觉得只要是去面试 JS 就一定会提前重新复习一下原型链的知识吧。
    sunjourney
        12
    sunjourney  
       2017-03-31 00:17:54 +08:00
    没注意 lz 是学了两年的水平。。估计是学习能力的评价不高。
    az1996
        13
    az1996  
    OP
       2017-03-31 00:40:13 +08:00
    @sunjourney 这个两年怎么说呢,,真的只是标题党,,标题两年,具体开始碰 js 才一年不到。。。之前是 html+css 写写页面,连 h5 , css3 都没碰过。。
    FEDT
        14
    FEDT  
       2017-03-31 00:47:08 +08:00 via Android
    个人觉得面试还是要避重就轻点,回答面试官问题不宜过多提到自己薄弱的东西,不然面试官追问下去相当于给自己挖坑。
    smallpath
        15
    smallpath  
       2017-03-31 00:55:33 +08:00
    从 map 开始就有点打胡乱说的意思了, Object.entries 是 es7 特性要求 chrome54+,感情写个遍历还要做浏览器兼容??接下里太惨了。。。。
    smallpath
        16
    smallpath  
       2017-03-31 00:59:27 +08:00
    你现在要做的不是发帖,而是一项一项把这些问题全给查出来,否则面一百次都一样。好多问题你本来就不知道,如果你还说这是“背”面试题,那我觉得你可能真的不适合这行
    az1996
        17
    az1996  
    OP
       2017-03-31 01:04:03 +08:00
    @smallpath 我自己写代码基本都是 webapck2 编译后使用的,主要是 async ,解构, class 这几样特性用的比较多,并且面试时,我讲的是个人的观点,如果有需求,当然可以用普通的比如 for in 啥的去实现,为啥就胡说八道了。难道就不能用 webapck 编译,必须自己写兼容性的 es3 ?好吧,这条回复的语气冲了点,不要在意,只是有点小气愤
    smallpath
        18
    smallpath  
       2017-03-31 01:08:54 +08:00
    @az1996 你的回答再次错了,第一点,转译 es7 语法的不是 webpack 而是 babel ,第二点, babel 只转语法不转 api 还需要另行配 preset
    az1996
        19
    az1996  
    OP
       2017-03-31 01:09:33 +08:00
    @smallpath Q.o 凌晨一点还没睡,显然在查资料,然而很多东西深入下去不是一周或者一个月能搞定的,目前身上只剩 1600 ,下月却要交 1000+房租,加吃饭,不知道何以教我?,一侧是现实,一侧是理想,总得先把日子过下去才能谈理想,未来吧?
    zgqq
        20
    zgqq  
       2017-03-31 01:14:11 +08:00 via Android   ❤️ 2
    楼主不要一味以为是别人的问题,还不如多做准备
    az1996
        21
    az1996  
    OP
       2017-03-31 01:15:54 +08:00
    @smallpath ...我的错,但是想必我们都是清楚,我想表达的是什么意思,如果非要抓着这个语病,那我没话讲,因为事实在,是我的错。但是何必呢?面试中提到的也是,现在写的 es6 , es7 基本上线不都是编译后的吗?为啥你的第一想法是直接拿到浏览器里谈兼容性..........
    smallpath
        22
    smallpath  
       2017-03-31 01:22:44 +08:00
    @az1996 从你的话里只能看出你只知道 webpack2 不知道 babel6 ,至于第一想法谈浏览器兼容性,这难道不是用个 Object.assign 都要考虑兼容的前端们的本能反应吗,有什么问题??
    smallpath
        23
    smallpath  
       2017-03-31 01:27:22 +08:00
    @az1996 至于理想和现实,说到底还是自己不够强,我建议你寻找家里的帮助先沉淀几个月,因为就算你今天面试成功明天入职, 4 月份你还是没工资的,大家基本都是 4 月份发 3 月份的工资,今天已经 3 月 31 号了。
    zhlssg
        24
    zhlssg  
       2017-03-31 01:47:37 +08:00 via iPhone
    楼主自学能力还是可以的,不过感觉有点浮了。你现在用的技术栈可能很多小公司都没有上,没录你,可能也不是因为你能力不够,而是不符合他们的要求,能理解?
    jklopsdfw
        25
    jklopsdfw  
       2017-03-31 02:02:52 +08:00 via Android   ❤️ 2
    6k 答的可以了,如果只挑对的地方看。自己莫名其妙答了很多只懂一点然后比较模糊的东西。这样会给面试官带来不好的印象。
    Vue 对象属性被修改无法被检测,是说实例对象不要动态修改上面的属性吧,这里用 Vue 的 set api ,跟父子组件传递有啥关系,父组件改改数据对象的属性,子组件照样响应啊。
    new 怎么实现,就是你说的"你是问,构造函数内容的执行逻辑原理还是啥?"。你把 new 一个构造函数的流程再封装成函数不就是实现了嘛。 new 一个函数的流程高程里有,相信你看过。
    原型原型链,就算继承用的少应该也要放在脑子里了,必考点。公司希望你用 class ,但是面试官一般希望你能实现 class ,就像上面实现 new 一样。
    性能优化里你用的多的 webpack 没讲,压缩代码分割异步加载等,应该是紧张了,面试要挑自己熟悉的讲啊。然后函数式一般都是降低性能换取可读易维护,不知道为什么要提。
    ajax 是简单,但是你只光说简单,没有让人信服的理由。应该说说 xhr 这种过程式的接口设计有什么问题,对比各种 ajax 库或者 fetch api 声明式的接口,你要说出是因为这样才让你觉得简单的。
    遇到问题再去解决是很好的,但是不能拿来炫,因为每个工程师都是这样。愿意在遇到问题前深究的工程师岂不是更棒?
    下次用更加职业的心态去面试吧,参加面试,就不是学生了。
    写了很多,有感而发,像是当年的自己(或者说大家?)。原型只是小问题, 6k 的期望你不应该答出"其实我值 12k"的态度。
    jklopsdfw
        26
    jklopsdfw  
       2017-03-31 02:11:26 +08:00 via Android
    继续面吧,只点到为止的答。 6k 没问题
    jarlyyn
        27
    jarlyyn  
       2017-03-31 02:20:36 +08:00
    这面的什么鬼……
    6k 的单位是啥?
    peneazy
        28
    peneazy  
       2017-03-31 07:22:44 +08:00
    面试问这些问题,感觉是招 12K+的
    PythonAnswer
        29
    PythonAnswer  
       2017-03-31 07:28:20 +08:00 via Android
    答太多了。说话要有重点,不要乱飘。不懂就说不懂。

    公司水平不高,不认识 python
    csbde
        30
    csbde  
       2017-03-31 07:49:02 +08:00 via Android   ❤️ 1
    其实我面过很多前端,这个面试官但我问题我也基本会问。
    从回来能看出来是理论派,实战项目经验不多。所掌握的知识面比较广,但深入度不够。
    另外关于 python 是什么的问题,我基本可以判断是发音问题,面试官听不懂,而你的解释没有说清楚到底 python 是个啥。
    如果是我面试, 如果自学半年到一年这个水平,我会给机会以初级待遇招进来。 如果自学或工作两年是这个深度,我可能也会再选选。
    afpro
        31
    afpro  
       2017-03-31 07:55:41 +08:00   ❤️ 1
    这个水平 6k 已经没问题了 要注意的一点是 他问你的问题他肯定是会的 所以比如 prototype 这个东西 他是会的 你不需要画图 说重点 证明你也会就可以了 让人家看博客属于避重就轻的答法 一般不会的时候才会这样
    az1996
        32
    az1996  
    OP
       2017-03-31 08:00:57 +08:00 via iPhone
    @jklopsdfw 请看我上一篇文章,楼主找的是实习工作啊。。只是因为实习的投了无数简历都石沉大海后才被人劝说投点大于 4000+的,才获得了面试机会
    WhoMercy
        33
    WhoMercy  
       2017-03-31 08:18:11 +08:00 via Android   ❤️ 1
    如果觉得背出书里的内容就能拿高分,那么应该去参加考试而不是面试;

    如果写完博文,就把“东西”都交给博文,那么到底是招你入职,还是招“博文”入职,还是招你来写博文呢?
    az1996
        34
    az1996  
    OP
       2017-03-31 08:20:12 +08:00 via iPhone
    @jklopsdfw 感谢回复,评论这么长,想必是占用了些时间认真看了。对于 Vue 那块,怎么说的,脑子里懂,但实际面试紧张了很多,逻辑就乱了,文章是大多照着还原真实写的。写完之后自己再看,果然发现了很多问题。
    zyEros
        35
    zyEros  
       2017-03-31 08:49:55 +08:00 via iPhone
    其实这个回答我觉得还行,相对于 6k 来说,作为面试官的角度,其实我更喜欢让面试者写和画,这样更容易看出来面试者的编码能力。其我觉得你没通过的原因是没镇住面试,并且两年这个水平基本上是太普通了。
    Jimrussell
        36
    Jimrussell  
       2017-03-31 08:56:31 +08:00 via Android
    6k 足够了这种回答。全答上了 10k 水平起。从回复串来看,我觉得有几位不是装 X 就是工资倒挂了。
    没过面试可能是表达能力不行或者其他原因比如户籍啊长相啊之类的 2333
    wobuhuicode
        37
    wobuhuicode  
       2017-03-31 08:59:32 +08:00 via iPhone
    就前端来说,性能优化一个问题绝对不符合一个初级前端的要求,性能优化……看得出楼主只是个学会用 vue 全家桶或者只学了 js 的人。 ajax 的回答也很水
    xiamx
        38
    xiamx  
       2017-03-31 09:12:21 +08:00
    Q :谈谈你对闭包的理解。
    科班的在这里可能会讲一讲 bound variable vs free variable 。如果基础不好的话这里可以多谈一谈 closure 的应用,比如构造 higher order function ,

    Q :你说 Vue 中如果对象属性被修改无法被检测到,那么你有什么解决方案?
    这个问题你没有直接回答,而是取巧了 😂。检测对象属性修改有很多方法,包括 proxy binding 等

    Q :关于数组去重复你用什么方法?
    这里用 [...set()] 确实很优雅。面试官问这个问题有些考算法的味道,可以一句话带过,例如用 hashset 做去重或者先排序后去重等。

    Q :对于性能优化,你有什么方案?
    谈性能优化,先做 profiling 。

    Q :你对于跨域的解决方法了解多少?
    这里没提到 CORS 是减分哦

    Q :我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。
    Q : python 是什么?
    这两个太逗了

    Q :那你现在目前在做什么
    你卖弄了面试官听不懂的 nodejs ES7 什么的 😂
    GoForce5500
        39
    GoForce5500  
       2017-03-31 09:21:49 +08:00
    座标帝都,工位对面拿 6K 的所谓前端连 URL 每部份都是啥都答不出, Vue/React 没听说过,闭包、原型更是完全不懂, Chrome 调试工具不会用, CSS 只会乱加 important 。所以多学多试多找机会吧。
    karting
        40
    karting  
       2017-03-31 09:22:03 +08:00
    看的出楼主至少还是很好学的,值得鼓励,静下心来好好准备下,一定可以找到满意的工作, ps 我这工作好多年的对于上面的有些问题答的估计也是一知半解
    8355
        41
    8355  
       2017-03-31 09:31:01 +08:00
    Q :我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。

    Q : python 是什么?


    这 tmd 什么问题....
    知道自己在说什么吗.. 我擦咧

    还有就是楼主这个水平 二线城市我感觉拿 8k 不成问题啊.
    一般都是通知拿 offer 不通知默认没有 还第一次听说有通知拒绝的..
    azh7138m
        42
    azh7138m  
       2017-03-31 09:32:04 +08:00 via Android
    散华礼弥不太常见呐

    我感觉楼主比我强多了, 2017 届现在是不好找工作(ーー;)
    qdwang
        43
    qdwang  
       2017-03-31 09:49:16 +08:00 via iPhone
    我觉得 lz 挺好的 再多面试几家公司试试
    momocraft
        44
    momocraft  
       2017-03-31 09:59:17 +08:00
    如果你以前是完全不会写程序, 16 年开始学现在有这个水平不坏

    有些原理性的东西确实了解不够:包括 new 的行为,原型链

    新技术 (包括 Map) 可以多了解一下。如果我是面试官,`Map 和对象相比,只是比对象多提供了一个迭代用的接口` 这样强行答的肯定要扣分

    公司 rp 不错,拒就拒了不会吊着你
    aksoft
        45
    aksoft  
       2017-03-31 10:00:06 +08:00
    太牛逼了 一个不会
    shyling
        46
    shyling  
       2017-03-31 10:03:29 +08:00
    回答扯得太远了。。。而且扯得东西说的不准
    AnonymousID
        47
    AnonymousID  
       2017-03-31 10:08:25 +08:00
    感觉楼主技术水平一线 8k 也是可以的,就是学历低一点,另外简历写的也太烂了
    HLT
        48
    HLT  
       2017-03-31 10:08:27 +08:00
    面试官是煞笔。。。

    Q :我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。
    Q : python 是什么?
    anthozoan77
        49
    anthozoan77  
       2017-03-31 10:12:16 +08:00
    感觉楼主比我厉害......
    ivvei
        50
    ivvei  
       2017-03-31 10:13:51 +08:00
    什么, 6K 的前端需要会这么多?
    murmur
        51
    murmur  
       2017-03-31 10:19:12 +08:00
    我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp

    这面试官是弱智么? spring 加了配置轻松 jsonp 就开出来了,简直给 java 丢脸
    HCCG
        52
    HCCG  
       2017-03-31 10:20:49 +08:00
    Q :我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。
    Q : python 是什么?
    笑了
    coderzheng
        53
    coderzheng  
       2017-03-31 10:28:37 +08:00
    @HLT ,提醒一下你,面试官面人的时候提的问题大部分是根据你的简历上写的内容来的。所以 LZ 自己写了 node , python ,面试官当然会问。
    ==== 华丽的分割线 ====
    从这里可以看出,一份好的简历对求职者来说有多重要,比如你面前端,尽量别把 php 、 python 扯进来。否则别人一发问,多半是两三个问题直接放倒,对你来说只能起到减分的效果。从目前的行情来看,对准前端、 nodejs 、 php 、 python 。。。这些岗位来准备简历,只要学的内容足够深,能写的东西已经很多了。
    killerv
        54
    killerv  
       2017-03-31 10:28:46 +08:00
    我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp ,这是不是在胡说八道, jsonP 和后端语言有毛线关系
    skyblue
        55
    skyblue  
       2017-03-31 10:32:48 +08:00
    楼主坐标哪里?
    yujieyu7
        56
    yujieyu7  
       2017-03-31 10:38:13 +08:00
    这面试官问的太偏理论了,,,,
    mengxy
        57
    mengxy  
       2017-03-31 10:38:47 +08:00   ❤️ 1
    初级前端的话还是要专注于自己干活的能力,是否能够完成领导交给的任务,而不是这也知道那也知道,你在研究的这些是前端的前沿领域,可能只是<em>加分项</em>。

    我最近因为要换城市,也在面试,惊讶的发现某些大公司的高级前端其实也不熟悉 ES6 的,我写个 let 人家也是一脸蒙逼说你写的这是啥。但是又怎样,暂时不会 ES6 并不会影响他们是否能够保质保量的完成任务。

    现在前端圈对于新人最大的误导就是你一定要会 ES6 ,一定要懂 React/Vue ,一定要会用 Node ,但是实事求是的说,这些技术栈并没有完全在行业落地,大部分公司还是在沿用五年前甚至十年前的技术栈,连 use strict 都没有用过,招的新人总是在强调自己会这些东西可能会减分,除非你是个资深工程师过来帮他们升级前端团队和技术栈的。
    peneazy
        58
    peneazy  
       2017-03-31 10:48:21 +08:00
    @mengxy 是啊,我写代码也基本上是 ES5 ,习惯了
    mengxy
        59
    mengxy  
       2017-03-31 10:50:47 +08:00   ❤️ 1
    自己觉得自己努力了,就要社会给你相应的回报,是年轻人要破除的第一个执念。
    zhang1215
        60
    zhang1215  
       2017-03-31 11:09:17 +08:00
    我这边 6K 左右都是菜鸟水平,除了学历,跟楼主比差远了
    waterwater
        61
    waterwater  
       2017-03-31 11:20:02 +08:00
    Q : python 是什么?
    这个有没有可能是发音问题导致的
    yuxuan
        62
    yuxuan  
       2017-03-31 11:21:37 +08:00
    6K 也就招个啥也不会的白纸吧 楼主答成这样 6K 够了
    tanszhe
        63
    tanszhe  
       2017-03-31 11:25:58 +08:00
    牛 B
    CruelMoon
        64
    CruelMoon  
       2017-03-31 11:43:30 +08:00
    @waterwater 233 其实也想问这句来着
    cncqw
        65
    cncqw  
       2017-03-31 11:54:26 +08:00
    面试中运气成分也很重要的,有时候面试官和你看得对眼,聊得来,比你自身实力更关键,楼主长得怎么样?
    drizzle
        66
    drizzle  
       2017-03-31 12:44:25 +08:00
    LZ 放平心态,不要被自己现在的客观条件限制,也不要老是在面试的时候强调自己怎么怎么能学习,就把自己作为一个正常面试的程序员,多表达自己具备什么技能。
    realpg
        67
    realpg  
       2017-03-31 12:52:59 +08:00
    报个坐标吧 一线城市 6K 基本找来的就是听说过 jquery 和 bootstrap 的白纸
    vremouth
        68
    vremouth  
       2017-03-31 12:59:17 +08:00
    坐标杭州吗。来北京面不。
    Anshi
        69
    Anshi  
       2017-03-31 13:12:44 +08:00
    。。楼上一线城市里肯定没广州吧...我期望 6k 上面题目回答和 LZ 差不多水平...
    shuson
        70
    shuson  
       2017-03-31 13:13:21 +08:00
    你想多了,单纯是因为面试官的个人喜好,发现你没有被掰弯的可能就拒了
    ChopMoun
        71
    ChopMoun  
       2017-03-31 13:25:02 +08:00
    看到这些问题,我感觉我已经不会前端了(*^_^*)
    Reign
        72
    Reign  
       2017-03-31 13:58:18 +08:00
    这个面试官的问题我都不会,什么 ES6 、 const 、闭包我全都不懂,但目前所有的网页前端 js 特效我都会写,随便给我一个网页大言不惭的说我看一眼就知道整体的 css 是怎么编写的了,从 IE8 到 chrome , css 和 js 都写一次就通过,一个 jQuery 战天下,不给我 jQuery 用原生 js 也能写,想知道这种人面试官是喜欢我还是拿着刀赶我出去
    alexsunxl
        73
    alexsunxl  
       2017-03-31 14:08:38 +08:00
    @mengxy 非常同意你的说法。我刚看的时候也觉得看描述楼主还不错,但总是觉得有哪里不太对劲。
    虽然我在业务线里也推 es6, 但是面试我不会问。 我会选择问 http/tcp ,基本算法, js 底层 ... 想对于 api 而言,考察面试者的工程师素养更重要。
    就相当于招一个 java 工程师, 他会不会 java8 ,其实并不是很重要。
    楼主是挺不错的, 但确实不应该太强调 api 层面的东西,加油吧。
    mentalidade
        74
    mentalidade  
       2017-03-31 14:09:21 +08:00
    楼主是没毕业吗?在上海吗?很多前端刚培训完就 10k 了
    alexsunxl
        75
    alexsunxl  
       2017-03-31 14:11:47 +08:00
    @Reign 前两个不懂就算, 比包不懂就赶人了 23333333
    alexsunxl
        76
    alexsunxl  
       2017-03-31 14:12:22 +08:00
    @Reign 闭包,打错了
    billzbc
        77
    billzbc  
       2017-03-31 14:46:52 +08:00
    楼主的水平找个 6-8k 的工作,一点儿问题没有。工作之后积累实战经验吧,加油!
    一个小建议就是,回答问题,自己了解的就深入讲讲;不清楚的,点到为止即可,别发散
    yruite
        78
    yruite  
       2017-03-31 15:21:59 +08:00
    我个人感觉哈:
    ①HR 一问什么新的东西你就说 [没深入研究] , HR 一问其他解决方案你就说有更好的方案,所以没深入研究(比如数组去重、原型链、移动端一像素)……给人感觉你各方面都懂一点,但是不精;
    ②还有,你说你 [没做过啥具体项目] ,给人感觉缺乏实际经验;
    ③你说你 [都是遇到问题再去解决] ,给人一种缺乏主动学习的能力;
    ④公司使用的技术可能你用的少,比如 MAP 类型、 jsonp 、 NEW 对象 部分;
    ⑤有一个问题,你说“原型啊,从哪里开始讲呢”,可能让人觉得你没形成知识体系,或者说掌握得不好, HR 后来更是直接说 [既然你原型不懂]
    ⑥学历、专业问题
    ⑦不知道其他问题(比如薪酬、福利待遇等)是否让 HR 产生别的想法
    ⑧面试精神面貌:站直坐正,口齿清晰,声音洪亮,穿着得体,头发牙齿指甲胡须……
    HR 就是这样,把你问住了就觉得你有问题,问不住制造问题也要给你问住,这才显得优越感
    ---------------------------------------------------------------------------------------------------------------------------------
    个人意见,仅供参考
    changwei
        79
    changwei  
       2017-03-31 16:04:48 +08:00 via Android
    看到后面楼主说是非科班出身,那么这些面试题还是算比较高级的了,感觉应该得 8k 以上

    至于楼主回答有几个地方可以纠正一下,第一个是 jsonp 楼主你既然知道他返回的是一个参数为需要跨域传输的数据内容,那么无论是什么语言,你就算是字符串拼接能拼出来,那也是可以支持 jsonp 的。另外 html5 的新跨域技术是 cors 头部。

    还有 python 由于有 GIL 全局上下文锁,它的多线程本质上也不是真正的多线程,他比 node.js 好的地方在于 python 语法更优雅不用担心写 n 层回调函数导致代码阅读困难。如果楼主能和面试官谈谈这些那么就好多了。而且这些也都是我自己做着玩的项目以及刷各种公众号文章学到的,花不了多少时间。

    从这些地方可以看出楼主对于后端部分理解还有所欠缺,可以去看看一些主流前后端分离的开源项目源码和设计思路方面的文章了解了解。
    HLT
        80
    HLT  
       2017-03-31 16:06:15 +08:00
    @coderzheng 没明白这为什么还要提醒一下我。。。我可是没说什么呀

    如果要来辩,可以
    LZ 写了 node 和 python ,作为前端工程师,懂点后端 这显然是平行领域突出的表现,可以换做是优势,这有什么问题?
    事实上,是面试官吊儿郎当 好吗?
    bigggge
        81
    bigggge  
       2017-03-31 16:11:51 +08:00
    这些题目感觉不算简单了,居然只能拿 6k
    TYchen
        82
    TYchen  
       2017-03-31 16:51:24 +08:00
    我就是一线 6k 的前端,在小公司 JQ 一条龙。手写分页,上传以及业务中一些主要功能。然而很多切图都切的不咋地的人能拿到 8~9k 。真的,在一线城市不仅仅要靠实力,还要靠忽悠。而面试的时候很多面试官问的东西都不知所云。。。还有直接问前端高并发处理的。
    game3108
        83
    game3108  
       2017-03-31 16:53:43 +08:00
    在我看来。。真的这些问题全部都答得很好, 16k 都可以了。。。。不过我不是前端。。。
    antowa
        84
    antowa  
       2017-03-31 16:59:39 +08:00
    是在一线城市面的吗?要是的话 6K 太少了吧。活不下去的
    jzz7280
        85
    jzz7280  
       2017-03-31 17:00:17 +08:00
    @TYchen 这种情况小公司很多,不太会分辨人
    sorra
        86
    sorra  
       2017-03-31 18:01:20 +08:00
    日期写错了
    cocona
        87
    cocona  
       2017-03-31 18:17:38 +08:00
    我觉得楼主还不错啊,这几天面试了好多没一个合适的。
    如果有兴趣来武汉工作可以发份简历给我 [email protected]
    公司网站 http://www.iqing.in ,轻小说平台。用的也就是 webpack + ES6 ,后台管理部分 Vue 。
    ii4Rookie
        88
    ii4Rookie  
       2017-03-31 18:48:31 +08:00
    个人感觉 回答的比较模糊。嘿嘿嘿
    Technetiumer
        89
    Technetiumer  
       2017-03-31 20:39:33 +08:00
    > Q : 我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。
    > A : 啊, java 不能返回动态的 script 吗?我之前学过的 php 好像行,现在在学的 python 也行啊。

    jsonp 和 json 无非就是字符串,与语言无关,不存在 “ java 不能返回动态的 script ” 的问题,可是你的语气却不确定似的,“好像行” 减分项
    Martox
        90
    Martox  
       2017-03-31 21:35:15 +08:00 via Android
    @cocona 稍微比楼主懂得多点。接受电话面试不?
    lcsoft
        91
    lcsoft  
       2017-03-31 22:00:20 +08:00
    前端程序员们好厉害。
    BearTher
        92
    BearTher  
       2017-03-31 22:02:59 +08:00
    倒数第三第四个问题的回答有问题

    主要是语气和态度上的问题

    面试嘛 不管懂不懂会不会静不精通 首先得把 B 装足了
    exoticknight
        93
    exoticknight  
       2017-03-31 22:03:48 +08:00
    希望你面试的时候语气真的不是你所写的那样
    另外的确有点水(仅从从回答来看),我觉得自己比你扎实,但是找了个 3k 左右的实习就工作得很高兴了
    xiqingongzi
        94
    xiqingongzi  
       2017-04-01 08:18:59 +08:00
    如果你不擅长言语。建议拿行动说话,搞一个维护良好的项目出来。放在 github 上。
    zthxxx
        95
    zthxxx  
       2017-04-01 16:39:12 +08:00
    个人感觉,大部分回答比较模糊,没有深入到面试官想要的重点。
    Martox
        96
    Martox  
       2017-04-10 19:51:25 +08:00 via Android
    楼主恰个微信?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5304 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 05:48 · PVG 13:48 · LAX 22:48 · JFK 01:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.