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

现在前端是不是特别难招?

  •  
  •   sniucom · 2018-07-19 15:07:57 +08:00 · 24297 次点击
    这是一个创建于 2101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    坐标北京,公司打算招一个中高级前端,薪资大约在 10-25K 之间,上不封顶。

    由于目前公司只有一个前端,水平也一般,所以就由我来出题和面试,其实我是一名后端程序员,对前端了解有限,所以主要考察四个层面

    1. CSS 选择器 写了几个嵌套元素, 然后多选哪些选择器无法指向。

    2. 简单布局 固定 800 像素的行,等分成三列,列宽相同, 列间距相同。 用 CSS 实现, 如果答出就追加如何用 CSS 实现等分并自动换行(bootstrap 原理)

    3. js 变量作用域提升的问题

    4. js 异步问题

    招聘了 2 个月,10 个前端有 8 个都无法完全回答这 4 个问题,快疯了,一个人都还没录取。

    第一题 大部分只会# . 空格, 大部分人一是不认识伪类 二是以为>符号是指向下一级所有元素,包括孙级 孙孙级 三是逗号组选择也不认识

    第二题最惨 80%的面试者,不管你问他什么布局方式, 他给你的回答永远都是 flex 布局, 连最基础的等分行的问题都搞不明白, 都日了狗了。

    第三题不说了 我都感觉我出难了

    第四题答不上来基本就没心情再面了, 大部分面试者只知道 ajax 是异步的, 不知道其他有哪些语句是异步的, 更不知道异步在同步代码中会出现什么影响。

    这两月见的最多的就是那种 UI 用框架, 数据也用框架, 反正什么都用框架, 一涉及到原生 涉及基础基本完蛋的前端, 昨天还有人怼我, 跟我说都什么年代了, 还用原生开发, 我真无语了

    是不是现在的前端大多数都这样, 还是我落后时代了啊?

    第 1 条附言  ·  2018-07-19 19:59:45 +08:00
    感觉我这面试题有问题的给我来份《面试题大礼包》吧,顺便来点面试套路,要求重 HTML CSS 和 兼容,轻 JS 前端 MVC。
    第 2 条附言  ·  2018-07-19 20:08:08 +08:00
    就 flex 布局问题我找了很多网站来看, 大部分大中型网站还没有使用, 特别用户全体年龄层次跨度比较大的,技术都比较传统。面向年轻人的也不多, 我能找到明确大规模使用 flex 布局的只有快手。
    218 条回复    2019-12-18 15:54:09 +08:00
    1  2  3  
    agdhole
        101
    agdhole  
       2018-07-19 22:43:52 +08:00 via Android
    几年前还能手撸 css,框架用多了之后基本不会了
    NotFamous
        102
    NotFamous  
       2018-07-19 23:00:11 +08:00
    不好意思,我也是那种只会逻辑编程( js )不懂页面布局( css )的人。。。
    IvanLi127
        103
    IvanLi127  
       2018-07-19 23:06:13 +08:00 via Android
    @sniucom ie10 以前。。。xp,emmm,确实不好招。那年代表格布局就好😂😂😂😂
    bhaltair
        104
    bhaltair  
       2018-07-19 23:15:38 +08:00
    简历筛查一下吧老哥
    kid1412621
        105
    kid1412621  
       2018-07-20 00:14:24 +08:00 via Android
    额。。我也是后端,现在兼写前端,刚自学了 vue 用到项目里,感觉你的问题多多少少都能扯。。。而现在的工资还没你开的高。。。
    Sapp
        106
    Sapp  
       2018-07-20 00:28:13 +08:00 via iPhone
    你这题目针对性真的强,虽然基础,但是这个基础除了最后一个,其它有点过时。比如第一个,也不知道你说具体什么选择器,但是现在不要问我那十几二十个选择器我还真说不出来,而且工作中我一直在跟人说少用稀奇古怪选择器,第二个问题,我第一眼没明白你说啥,后来说 flex 等分算是知道了,不排除有人 flex 用多了忘了 margin (我也很少用 margin 了),但是觉得 margin 很难吗?你要知道你这个价位的很多人接触前端晚,一出校门就是移动时代,用 flex 很正常,这并不是他能力不行,第三个问题真的我觉得依然是属于经验问题,现在直接 es6 上手的基本接触不到变量提升这个事了,es6 之前的基本都知道这个东西。总体我感觉你不是想找能干活的,是想找个年纪大有经验能解决兼容性的。你这个情况就去找外包公司或者传统企业或者大厂出身的会比较好,他们对于这种问题会比较清楚。
    seki
        107
    seki  
       2018-07-20 00:57:31 +08:00
    虽然我也有同感,现在大家都会框架了,不知道问什么问题才能看出一个应聘者的代码能力和水平。但是这些题除了异步之外,恐怕都不大适合现在的前端了

    第一题,不了解的话是 css 写得少,可以理解,但是也是查文档的事情
    第二题,就算不用 flexbox,这也是查查文档看看样例就能找到方案的,要背下来没什么必要吧
    第三题,8102 年了,该用 const 和 let 了

    如果真的要招的话,可能需要在职位介绍里面写上,要兼容 ie8,要维护 es3 时代的代码,要写 jQuery,只会框架的不要
    caola
        108
    caola  
       2018-07-20 00:59:20 +08:00
    现在网站 winxp 及 IE 的流量低于 1%,已经不再考虑兼容任何旧版的浏览器
    bootstrap4 就是 flex 的,反正能用最新的就用最新的来实现, 就比如 h5 的 serviceWorker 用得异常的爽。。。
    yanaraika
        109
    yanaraika  
       2018-07-20 01:07:23 +08:00 via Android
    中高级前端 10K ?实习生都不止这个数了。以这个价位来说,1 答不出来正常; 2 的话你让我现在写也只会写个不换行的,bs4 都全面 flex 了,flex 写得太舒服以前的 hack 早都忘了,而且面试者看到这种问题搞不好还会觉得你们公司技术栈陈旧; 3 4 不说了

    总的来说就是钱又没给够,又想招个会切图+能写逻辑+还要能兼容旧版本浏览器的。这三项技能简单来说每个各 10K 能招到合适的。
    yanaraika
        110
    yanaraika  
       2018-07-20 01:15:29 +08:00 via Android
    现在的底线是兼容 IE7 的公司不去。只要兼容 IE9/chrome 的公司大把,楼主工资又没有高很多,高级前端没必要多花一倍精力去处理 ie7。而且这种兼容性都是体力活,对未来的成长回报又小,即使除开钱现在很多人也不愿意做这个
    veightz
        111
    veightz  
       2018-07-20 01:18:40 +08:00 via Android
    多考验整体把握,而不会去扣细节。这两个意义是不一样的,换句话说,这几个问题对答如流的人,做事还真未必靠谱了。
    sniucom
        112
    sniucom  
    OP
       2018-07-20 01:29:50 +08:00   ❤️ 2
    @Sapp
    @IvanLi127
    建议我都能接受,心里预期其实不高,大约就是:

    1. 至少能还原出 95%设计吧, 不能说设计圆角用 5 个像素,但是因为你用的 UI 框架默认 10 个像素, 你就用 10 个像素;这明显用框架用傻的吧,也明显原生就没用过功吧, 直接忽略过, 这是入行能解释的理由吗;
    你完全可以正大光明的说出你就是爱用 UI 框架,就只用框架, 但是你不能说你拒绝定制框架, 甚至在框架上打补丁都不愿意,仅用用 UI 框架好就是合理理由吗?
    你定制框架,你对框架打补丁,less, saas,css 你总要用的熟吧,30%前段面试的前端会告诉你他会用 react 会用 vue, 但是他的 UI 框架哪来的呢? 饿了吗框架, 甚至自己都没定制过, 基本都是 3 年以上经验的。

    2. flex 布局的问题,我今晚检查了很多中大型网站,也只有快手使用了 flex 布局, 你喜欢 flex 布局, 没关系, 但你不能用那种现在都什么时代了, 还用那么古老的布局方式态度来掩盖你对 css 根本不熟吧, 那么弱智的问题随便思考下就能回答的,这已经不是技术古老与不古老的问题,是你有没有基础和思考能力的问题吧; 你总不能说我有把锤子,就能到处砸吧;一个简单的 margin 应用本身就是建立在你对 margin 的理解上与盒模型的理解上的。 即使这不是一道布局题, 也证明你足够薄弱


    3. 十几二十种选择器问题,其实我也就考了 # . 空格 > 最常见的, 过分吗? 这都能错还敢说自己水平有多高? 还敢做前端?太多的前端只愿意研究前端 MVC 框架, 我和很多其他公司的 CTO 聊过, 这是一个现象, 很简单的道理,MVC 框架好学、好吹、好提升 B 格,好忽悠,好要高工资。聊到 4 年以内的前端,我们得出一个结论,就是 70%都是垃圾货色,水分非常大

    但你了解面试, 自己亲自去面试别人, 就会发现清一水的这种人, 我之前聊过一个 4 年以上工作经验的, 个人感觉他 js 框架部分不错, 我就好奇问题他面试多久了, 得到的答案 3 个月, 已经参加了 40 几场面试, 无一例外他看上的别人看不上他, 看上他的他看不上。
    看上他的都是哪些?
    3.1. 做公众号的做微信小程序的? 我做我也选择新技术,但是他看不上,觉得没什么前途
    3.2. 小型创业公司或者外包公司做轻应用的? 活多钱少压力大,要求也低,3 4 年再去这样公司就尴尬了
    他看上的都是哪些?
    3.4. B C D 轮公司,无非几种情况:a. 招 js 的不是框架不合适就是竞争太大 b.有些是让前端做比较传统的 PC 站,他的 h5 css 原生渣
    3.5. 做 oa saas paas iaas 的这种确实框架为王的,但是真心没那么多岗位,要求也高。

    我只能对他说:我招你进来给你开 20K 工资实在不知道怎么安排你做什么, 后台程序员自己用 vue 搞定了, 也只有 PC 站和小程序可以做了, 但是我们不是大公司, 在我招到可以很好还原设计的前端前, 不可能招一个只想痛快的做数据编程的前端。
    然后我就得到了莫名其妙且很自信的回复, 他说我还可以做后端啊,做 nodejs 啊,我真日了狗了,为一个找不准自己定位的烂前端让我们换微服务架构?

    就今年而言,这种人越来越多, 而且越来越多二三线城市前端涌入北京上海这种一线城市,10 个中就是 4 个,还有 3 个一两年前是,并且造假严重, 浪费无数精力做筛选, 给人的感觉是, 初中级前端目前前框就是一车沙子混进了一把芝麻里, 挑出芝麻很难。 有些公司招聘有这样一个原则, 二三线工作经验折算三分之一工作经验, 做微信相关的折算二分之一; 做轻应用的折算三分之二工作经验; 做企业站的折算二分之一;不考虑 2 年内的外包工作经验,直接拒绝。 做前台的不考虑工作经验全部做后台的。 觉得有道理吗?
    sniucom
        113
    sniucom  
    OP
       2018-07-20 01:31:02 +08:00
    @yanaraika 看上限,来面试的也没一个要 15K 以下的
    fuermosi777
        114
    fuermosi777  
       2018-07-20 01:34:31 +08:00
    前端直接让面试者三个小时内写一个 2048,问两道 leetcode 简单题
    sniucom
        115
    sniucom  
    OP
       2018-07-20 01:37:37 +08:00
    @yanaraika 其实有一段时间放到 15-30K, 基本也这个现象。 也许你是前端,你看我说的有一种抵触情绪。 我说的是今年一个普遍现象, 总体感觉是市场上好前端越来越少, 大公司牢牢抓手里不放手, 不靠谱的前端越来越多, 特别是很多技术路线认识不清 自我认识不清的前端日复一日的在各类型公司的碰运气!
    sniucom
        116
    sniucom  
    OP
       2018-07-20 01:50:31 +08:00
    也许和我们没有一个老前端有关, 如果有个老前端做 leader, 我担心的那些问题就全都不是问题,什么样的人都可以放心大胆的招了。
    sniucom
        117
    sniucom  
    OP
       2018-07-20 01:56:32 +08:00
    其实最受不了的是搞不明白异步问题的前端, 我不明白在现在这种前端时代, 不理解异步,怎么做前端的, 不会碰到一堆问题吗, 是没用到还是根本没意识到已经造了无数深水炸弹!
    mingl0280
        118
    mingl0280  
       2018-07-20 04:33:29 +08:00
    2 的话不用 flex 那就 float:left 呗……暴力 33%,或者用 column,或者用 table。
    js 异步能有什么问题……
    q397064399
        119
    q397064399  
       2018-07-20 07:47:09 +08:00   ❤️ 8
    溜了溜了,,前端这么多年还是喜欢搞一些 针对特定问题领域的问题,

    你要兼容 IE 的老版本 直接去外包招就好了,他们不缺这样的人 ,
    培训班针对的是热门就业市场,热门就业市场根本不屑于一些被扫进垃圾堆的东西,
    技术的本质是为了更好的开发,如果我一个写 Java,写程序的时候需要去关注一些 程序栈 内存回收的问题,
    那我用 Java 干嘛?我用 Java 不就是希望它能帮我屏蔽这些问题,让我能愉快的去玩耍。

    技术的变化是为了让人更好的使用工具并修改工具,
    技术的思想不容易变化,但是解决特定领域问题的技术往往总是在变化

    布局这东西 flex css margin 盒模型 一堆听说过的名词 天天都在变,
    说句实话 布局技术 跟 程序设计 真的没半毛钱关系,
    程序写得好 靠得是 算法 系统设计的思想 对计算机系统的理解 与业务需求方沟通的技巧 ,
    70 年前 写程序的人就依靠这些技能,今天还是一样。

    而前端 布局靠的是脑子里面装个大数据库 人肉搜索解决方案,而这个数据库的数据每天都在更新,
    document.getElementById() 如果 id="name" 的 dom 元素有两个怎么办?

    我操,这种情况 写个脚本 广度搜索 DOM 树 + Map + Git 记录 ,结合规范跟命名空间原则 把这个写了重复 ID 的傻逼 踢出我们的团队,id 就是 id,尼玛逼 id 相同了 还让我去 hack 解决这种问题? 我脑子里面装着这些 指不定哪天就会过时的东西干嘛?有好的技术规划 跟最佳技术实践原则放着不用,自己给自己添堵,怕不是脑子有毛病。
    loginv2
        120
    loginv2  
       2018-07-20 07:54:32 +08:00
    哈哈,我好像都会,但是我不是前端,也没有学历,更不会简历上吹牛,所以转行了 。曾经干过兼容 IE 6-11 的项目
    xwyam
        121
    xwyam  
       2018-07-20 07:56:51 +08:00 via Android
    @abcbuzhiming 很早就知道 css 和 js 的区别,个人在做相关事情的时候也会要求自己两者都学习一些。不过用人性价比的问题之前还从来没有考虑过,受教了。另外再请教下,按照您这样分类的话,html 和 css 应该属于一类吧
    xwyam
        122
    xwyam  
       2018-07-20 08:08:14 +08:00 via Android
    前端我不大懂,不好说什么,不过从评论中的舆情来看,我劝楼主稍微“严于律己,宽以待人”些。我个人基本是用 C 做开发的,近期有个 Java 相关的项目从我们团队借调一个人过去,开发过程中涉及用 Java 以二进制的当时解析 socket 数据,我们那哥们儿竟然几乎没有任何对二进制和字符串的关系的认识。后来我询问了几个做 Java 时间很长的人,他们表示一般来说 Java 确实不需要考虑这类问题。关于 Java 吧,我始终觉得真正的 Java 大神是能搞定 JVM 的那种,但是市面上又有几个这样的人呢?
    komeijiLogi
        123
    komeijiLogi  
       2018-07-20 08:13:10 +08:00
    作为初级前端学习了,果然打基础是最重要的,请问针对 js 异步具体问了哪方面呢?
    zhuziyi
        124
    zhuziyi  
       2018-07-20 08:26:08 +08:00 via iPhone
    能干活,就是最值钱的。

    技术人员的固有思维,认为基础最重要,可能并不适用于大环境的每个人。
    bk201
        125
    bk201  
       2018-07-20 08:27:32 +08:00
    HTML 前端我觉得能干活就行,要求那么高,当然难招
    yunfeihe
        126
    yunfeihe  
       2018-07-20 08:32:17 +08:00
    杠精真不少了。
    124 就不说了。
    3 这个问题都不知道,显然 js 学到狗肚子里了,var 的变量提升还能用 es6 换 let 搪塞下,function 关键字可是还有变量提升的性质,况且变量提升本身就是很简单的东西,看一眼解释就明白了。就这还抬杠说不知道很正常。
    cout2013mr
        127
    cout2013mr  
       2018-07-20 08:39:24 +08:00   ❤️ 3
    请在 JD 中标明,非 ES6,偏 CSS,兼容旧版本 IE,不要 MVVM 框架。
    LeungV2
        128
    LeungV2  
       2018-07-20 08:46:09 +08:00
    前端看成了前台 楞了几秒....
    cout2013mr
        129
    cout2013mr  
       2018-07-20 08:56:23 +08:00   ❤️ 1
    最烦你们这些招人的,JD 里面写 spring boot,docker,k8s,jvm,redis,结果面试问的是 mysql+hibernate+servlet,真是够够的。
    讲道理,我是后台转前端的,你说的这几个问题描述的意思我可能不是很了解,但是赖于搜索引擎都能解决。吐槽一下最后一个 js 异步问题,这个就是扯淡的,单线程的东西,异步都是回调实现的伪异步,Worker、ajax 都是调用浏览器线程执行,这个也不是 js 执行的异步,实在想不通 js 的异步指的是啥
    DrugsZ
        130
    DrugsZ  
       2018-07-20 09:06:21 +08:00
    之前我在张鑫旭的 css 世界里面看到他说的一段话我觉得很对,大概意思是,很多人写 css 是完全按照写 js 的方法来写的,认为一个语句就是一个效果,但是 css 之所以叫层叠样式表,就是因为他是好多属性叠加在一起的.所以很多 js 好的 css 会不好,但是楼主说这个我不吹牛,我还没工作的时候就会,不过工作之后我们有专门的 ui 写页面导致我都不会写了.新老大要求我们所有页面自己实现才拾起来.所以楼主不要觉得前端都是这种,只不过很多人刻意的放弃了 css,因为现在的 UI 框架太多太好了.以至于他们不思进取了.我不是吹牛,你说的我自我感觉都能胜任,而且我只工作了一年,但是还是在青岛拿着 4.5 的工资,不过还是感谢楼主的这个帖子,让我认识到原来我也可以要这么多,哈哈,开心
    SoulGem
        131
    SoulGem  
       2018-07-20 09:08:40 +08:00 via iPhone
    异步还要考?这不是基本素质么?就和上来就问 CSS 选择器有哪些一样。。。。
    yanaraika
        132
    yanaraika  
       2018-07-20 09:09:01 +08:00 via Android
    @sniucom 前端现在是方差巨大。最牛逼的那批不会来这个工作。而且你们的技术栈有点陈旧,要你们真有个所谓的满足要求的“老前端”,他想向上发展也可能被别的公司因为没有 ES6 flex 等现代建设经验被拒。说到底就是现在前端的技术栈分化很严重,兼容 ie7 的和能用 flex/fetch 等现代手段的基本可以看做两个职业。至于还原度问题,我在 google 的时候是有工具强制 0 像素不同的(在给定的几个分辨率下),不用框架全部自己造轮子,但楼主肯定给不了那么多的工资,工作量又大只能用框架,混合框架样式和自身样式坑又多(见过一个组件被!important 无数层的样子)
    xianxiaobo
        133
    xianxiaobo  
       2018-07-20 09:11:28 +08:00
    建议直接给他一个你们项目里面用到的东西做吧,其实前端某些部分面试题和实际开发脱节挺大的。
    ianva
        134
    ianva  
       2018-07-20 09:15:25 +08:00   ❤️ 2
    你前端的资历和知识决定了你选人的视野,这个时代就是这样原生的意义也没有这么大,因为现在已经不需要操作 dom 了,很多 api 可以说在应用层面已经淘汰,不说 react,angular,就是 jquery 这个年代,你了解 dom 的收益也没有这么大,其实可以这么说如果 w3c 定了一个以 virtual dom 为基础的新的规范也毫无违和感。

    angular, react, es6, npm, flexbox 出现以后前端的旧格局基本被打破了,那个时代遗留的知识是在贬值的,前端的主要方向也变了,由于多平台开发的缘故,开始接收后端的逻辑,后端只要提供 api 就好了,这个时候,前端的页面的知识也没这么重要了,真正重要的是业务层的理解,复杂业务的开发能力,至于其他东西,不再这么有意义
    jatesun
        135
    jatesun  
       2018-07-20 09:23:58 +08:00
    薪水起点太低,建议提高 5k~10k,这样很多人就不会来了。还有 jd 写的要精确点,节约彼此的时间
    guoyuchuan
        136
    guoyuchuan  
       2018-07-20 09:26:05 +08:00
    搬了个凳子
    98jiang
        137
    98jiang  
       2018-07-20 09:26:37 +08:00
    @xwyam 这段话怎么感觉在哪里见过。。。
    ibugeek
        138
    ibugeek  
       2018-07-20 09:28:45 +08:00
    为啥做微信,小程序这类的经验就要减半,还看不上外包。有些公司的项目还不如外包的,几个项目下来,至少微信,小程序都能独立做,前后端也可以全撸,至少是个熟练工。
    sm0king
        139
    sm0king  
       2018-07-20 09:39:39 +08:00
    @yanaraika 三个问题,四个问题都轻松回答,还会你们说的框架,能给到你说的三个 10k 不· 哈哈~~
    zhaohang
        140
    zhaohang  
       2018-07-20 09:40:20 +08:00
    ....心疼,感觉楼主问的挺正常的,而且也都是入门知识...不应该啊,我 2 年前入门也是被人这么问的,没觉得有问题
    sniucom
        141
    sniucom  
    OP
       2018-07-20 09:48:24 +08:00
    总结一下这个帖子,可以将人群以及意见分为几类:

    1. 从招聘本身角度出发的,普遍认为起薪比较低,这个我接受,起薪是有点低。这是人事决定的,已经让修改;非常感谢;不过薪水上限没那么低,25K 只是因为招聘范围的限制。

    2. 来抬杠的,可能我的某些言论让你不舒服了,也可能是我所指出的某些问题你自身也有,也被这么刁难过,拒绝过. 辩论可以有, 负气不需要,你未必正确, 我也可能因为背景或眼界原因有些论点未必站得住脚。

    3. 有真正的前端大牛的规劝, 看了回复确实有收获, 我们技术栈确实陈旧了, 不过还是出于用户群体的考虑, 出于早上又看了不少网站依然没发现多少 UI 框架以及 flex 布局的问题,PC 端还是不接受比较新的技术栈。 移动端我一直无所谓的
    sniucom
        142
    sniucom  
    OP
       2018-07-20 09:54:32 +08:00
    @ibugeek 给大厂接外包可以接受。 一般外包公司经验确实是不受欢迎的, 再多的理由这也是事实。A B C D 以及上市公司不欢迎快枪手和自认为全栈的从业人员。 都是需要抠细节的岗位, 如果 3 年前后你全做, 那么分隔下来, 你单项的经验也才不到一半。

    微信,小程序这类减半是很正常的, 总体状况得出的结论。 这里能被减半的经验指的是, 如果你一直在做这类开发, 或者你很长一段时间都在做这个。这就是一种经验, 无法解释, 反正我是认同的
    zhuziyi
        143
    zhuziyi  
       2018-07-20 09:57:31 +08:00
    再补充一句,楼主这个 ID 是 V2EX 第 48832 号会员,加入于 2013-11-05 22:16:46 +08:00

    但发现这是你第一个帖子,而且在此前你也未曾回复过其他帖子,初步判定,你并不太喜欢线上技术社区的交流,以至于对技术前沿无法及时的获取(当然这不是绝对的...)

    曾经的我也是拒绝技术的更新,但实际上会被淘汰,任何时代任何技术都一样。
    sniucom
        144
    sniucom  
    OP
       2018-07-20 09:58:53 +08:00
    @xwyam 那你确实入坑了,JAVA 编程界使用二进制传递数据具有很高的普遍性的, 内部调用的服务或者微服务,JAVA 一向喜欢使用 RPC 方式, 而 thrift 又是占比非常高的一种格式。 不存在 JAVA 很少使用二进制的状况吧
    v3xe
        145
    v3xe  
       2018-07-20 09:59:51 +08:00
    @zhuziyi #143 这可能是人家的备用小号~ dog -_-
    denghongcai
        146
    denghongcai  
       2018-07-20 10:03:21 +08:00
    怎么我觉得楼主问的这几个问题都是基本问题?基础都不行还扯什么程序设计,扯新技术?
    sniucom
        147
    sniucom  
    OP
       2018-07-20 10:05:13 +08:00
    @zhuziyi 前端确实。自身的 比较喜欢逛国外社区
    技术前沿不代表广泛应用. 不能说技术更新迭代快, 现在的前端就一定是高起点, 接受不了高起点的公司或团队就一定有问题。
    sniucom
        148
    sniucom  
    OP
       2018-07-20 10:17:53 +08:00
    @denghongcai 除第三题外,我确定都是基础问题, 就这几题基础问题, 能卡住一半还多的人, 虽说薪资下线标低了, 但这帮人最低的开口也是 14K 啊。

    我不明白这几题有什么好议论好鄙视的, 我之前也是按新技术栈出题的, 后来我发现吧, 很多人基础有大问题, 甚至是在背题, 毕竟现在培训机构出来的孩子最少都自带三年工作经验, 你跟他聊新技术 甚至深入聊,100%不能说, 但是 70%是有的。

    但是看简历又很奇怪, 太多一模一样的公司, 太多那种做了一年项目网址都报不出来的人。

    特别是那道布局题,不说老不老,前端爱不爱用。 一点基础加一点思考就能解决的问题, 有什么问题, 不会根本不是技术栈太老能搪塞的了的?

    为什么第一面面基础会被这么多人喷呢
    Antidictator
        149
    Antidictator  
       2018-07-20 10:20:22 +08:00
    @won 来自咖啡大佬的亲身经历?
    sniucom
        150
    sniucom  
    OP
       2018-07-20 10:29:14 +08:00
    @q397064399 框架也许在变, 基础没在变,css2 到 css3 有超过 30%的变化没有, 一个新的技术栈在变的合理能被大中型网站接受前是有个时间过渡的。

    牛 B 的前端为什么不能给淘宝给京东安利那么好的框架, 为什么访问量越高的站点页面技术栈就越保守? 没说反对使用框架, 但这是在你扎实的基础之上。
    sniucom
        151
    sniucom  
    OP
       2018-07-20 10:32:39 +08:00
    @SoulGem 20K 以下,异步问题就能刷一半还多的人, 不是瞎说的, 也许别人在面试准备的时候就是利用你这思维盲区, 如果我搞培训, 我也会利用下面试官的思维盲区
    bucky
        152
    bucky  
       2018-07-20 10:40:20 +08:00
    @sniucom 请问一下什么叫变量作用域提升?
    zdliu
        153
    zdliu  
       2018-07-20 10:42:12 +08:00
    那这样问的呢。。。前端 都是被培训机构玩坏的

    WebSockets

    浏览器缓存机制

    浏览器渲染机制

    一个 http 完整请求

    http 协议

    this、作用域、变量对象

    generator .next().throw() .return()

    promise 函数

    排序

    去重

    编译原理

    语法分析过程

    哈夫曼树

    前端存储 database、sessionStorage、localStorage、cookie

    css 弹性布局

    promise 和 setTimeout 函数执行顺序的问题

    webpack 打包 优化等等

    vue.js 的知识

    es6\7

    网络优化、性能优化(重点)首屏等等

    项目工程化、模块化

    前端管理和如何提升团队人员的技术等等、

    代码规范、review

    还有 vue.js 拆分异步模块后 发布后的 缓存等等问题

    webpack 优化

    babel 转译

    webpack 插件编写
    a7a3
        154
    a7a3  
       2018-07-20 10:46:33 +08:00
    我回答不了 但是我可以做到
    bucky
        155
    bucky  
       2018-07-20 10:47:06 +08:00
    @sniucom 感觉你问题都没表述清楚,指望别人怎么回答,10 个面试 8 个不合适,这种情况是不是要反思一下 JD 描述的是否清楚,HR 是否负责人
    cccRaim
        156
    cccRaim  
       2018-07-20 10:47:23 +08:00
    这几个问题都听基础的,我觉得没问题
    bucky
        157
    bucky  
       2018-07-20 10:49:44 +08:00
    @cccRaim 请问一下什么叫变量作用域提升?
    wbgbg
        158
    wbgbg  
       2018-07-20 10:50:27 +08:00
    以前觉得有些公司招聘分 html/css 工程师和 js 工程师还感觉很奇怪,现在发现还是有道理的,确实是两个区别很大的工种。
    v2chou
        159
    v2chou  
       2018-07-20 11:04:15 +08:00
    招聘写上兼容 IE7 吧 相信能过滤很多人
    unknownservice
        160
    unknownservice  
       2018-07-20 11:10:56 +08:00
    JD 写没写要兼容低版本 IE ?没写你的问题,写了他们的问题。
    SoulGem
        161
    SoulGem  
       2018-07-20 11:14:29 +08:00
    @sniucom 这算不上什么思维盲区,这就是基础,除非你面的是 UI 前端而不是 Javascript 工程师。如果说面试的人是作了准备的看了大量面试题的话,那诸如异步这种知识点也必然会出现在面试题库里。我觉得的思维盲区不应该是水平问题,而是自己在工作中不常遇到,但是在别人眼里是理所当然应该掌握的知识点。随便举个例子,比如 export 和 import 有几种写法?我知道的大部分复制党还是只知道 import sth from 'foo/bar'
    lingo
        162
    lingo  
       2018-07-20 11:25:32 +08:00
    曾经我还真有去兼容 IE7 过。因为那是很多年前了,而且是面向传统行业的,各种 CSS hack 估计都失传了。
    但是我现在依然不敢轻易面试。
    就是,工作中能工作的好好的,但是如果面试官非要问一些莫名其妙的问题,那就很尴尬,我只能觉得自己这也不会那也不会。
    microchang
        164
    microchang  
       2018-07-20 11:37:01 +08:00
    讲道理这些题目并不难,可能实际工作中不常见,但是面试的时候肯定要准备准备。别的不说,手写闭包啊,作用域啊这些必考的东西还是要翻一翻。

    但是这些是纯技术领域出发的招人思路,我虽然也是很推崇这样,不过现实中大部分小公司很难招到基础扎实的人。所以要么找璞玉,自己打造,要么找能干活的人,别管他怎么干的。
    yanaraika
        165
    yanaraika  
       2018-07-20 11:40:54 +08:00 via Android
    @sm0king 欢迎来 google ; )
    sm0king
        166
    sm0king  
       2018-07-20 11:41:56 +08:00
    @yanaraika 哈哈~~ 等我。
    darkkylin
        167
    darkkylin  
       2018-07-20 11:43:47 +08:00
    @bucky 可以看看《你不知道的 js 上》第一章还是第二章,就有讲变量提升,变量提升是语言本身的特性,一开始是作者为了对编程人员更友好,你可以在任意地方定义使用变量,因为 js 执行的时候,会有函数声明提升和变量提升(这两者还有优先级)。比如你定义一个变量 var foo = “ bar ”,实际执行是将所有变量声明 var foo 提到预执行,后面执行到该语句才会有 foo = “ bar ”,这样你可以随时使用变量和声明变量。函数提升就更有趣了,你可以写一个先使用后声明的函数试试,可以“正常”执行。
    xwyam
        168
    xwyam  
       2018-07-20 11:54:54 +08:00 via Android
    @98jiang 我似乎也在 v2 发过贴子问过
    xwyam
        169
    xwyam  
       2018-07-20 11:59:39 +08:00 via Android
    @sniucom Java 我不太了解,所以只能通过多咨询别人从而作出判断。
    icris
        170
    icris  
       2018-07-20 12:03:40 +08:00
    我试试回答 4,有哪些语句是异步的:
    (带 await 的语句,换句话说在题目要求的环境下)没有。
    cccRaim
        171
    cccRaim  
       2018-07-20 12:05:29 +08:00
    @bucky 这个确实表述有问题,应该是变量提升
    shenqi
        172
    shenqi  
       2018-07-20 12:21:18 +08:00
    中高级前端看到你的 10-25k 的薪资范围就只能说这公司想钓谁的鱼。

    开价 20+ 吧,不要开 n ~ 2n 那种,写明 n ~ n+5 的样子就行。

    不然你开个 20-40k,我取上限,你能给不?
    mx1700
        173
    mx1700  
       2018-07-20 12:21:42 +08:00
    你这题的问题是太基础了
    我估计答不上来都是从速成培训班出来的
    LeungJZ
        174
    LeungJZ  
       2018-07-20 12:58:57 +08:00
    前端渣来答一下,不知道对不对。

    >CSS 选择器 写了几个嵌套元素, 然后多选哪些选择器无法指向。
    无法指向没弄懂什么意思,是无法特指哪个?

    >简单布局 固定 800 像素的行,等分成三列,列宽相同, 列间距相同。 用 CSS 实现, 如果答出就追加如何用 CSS 实现等分并自动换行(bootstrap 原理)

    8102 年了,flex 肯定是首选。
    不能 flex,那就 float:left; width: 33.3333%,bootstrap3 的原理就是这个。
    或者 display:inline-block; width: 33.333%; 父元素 font-size:0 消除每个子元素间的间距。


    >js 变量作用域提升的问题
    看了下评论,是要考
    var a
    a = 3
    function a() {}
    console.log(a)
    输出的是 3 这个问题? function var 的变量提升?

    >js 异步问题
    这个太泛了。
    shyling
        175
    shyling  
       2018-07-20 13:06:44 +08:00
    还是比较支持楼主看法的。emmmm,薪资是问题,但是该会的还是应该会的
    TheBladeDancer
        176
    TheBladeDancer  
       2018-07-20 13:24:31 +08:00
    看到楼主 JD 的要求跟薪资,觉得我要找公司加钱了
    sniucom
        177
    sniucom  
    OP
       2018-07-20 13:42:55 +08:00
    @bk201 外包公司的要求是能干活, 但一样的活也有质量之分。
    Tlin
        178
    Tlin  
       2018-07-20 13:44:00 +08:00
    老哥,你别骗我,就你问的这个技术能上北京?还是 10k 以上????真的啊,太简单了这个,十八线小城市的都比这个难几十倍。要是我有同学在那里有地方给我住的话,这么简单的东西我早就去了。这样的话我工资至少也是 20K。看来我确实孤陋寡闻
    cout2013mr
        179
    cout2013mr  
       2018-07-20 13:50:27 +08:00
    @sniucom 楼主你还是贴出 JD,让我们看看吧。
    sniucom
        180
    sniucom  
    OP
       2018-07-20 13:57:19 +08:00
    @zdliu 岗位名称就 HTML5 前端工程师,而不是 WEB 前端工程师, 岗位职责中明确注明就是 H5 页面开发维护优化, 招聘要求重把 html css 单独列出来要求, 并要求偏重, 对 js 的要求就是原生+jqeury,其它没做过多要求。

    最后还做了严格限制, 不欢迎纯框架使用者。

    但是最终结果就是基本来的都是纯前端 MVC 框架工程师, 大部分都是 HTML CSS 薄弱者。

    今天早上又一个面试者, 从南京打高铁到北京,来三天, 集中面试,3 年基本相当于外包经验,vue+vuex+jquery+elementui 技术栈, 做过的项目很多, 但最长一个项目都没超过 2 个月, 也全部是后台管理应用, 开价 18K。 技术远景就是做全栈工程师

    我觉得这样的人可以代表很大一部分所谓的“前端工程师”, 在 JS 这条路上狂奔,一路到底, 根本不看别人的招聘要求,到处撞运气。 别人不用他的技术栈, 就觉得你陈旧, 有问题。
    meetocean
        181
    meetocean  
       2018-07-20 13:58:22 +08:00
    你这些面试题太简单,入门都不算吧?
    我来说说自己的体会吧,本人是后端的,但是也算熟悉前端,自己给自己开发的知识库管理系统需要用前端。

    在上一家公司带队,也协助面试,几乎很少有能过关的,但是开价象打了鸡血一样,都要 2 万到 3 万,知识他们都水平在我看来连门都没有入。当然新公司没有名气,很难招到水平高的人。

    另外,既是面试水平很高的,动手能力弱爆了也有。我面试完之后,就让他们上机测试,都是非常简单的页面。但是从代码可以看出他们的基础水平。无论是 JS 还是 CSS。

    感觉面试也是考验耐心的事。
    twogoods
        182
    twogoods  
       2018-07-20 13:58:23 +08:00
    我一个后端程序员点进来干嘛....要不是学不会 css,我当初也可能搞前端了
    ranwu
        183
    ranwu  
       2018-07-20 13:59:19 +08:00
    说一句,我是支持基础立场的。
    即使不熟悉,但也要了解过,就像刚开始学前端的时候,肯定是从 html,css,js 开始学吧。
    从这个也可以看出候选者的某些特征,比如是否有好奇心来探索这些框架的实现原理?以及在遇到一个问题的时候是否有创造力来解决问题等等。
    js0816
        184
    js0816  
       2018-07-20 14:02:40 +08:00
    招不到 真的随缘 招了快一年了 来了仨 后悔俩
    ranwu
        185
    ranwu  
       2018-07-20 14:04:16 +08:00
    @sniucom 看了楼主的回复,感觉楼主需要一个这样的人:能通过纯 html,css 画出想要的任意图案。可以提一个要求:
    比如要求面试者提供 APP 作品,看看这些作品的实现复杂度,以及是否是纯 html,css,js 实现的就可以了。
    CasualYours
        186
    CasualYours  
       2018-07-20 14:06:26 +08:00
    现在的前端开发基本等同于 JS 开发了,CSS 都快被遗忘了。就我来讲,CSS 感觉和之前工程化的思维格格不入,也就没越落越远了。
    meetocean
        187
    meetocean  
       2018-07-20 14:08:00 +08:00
    上面的回复有输入错误,改为:

    在上一家公司带队,曾经协助过面试,面试者很少有能过关的,但是他们开价如同打了鸡血,都要 2 万到 3 万,只是他们的水平在我看来连门都没有入。当然新公司没有名气,很难招到水平高的人。
    meetocean
        188
    meetocean  
       2018-07-20 14:21:53 +08:00   ❤️ 1
    在招聘前端的过程中,发现一个很有意思的事情。发现公司和面试者对前端的理解都有不同。

    一个是把美工的图片切割为 CSS 代码,或着用 CSS 代码绘制成需要的页面,一个是 JS 编码,一个是编译 CSS 和 JS 文件。前端要做的工作包括这三者,但是遇到一些面试者,认为用 CSS 呈现页面不是他要做的工作,他的工作就是编写 JS 代码和打包 CSS 和 JS 文件。而公司希望这些工作一个岗位能解决。
    sniucom
        189
    sniucom  
    OP
       2018-07-20 14:36:40 +08:00
    @CasualYours 那页面还原设计,视觉化呈现由哪个工种完成?
    zhangdawei
        190
    zhangdawei  
       2018-07-20 14:45:04 +08:00
    教育培训和实际工作脱节了,都靠自我成长效率不高,之前知乎萧井陌跟各大网红撕了一轮
    CasualYours
        191
    CasualYours  
       2018-07-20 14:59:17 +08:00
    @sniucom 可以在 JD 中指明 CSS 要求。
    sniucom
        192
    sniucom  
    OP
       2018-07-20 15:01:52 +08:00
    @CasualYours 百分百指了, 无奈投递的还都是走 js 路线的前端。都是一帮来碰运气者。 只能靠猎头靠自己搜简历才能找到一些符合要求的
    zdliu
        193
    zdliu  
       2018-07-20 15:10:16 +08:00
    @sniucom 说真的,现在的前端,基本都是走 js 路线,html,css 路线的很少,很多人认为那是新手干的事。而且现在很多都喜欢用框架,特么是 bootstrap(不是黑)。你真要他自己写,真的水的很。
    wekw
        194
    wekw  
       2018-07-20 15:11:05 +08:00
    上真题了:



    《 2017 面向 1-3 年 web 前端的真实面试题》 https://www.v2ex.com/t/390003
    meetocean
        195
    meetocean  
       2018-07-20 15:23:55 +08:00
    还有一个麻烦的事,就是前端 HTML 和后端数据结合渲染页面,如果后端是 PHP,就是 PHP+HTML,这里是前端和后端结合最紧密的地方。如果前端不管,那么后端就增加了工作量。如果后端不管,而前端就需要额外的了解 PHP 知识,虽然需要 PHP 的知识不多,对于前端来说,也是一大负担。

    所以要招一个好的前端很困难。

    题外话:
    假设公司招聘一个后端,月薪 15k,前端也是 15k,一个精通前端+后端的人,按道理就是 30k,甚至更高(因为二合一,效率更高),然而遇到的公司并不愿意给更多的工资。
    lingo
        196
    lingo  
       2018-07-20 15:27:27 +08:00
    @darkkylin 本来题主说变量提升的时候,我也不知道是啥,然后你一解释,哦,就想起来了,这特性我知道,但是没想起来这个特性的名字叫变量提升。。所以面试的时候就尴尬了。
    sirm2z
        197
    sirm2z  
       2018-07-20 15:46:14 +08:00
    单纯看面试题已经很简单了,偏基础,对标这个薪水招不到人?
    确认不是其他方面的问题?
    sniucom
        198
    sniucom  
    OP
       2018-07-20 15:50:51 +08:00   ❤️ 1
    @meetocean 这是架构方式与分工的问题:

    1. 非前后端分离, 这时候前端的工作重点就是要提供良好的结构, 提供良好的交互, 视觉还原,ajax, 性能优化等工作。 这样的前端就比较传统。 专注 UI、性能; 这时候渲染工作不应该让前端去做, 而是后端分配人手去做, 后端人手不需要前端技能多牛 X, 因为对前端 UI 要求有良好的结构了, 特异性结构,易奔性结构不行的。前后配合;

    2. 前后端分离,这种形式如果是移动端或者后台类就不会很复杂, 如果是 PC 端,用户中心类就会比较复杂, 首先前端渲染页面技术选型的问题, 在兼容性上要考虑很多, 站点类型, 面向的人群,年龄跨度等等都需要考虑到。 渲染技术可以是 ajax 也可以是 mvc, 这都需要架构去调研权衡。 这时候前端工作就比较中, 视觉,性能,渲染等等, 但是也可以把这些再分成不同工种。

    同时后端架构要合理, 有合理的单点登陆, 合理的验证, 合理的替代 session 技术, 合理的接口形式,合理的跨域方案,才能实现真正的前后分离, 让前端只专注前端工作。 此外,SEO 方案也需要考虑, 前后分离下, 强求前端来 SEO,就以国内现在的搜索引擎的尿性, 如果不做特殊 SEO 方案, 就可能要前端做牺牲, 会崩坏前后端分离的架构。一般来说,后来还需要再做一版后端渲染的页面, 然后在某一层负载或者 nginx 之类的 http 服务上引导分离普通用户和蜘蛛。这样才是一种完善的前后分离。

    3. 两者混合, 那么架构手段也是上 1 2 的混合,也不需要前端通吃后端。
    gaocc
        199
    gaocc  
       2018-07-20 16:01:27 +08:00
    兄弟。看你要完成什么任务啊,是要一个挑起前端大梁,原生态和各种框架都会的大牛,还是一个能完成系统界面实现和前端业务实现的普通前端。前者当然难找,一般都有圈子,哪会去社招。后者干嘛还要忌惮于对方基础太差,比如会用 vue,能把任务给完结掉就行了,至于代码质量,让写个 demo 评测一下就 ok 了。

    从一个面试者角度看,你问的可以说都是他们开发前端时候不会去使用的东西,去了解这些对他们来说时间成本和收入比太高了
    gaocc
        200
    gaocc  
       2018-07-20 16:06:34 +08:00
    我现在单位的模式是。UI 做图纸设计,前端实现界面,并且针对后台接口写业务逻辑(用的 vue,99%的数据交互都是 ajax )。不得不说,vue 很好用,ES6 标准很舒服,element ui 比较美观,而且可以根据需求再自己重写功能和样式。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   888 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:27 · PVG 05:27 · LAX 14:27 · JFK 17:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.