V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fulvaz
V2EX  ›  问与答

招前端实习, 该问什么问题?

  •  
  •   fulvaz · 2018-09-30 15:13:58 +08:00 · 4011 次点击
    这是一个创建于 2006 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求各位帮我看下是不是问太难了....

    1. 清除浮动 /flex 布局至少会一个 选择清除浮动会问原理, 只要提到 BFC 就可以 选 flex 则会问 flex-grow: 1 是怎么分配空间
    2. js, let 和 var 的区别, function 和箭头函数的区别, commonJS 和 esm 的区别.
    3. http 状态码, 缓存相关的请求头, cors 跨域怎么做
    4. 向我安利 webpack, 然后解释一下 webpack 和 gulp 的区别 --- 这题回答得好, 直接给过, 无论前面答得怎样.
    5. 数组去重(还没有到达这里的勇士)

    嗯....来面的都 gg 了, 死第一题的最多

    ps: 工作 3 年死第一题的也很多.......不好吧?

    39 条回复    2018-10-07 16:55:26 +08:00
    yiFire
        1
    yiFire  
       2018-09-30 15:23:36 +08:00
    实习???.....
    wkan
        2
    wkan  
       2018-09-30 15:30:24 +08:00 via Android
    实习?三年工作经验?
    jy02534655
        3
    jy02534655  
       2018-09-30 15:44:04 +08:00
    不知道,不会
    codermagefox
        4
    codermagefox  
       2018-09-30 15:44:34 +08:00   ❤️ 2
    第一题,问的完全没毛病,楼上的是不是太敏感了?
    第二题,问 commonJS 你确定刚入行的人听过?esm 你不说我都忘了是啥了...
    第三题,纯粹背的东西,问是可以问,但是意义不太大吧...最多筛掉一些没准备过的.
    第四题,webpack 和 gulp 的区别?不好意思,我没用过 gulp,也不认为我现在有学的必要.

    说白了楼主还是有一种用自己技术栈和用过的工具揣测他人技术的心理...为什么不把问题抛给他们让他们自己去解答呢?同样的问题我用的方法和你的方法不一样,我没听过你的方法,就说明我技术差?.......不好吧?
    xichengh
        5
    xichengh  
       2018-09-30 15:50:51 +08:00
    有这么水吗。。。。。
    Deville
        6
    Deville  
       2018-09-30 15:54:32 +08:00
    我觉得不管是什么技术岗,要看基础和编程思想更多一些吧。。其他的技术栈都可以学。。比如抽冷子问下 int 占几个字节,问问实际应用问题看下逻辑思维是否正常。。
    fulvaz
        7
    fulvaz  
    OP
       2018-09-30 16:32:33 +08:00
    @codermagefox


    三.不算啊, 他们个个简历都有实际项目, 都用 vue 写的, 那 200, 304 总该见过的啊, cors 也不过分吧. 缓存算我过分吧

    四. 就是单纯想知道这哥们学习方法怎样了, 你看 gulp, webpack 做得事情看起来"差不多", 那为啥不用 gulp 呢? webpack 更定有过人之处对不对. (这段话我问之前都会先说, 没听过 gulp 的话, 来说说 webpack 解决了什么问题也可以, 没那么死板啦)


    @Deville 不敢问....
    Lawlieti
        8
    Lawlieti  
       2018-09-30 16:46:04 +08:00
    我觉得 ok 啊 但是不是实习 一年经验吧
    yljcyct
        9
    yljcyct  
       2018-09-30 16:54:02 +08:00
    bfc 概念以前有看过, 但是真的搞不懂是什么鬼
    rabbbit
        10
    rabbbit  
       2018-09-30 16:58:50 +08:00
    webpack 和 gulp 啥区别...
    只知道这俩都是打包的,但是 webpack 可以把资源当模块导入
    wly19960911
        11
    wly19960911  
       2018-09-30 19:06:06 +08:00 via Android
    4 过分了,你确定很多人排查 webpack 的配置问题?我反正不关注,我就配几个配置项,脚手架都准备好了,可能因为我是 angular,配置都是 angular 的脚手架准备的。

    虽然我不是面试官,但是对于初级的人,应该更倾向从他项目中挖,比如使用的布局,flex,圣杯布局,媒体查询,几种居中情况,使用的 UI 框架,是否对 UI 框架组件布局有所了解?

    从 js 方面也可以看对框架的理解,然后挖掘事件绑定,事件代理,apply,封装,类的实现,原型链双向数据绑定引申到 es5,es6。

    其实我认为问题 2 也很糟糕,这东西是基础,但是应该让实习去谈 es6,然后引导问,反而可以对实习生更掌握和熟悉。

    加分项是 git 工具等

    比起会不会什么,更应该注意的是会什么不是吗?实习生如果会的更多,入门学习,不会很差的。
    zhzer
        12
    zhzer  
       2018-09-30 19:44:38 +08:00 via Android
    建议先从项目入手展开问,还是不要给面试题目准备的太死板了
    最重要的是能干活,不是爱背书
    sampeng
        13
    sampeng  
       2018-09-30 19:46:03 +08:00
    梯子用什么!!!不管什么程序员。必备工具。不用梯子的多是百度搜索的。信息获取速度太慢太慢。而且很多资源没梯子压根没法下。一定要问这个问题。。。。。。
    Hilong
        14
    Hilong  
       2018-09-30 20:53:55 +08:00 via Android
    第二题和第四题不会,16 年入前端的
    Hilong
        15
    Hilong  
       2018-09-30 20:55:20 +08:00 via Android
    @Hilong #14 看错了,其实是第一题的后一问和第三题
    YvesX
        16
    YvesX  
       2018-09-30 20:57:15 +08:00
    先问别人简历上的东西,摸清楚到底会什么。
    Quarter
        17
    Quarter  
       2018-09-30 21:24:26 +08:00 via Android
    我...我...我好多都不知道啊😯我还是太菜了😭
    Quarter
        18
    Quarter  
       2018-09-30 21:26:24 +08:00 via Android
    @sampeng 不会被查水表吧😨
    myl0204
        19
    myl0204  
       2018-09-30 22:05:53 +08:00
    我觉得完全不过分。
    myl0204
        20
    myl0204  
       2018-09-30 22:06:43 +08:00
    @myl0204 commonJS 和 esm 那个除外。。
    yhxx
        21
    yhxx  
       2018-09-30 22:35:45 +08:00
    CommonJS 和 esm 有点过时
    其他的一点都不过分

    话说这种题都答不好,是不是你们给的待遇太低了吸引不到好的简历?
    fulvaz
        22
    fulvaz  
    OP
       2018-09-30 23:10:36 +08:00
    @wly19960911

    你看, es2015, 3 年前的东西, 不算新了呀

    @yhxx @myl0204

    过时个屁, 不知道区别就没法理解 esm 静态分析的优点, 也就理解不了 treeshake 的实现原理.

    而我只要他能答出 esm 是静态的, 并且能举个栗子说明我就很欣慰了. 后面能用来干嘛, treeshake 怎么实现的我根本都不会问.

    反而是问 AMD CMD 区别的才是真的 low, webpack 从来没支持过 CMD, seajs 也没人用了.

    认为 CMD === CommonJS 的请去墙角反省一下 ---- 接触到的信息源太 low 了, 不过没事, 我也反省过.
    xiaojie668329
        23
    xiaojie668329  
       2018-09-30 23:12:58 +08:00
    我经常问写一个生成指定范围内随机整数的方法,本来还想写出来的话在此基础上写一个数组 shuffle 方法。一行代码的事情,面了那么多,写出来随机数的就三个人,大部份都是工作两三年的。
    fulvaz
        24
    fulvaz  
    OP
       2018-09-30 23:19:36 +08:00
    @wly19960911

    我也用 angular, 然而

    angular-cli 不是无敌的, 很多优化 angular-cli 做不了, 还有很多很烦人的问题

    比如 ng-zorro 的作者提的 issue, 就是因为 angular-cli 把 less 的配置改了, 所有用 ng-zorro 的人都要手动降级 less

    https://github.com/angular/angular-cli/issues/10430

    现在模块化简直是大型应用的根基, 而 gulp 没做到的事情就是 webpack 帮你实现了模块化, 还有什么理由不去学?

    另外放弃 webpack 基本意味着你要一辈子依赖 angular-cli 了, 上拉勾搜搜关键字, 有没有危机感?

    当然, 我并不怎么喜欢 webpack.
    wly19960911
        25
    wly19960911  
       2018-10-01 02:37:43 +08:00 via Android
    @fulvaz 我能理解你的意思,凡事都循序渐进的,我认为对于实习生还是“会什么”比“会不会什么”更重要,面试是探底,以上问题更倾向于匹配。

    另外我并不是放弃 webpack,而是并不是优先学习。学的东西太多我暂且不想在构建工具上花太多的功夫,就像 spring boot 会有多少人去了解 maven 各种复杂配置一样,也没有人说放弃手写 pom.xml 就不能是合格的 Java 开发。不过这个题外话了,也谢谢说这些了。

    不得不说 angular-cli 的坑是多,特别是 node_modules 下面的 CSS 坑成狗了。
    whypool
        26
    whypool  
       2018-10-01 03:50:08 +08:00
    你这是招实习还是秀优越的?

    对于业务需要招什么水平的人,面试的至少要有个把控的,而不是去问什么原理,问框架差异

    去面后端有面试官问 spring boot 和 springmvc 的差异么?

    前端实习,会 css 布局,什么 BFC 原理没必要了,会原生 js,监听事件,触发,原型链什么的

    框架了解就行,各种 cli 都配好了,虽然现在起步基本都是 vue

    如果是大厂面,以上可以无视
    bucky
        27
    bucky  
       2018-10-01 08:14:45 +08:00
    为什么清除浮动原理提 BFC 就可以,BFC 只是清除浮动影响的一种方式,跟原理有什么关系
    bucky
        28
    bucky  
       2018-10-01 08:16:17 +08:00
    而且 css 又不是编程语言,清楚浮动只存在方式,根本没有原理一说
    fulvaz
        29
    fulvaz  
    OP
       2018-10-01 11:52:54 +08:00
    @whypool @bucky

    学习停留在会用的层面很可怕, 你不肯去了解为什么, 以后遇到类似的东西还是只能抓瞎, 然后硬着头皮学会用

    比如, 过两年三个框架要是都被淘汰了, 你们要重新学新的怎么办? 你们还要硬着头皮去记住 API 吗?

    更何况我招个实习就是往转正的去的, 本来就是在考察学习能力, 知道 BFC 的话说明有钻研精神, 人比较踏实, 完全可以要.
    fulvaz
        30
    fulvaz  
    OP
       2018-10-01 11:57:26 +08:00
    @wly19960911 嗯, 我也考虑换成其他问题

    但布局是不能变的, 必须要问的

    js 换成红宝书和 vue 文档出现过的 es6 语法

    其他我不想问了.
    bucky
        31
    bucky  
       2018-10-01 12:11:51 +08:00
    @fulvaz 我的意思是 css 的东西很多都只是规则,它和编程语言不一样。还有我问你的问题你也没正面回答不是吗,自己都不知道正确答案,怎么面试别人?
    limuyan44
        32
    limuyan44  
       2018-10-01 18:13:16 +08:00 via Android
    给个编辑器写页面好了,前端这么多东西
    fulvaz
        33
    fulvaz  
    OP
       2018-10-01 20:01:15 +08:00
    @bucky 你要这么说的话, 编程语言也全是规则啊, ECMA-262 不是规则吗? IEEE-764 不是规则吗?

    就连 C 语言也是有一套规则的, CSS 和其他编程语言有什么不一样呢? 我不推荐继续讨论这种容易抬杠的问题.

    言归正传, 如果你的问题是"为什么清除浮动原理提 BFC 就可以", 那我可以回答一下

    比如一下很常见的清除浮动

    ```
    clearfix:after {
    content: '';
    clear: both;
    display: table-cell;
    }
    ```

    前两句很简单, 那最后一句是避免父容器高度坍缩.

    那为什么 display: table-cell 能避免高度坍缩? 那当然是因为新建了一个 BFC, 因此有提到这个就好了, 说明这位候选人很踏实, 而且学习是"知其然知其所以然", 非常棒.

    至于为什么我不问 BFC 是什么, 有什么其他触发条件......你看, 如果我再问这个你们又说我为难人, 多没意思

    我不知道为什么你们对自己要求越来越低, 我校招的时候这些都是必须掌握的.
    yhxx
        34
    yhxx  
       2018-10-01 23:35:08 +08:00 via iPhone
    这种态度,难怪招不到人。
    bucky
        35
    bucky  
       2018-10-02 07:15:02 +08:00
    @fulvaz 那我再问你,为什么 BFC 能清除浮动,你回答一下,我不认为 BFC 是原理,而只是一种方式
    bucky
        36
    bucky  
       2018-10-02 07:19:47 +08:00
    @fulvaz 就你这逻辑思维,阅读理解能力,也配做面试官?我哪句话说面试不能深入了,我一直说的是你面试别人你的表述要清楚一些,别因为自己表达能力低下而误导面试者,看了你的回复我也不报希望了,好自为之
    bucky
        37
    bucky  
       2018-10-02 07:22:06 +08:00
    @fulvaz 你觉得编程语言和 css 能相提并论可见你这人水平之低,外行招内行,你能招到个鬼,躲过垃圾公司垃圾员工是大家之辛
    AnnatarHe
        38
    AnnatarHe  
       2018-10-02 13:02:47 +08:00
    1. 盒子模型从里到外分别是什么
    2. relative/absolute 布局
    3. 垂直居中

    我还没见到三道题都能答对的同学,是不是更惨😑
    fulvaz
        39
    fulvaz  
    OP
       2018-10-07 16:55:26 +08:00
    @bucky

    那你说了算咯......
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3516 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 10:49 · PVG 18:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.