‘壹’ 前端开发很难吗
目前,有两三年前端工作经验,加上大专及以上学历,会好找工作。现在专业的前端工程师的需求量很大。
对于题主的情况,我有三点建议:
第一,展示前端成果。前端知识学一年不同于做一年,我面试时,会关注应聘者做了什么、做了多久。如果应聘者有github,看一看代码,就可以大致评估出他的能力,准确又节约时间。题主如果有精力,可以在github上放些自己的成果,这会加分不少。
第二,要了解技术细节。应聘者不适合说前端擅长的是js,因为js的技术点非常多。要是擅长js,我一般不信,我会挑难点问,要是都答上来,那是真牛。我期望得到的回答是“ajax原理和应用”、“jquery的应用”、“backbone.js”等框架、“性能优化”,等等。
第三,要懂编程和计算机相关的基础理论。应聘初级前端工程师,我不会关注这个方面。要是中级及以上,就必须懂这些。比如计算机网络的http协议,这是前端十分依赖的基础知识。算法和数据结构是深入js编程的基础。对于中高级工程师,如果不懂这些,连基本的前端性能优化都是做不了的。所以,前端工程师的知识和技能,不限于前端技术,也要懂编程理论和后端知识。
另外,题主应聘时候可以了解一下招聘方的招聘需求是不是很迫切,因为有些时候,招聘方并不是急需招人。
‘贰’ 前端面试题目难吗 如何轻松面对前端面试
从以下五个方面做,可以轻松面对前端面试:
一、基本知识
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
盒模型——外边距、内边距和边框之间的关系,IE8以下版本的浏览器中的盒模型有什么不同。
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
二、少量提问
现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者 让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区别、安全问题、容量问题等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把关于库的知识作为评判能力的因素,因为库是会随时间变化的。
三、解决问题
做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到 两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够 好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像,没有意义,也得不到任何有价值的信息。
四、有激情
要成为一名优秀的前端工程师,最重要的莫过于对自己做的事要有激情。我们技能都不是从学校中或者从研讨会上学来的,因此前端工程师必须具备自学能力。浏览器技术的变化可谓日新月异,所以也只有不断提升自己的技能才做得到与时俱进。我虽然不能强迫谁必须多看博客、不断学习,但想应聘前端工程师的人恐怕还是必须这么做的。
你怎么知道谁对这种工作有没有激情?实际上非常简单。我只问一个简单的问题:“目前你对什么Web技术最感兴趣?”这个问题永远不会过期,而且也几乎不可能出错……除非你答不上来。就眼下来说,我希望你对这个问题给出的技术中包括WebSocket、HTML、WebGL、客户端数据库,等等。只有 对Web开发充满激情的人,才会坚持不懈地学习新知识、掌握新技能;
五、最后一点
计算机科学或者Web设计方面的知识当然也有用,但那都是基本知识之外的东西。只要基本知识在那儿了,一切就都有了基础,想扩充知识面也不难。可是,如果等到正式上班以后,还得从头学习基本技能,那种难度是不可同日而语的。
‘叁’ 前端面试遇到机试正常嘛
正常啊,大多都会遇到。面试要好好准备,有时候挺难的,要做好充足的准备。面试本身是一个双向选择,你设置太高的门槛可能会招不到人,你设置太低的门槛可能会招到不靠谱的人,但是这个门槛不必要暴露出来,其实你找人只是一个证实的过程,想要证明候选人是不是符合你的要求,手段是可以灵活一些的。面试也是一场学习和成长,由于面的人多了,后面就变得比较宽容了,不接受笔试的,就聊项目,设置场景,聊一聊有什么解决方法。把面试的过程变成探讨,而不是把自己放在一个居高临下的位置,通常遇到水平相当的人会相谈甚欢,遇到能力不足的人,也能让他自己明白不足在哪里(启发式)。人是需要别人的尊重的,但对于尊重的理解每个人心里的那条线不一样的。
‘肆’ 前端面试要上机实测,要去吗
肯定是要去的,现在基本上都会要求上机实测,可能是编程,也可能是算法。
前端面试上机都不是很难,主要是考察:处理问题的能力,文档阅读能力,前端基础能力。前端上机都是实现一下基本页面就可以了。遇到自己不会的,明确表达出这个问题不会,需要经过查找解决方法实现就过了。
可以在leetcode刷些简单题目适应下,自己提前准备一下。
‘伍’ 前端二面会比一面难吗
难。
因为不同的公司面试的难易程度都是不一样的,一般都是一面要比二面难很多的,一面往往是普通技术官的面试的,而二面都是一些技术主管或者是技术经理之列的面试的那么他的要求肯定是不一样的,所以一面要比二面简单一些。
‘陆’ 前端外包面试难吗
不难。公司前段做外包,薪资涨幅小,用的技术比较落后,不太看重代码的实现,只在意结果,所以其面试不难。外包是指企业动态地配置自身和其他企业的功能和服务,并利用企业外部的资源为企业内部的生产和经营服务。