现在的web前端开发招聘,都爱问这几个问题!

时代变了


话说我上一家公司就是那种—想招聘个高级前端开发人员但是又没什么钱的小企业。

这种企业真的很多,给的薪资不高,但活儿是真的很多。

如果时间能倒退五年,你只会用html+css做一个静态页面都能很轻松的找到工作。可是现在呢,你的简历甚至都没人会看。

为什么会这样呢?

通过这几道题,希望能给正在找工作或者想要换工作的你一些启示。

第一题

你理解的前端开发是干什么的?


2013年冬天我刚来北京的时候,面试到处碰壁的我还没有找到地方住,饿了就在地铁口买几个包子吃,风嗖嗖的往我脖子里面灌。

电话响了,是我妈打来的。

她问我工作找的怎么样了,我说,面试的不错,过几天就上班了。

其实那个时候,我才干过几天所谓的前端开发。过去是学平面设计的我,对代码根本就是一知半解,我做网页就是用dreamweaver在设计模式里面插入一个表格,然后把图切成一段段的插入进去。

后来我终于找到了一份工作,在一个小公司做网页设计,设计完了切一个静态页面给程序员套程序。

那时候所谓的套程序就是用dedecms把静态页面里的内容用标签替换掉。

也可能就是我这个人脑子笨,我就不明白,为什么网站开发要分为前端和后端,设计算前端吗,还有那些安卓开发和ios开发,他们算什么开发人员?

在碰了无数次壁,换了无数个公司,无数个领导以后。

我想我已经可以回答你这个问题了,只要是用户能感知到,看到的,体验到的,都是前端。

我们使用的html,css,js—这些都是为了实现前端展现所用的手段。就好比你在小程序中开发的wxss和wxml一样,不论它是什么媒介,什么语言。

前端开发就是开发展现给用户看到的那部分内容。

第二题

mvc和mvvm开发模式的区别是什么


在做了无数个静态页面以后,我就想搞清楚一个问题,那些java和php开发人员,拿了我的静态页面到底干什么去了。

后来我发现,无论是php还是jsp都是一种把服务器端语法嵌入到html中运行的语言。因为你传输给用户浏览器的肯定还是html。

因为浏览器只能解析html。

可是问题就来了,编程语言不可能只为了前端展示服务,它必定还有一部分是要处理逻辑的,有了逻辑部分,你还要有一部分处理连接数据库,好让数据持久化。

好的,那么我们为什么不制定一个规范,把视图处理,逻辑处理和数据储存这三个操作分开呢?

于是像thinkphp这一类的框架就诞生了。他们最大的特色就是基于我们上面的理论,把视图,控制器和模型分开,于是mvc就诞生了。

mvvm设计模式就是把逻辑部分移到了前端完成,这一点当我学会使用vue以后才大彻大悟,后端处理数据解构的操作减轻了,但是前端特么的复杂了!

我不但需要在前端解构数据,我还要想办法解决页面静态化的问题和用户体验。所以当一个人告诉你,前端没什么技术含量,后端应该比前端工资高的时候,说明这个人一点也不懂前端!

当我学会php和nodejs以后,我终于可以回答你这个问题,mvc和mvvm的最大区别就是,在mvvm中,实现了数据驱动视图,前后端完全分离。如果route和数据解构是在前端完成的,那它就是一个mvvm结构的项目。

第三题

为什么在移动端网页用touchstart而不是click


时代在变化,很快我们就进入了h5一统江湖的时代。

我记得当时我需要做一个h5用于微信中播放的贺卡页面,结果有的同事就发现,按钮在手机上好像不是特别灵敏。有的时候点了要等一会才有响应。

我一开始以为是代码问题,但是很快排除了,因为在这个页面上逻辑部分非常的简单,不存在执行效率的问题。最后发现是onclick导致的。

因为这个onclick是pc端的事件,在移动端会存在一个3毫秒的响应延迟。需要换成ontouchstart为移动端专用。

不过你要注意,这个时候,在你pc端是无法触发这个事件的。

第四题

你如何解决vue项目无法被百度搜索引擎收录的问题?


有一次我去面试,对方公司的态度似乎是对目前主流的这几个js框架非常的抵触,细问之下,原来对方是做商城的。

做商城就不得不考虑商品能不能被百度自然收录,然而,做为主流spa框架,vue做的页面想获取自然流量简直就是天方夜谭。

对方也不可能烧钱去做推广。

然而问题就出来了,作为一个前端开发,你如何解决这个问题?

我一开始提出的是用vue插件prerender-spa-plugin来解决问题。所幸对方在这个问题上也没有深究。最后不了了之。

因为我们都知道—这只是一个治标不治本的解决办法。prerender-spa-plugin可以按照route去生成html,但是,我们都知道,详情页是无法生成的,只有列表页被生成了html,而且内容那块还是空的,因为我们的数据都是ajax来的。

这样问题就出现了,如果不是每个链接都是一个实打实的html静态页面。那怎么样被百度收录呢?

直到我遇见了nuxt。一切问题都解决了。nuxt是一个ssr框架,它可以根据你的动态route把获取到的内容自动生成html,ajax的数据在async中,并不是动态获取的,但在开发时,使用spa模式,提高效率,nuxt是基于vue内核的,这是一个两全其美的解决方案。

第五题

我能不能在微信小程序的地图或者视频上,悬浮一个自己的按钮?


首先我们先来判断一下,这个操作能实现吗。

有的人说不能实现,他们的理由是,地图是map,视频是video,这都不是普通的html标签,他们本身会占用一部分浏览器或应用资源,是完全脱离文档流的,所以你想用文档流里面的内容去覆盖它,是不能实现的。

咱们先不说对不对。

先说那些认为能实现的人的想法:

“看到这个问题,我们脑子里第一个想到的肯定是:给view的css里面来个position,再加一个absolute。搞定了。”

事实真的这么简单吗?

首先我需要肯定一点,这个操作是可以实现的。微信小程序虽然底层是模拟了一套浏览器语法和行为,但是它本身并不是浏览器,所以dom并不存在的。

当我们翻看小程序api手册,会发现有这样一个标签cover-view。它比view就多了一个cover,但多了这个表示的意义就完全不同了。

在小程序中只有模拟层和原生组件一说,我们写的view都是在模拟层中的,原生组件会无条件的覆盖在模拟层之上,所以就出现了这个cover-view覆盖层组件。

第六题

假如我想要做一个抽奖的小游戏,你选择用canva还是dom?


其实我觉得大部分人不选择canvas的原因,并不是因为抽奖这种东西用dom比较方便,而是他们压根就不会canvas技术。

你在面试的时候就要非常小心这个,不会没关系,但是你一定要知道为什么我们需要这个技术。

首先我们需要知道dom是什么,dom就是浏览器中的文档节点,类似<body><p>这些,都是节点点。

遍历节点,是一种非常消耗浏览器资源的操作。于是canvas取代了flash现在大行其道,很多小游戏都是基于canvas制作出来的,有一个非常著名的游戏引擎白鹭,你可以去了解一下。

然后,我们就可以肯定说,一定是用canvas了。
canvas是通过调用显卡,把画面一帧一帧绘制到浏览器中的,而dom走的是计算机内存。内存和显卡,想都不用想,肯定是显卡快了。要不然那些比特币挖矿机为什么烧的是显卡而不是内存呢。

这只是一个思路的问题,真正的面试对方不会去考你,比如一个函数怎么写,有几个参数,参数干什么用的。大部分时候他们也记不住,走phpstrom提示或者用的时候再去查。

但是大方向上你不能错,你最起码应该知道,遇到什么问题,用什么方式解决。

第七题

谈谈你对es6的了解?


如果说前面的题都是考察你思路上如何应对各种情况,那么这道题就深入前端开发工程师灵魂了。

如果你没有经历过es5那个年代,你可能真的不太好答这个问题。

大部分人可能会说,es6比如扩展运算符,比如箭头函数,比如export和import。他们甚至能给你写个例子。但是我打包票他们大部分人不知道为什么es6拥有这些特征。

我在第二家公司里面待了三年多,那个时候前端保持jquery+bootstrap做静态页面不动摇的政策,后端再用静态页面做成一个jsp。

三年时间让我和时代的发展迅速脱节。我以为js,就是用来渲染页面,做几个页面交互效果的。

可是我错了。

前后端分离开发的诞生,webpack和gulp的崛起,让react,angular,vue等框架迅速成为各个公司开发的主流方式—我真的不知道前端开发能做这么多事。

我当时一度认为脱离了开发工具和代码提示我什么也做不出来。

现在不在doc窗口面输入自动化命令我都感觉自己的项目非常的low。

可能你会问,你讲的这些跟es6有关系吗。我得说,太有关系了,es6中新增的export和import为模块化复用代码复用打下了基础,另外extend替代了apply和call,class让原来的类更像是编程语言而不是脚本语言了。

另外,箭头函数并不仅仅是缩写,它最关键的在于解决了,this在函数体的指针指向问题。

展开运算符让数据解构变得更加简单了。

仅仅这些吗?当然不是,es6中提出了一个叫promise的东东,这玩意的强大之处让你不用在异步函数里面一个一个去回调了。

第八题

你熟悉哪些后端语言?


其实我们很多时候,我们经常听说一个词,叫架构师。那么什么是架构呢,这东西跟我们前端有什么关系吗?

lamp是一种架构,但其实说白了就是linux服务器+apache web服务+mysql数据库+php服务器编程语法。有了这一套你就可以架设一个自己的网站。

这里你可能会疑惑,为什么龙哥说的这么简单但是我搞起来却这么难呢?

因为你没有找到捷径。

比如说我们下载一个phpstudy你可以直接省去你买的那个php书最少前面一章的内容,你先别管怎么去配置,先做一个基础的页面再说。

先跑起来!然后运用你的前端知识去倒推后端。然后你做一个购物车或者一个商城,你最起码也能掌握90%的后端基础内容。

接着你就会发现,无论是java,php还是nodejs,他们提供的操作都大同小异,除了写法不一样以外其实也没什么稀奇的。

所以面试官考你这个问题,也只不过就是想看看你有没有后端的思维,毕竟跟你合作的还有后端开发人员。

再聊几句

你对薪资有什么要求?


其实我觉得,当一个面试官而非人事问你这个问题,是很不负责任的。

因为面试官很可能就是你以后的同事,你比他工资高或者低,都会对以后的共事产生一些影响,所以到这里,你就要对自己和公司环境有一个评估。

如果你觉得你之前的薪资已经不能代表你的能力了,你应该要求适当加薪,并且跟对方说明你加薪的理由。假如,你之前每个月薪资10K,你要求11-12k上下是完全合理的,即你原始薪资的10-15%上下的提升。

千万不要从一家公司出来以后就觉得自己已经翅膀硬了,可以随便要价了。之前就听说过,程序员跳槽后要求加薪三倍的新闻。你突然提出加薪幅度超过你原始工资太多以后,对方必定会对你的目的和心理产生一定程度的戒备。

双方带着提防和戒备的心态去谈薪资,找工作就成了一幢买卖。尤其是在经济环境不太好的时候,对方可能就会给你一次要价的机会,你一旦喊出了一个不切实际的价格,对方从心底就已经把你拒绝了。

值得一提的是

这家公司值不值得我去,我到底想要什么?


你一定要注意,对方的提问是不是围绕着他们公司目前所做项目上的。

而不是上来给你一套题,然后根据你的答案对你指指点点的。如果真是这样,对方八成是没有真心想要招人,最起码,他们对用人的渴望没有那么的迫切。就算你做的很好,他们也会在薪资上进行比较,那样你的机会就很渺茫了。

所以综上所述,当我们遇到了一个迫切需要你这方面人才的公司,你并且也感觉对可以在这里学到一些知识,环境也还可以的时候。你应该慎重评估自己接下来的行为。

对方也认为你不错,但是感觉你索要的薪资偏高,你能不能稍微做一些妥协?

毕竟我们都是出来打工的,直接目的,说白了就是为了钱。为了钱你能不能忍受恶劣的工作环境和是非不分的领导?

还是你只是想过一些平淡的生活?

这些东西,可能随着时间推移,我们慢慢的才能知道自己到底想要什么。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容