go语言架构师面试 go语言面试题( 六 )


hr如何面试web前端工程师,该问哪些技术问题hr如何面试web前端工程师,该问哪些技术问题
一、基本知识
我们生活在网际网路时代,你想知道的任何事情几乎都能在15分钟内找到相关资讯 。可是,能找到资讯并不等于你会使用它 。我认为所有前端工程师至少都应 该掌握某些基本的知识,才能有效地完成自己的工作 。如果一遇到问题 , 就停下工作上网四处搜寻解决方案,怎么可能保证按期完成工作呢?听听 , 还有谁在说“我 不知道,但我可以上网搜到 。”请这些同学把手举起来 , 让大家认识一下(immediately raises a flag for me.) 。下面我列出一些基本的知识点 , 这些都是我认为一名前端工程师(无论工作年头长短)在没有任何外来帮助的情况应该知道的 。
[list][*]
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动 。
[*]
DOM操作——怎样新增、移除、移动、复制、建立和查询节点 。
[*]
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别 。
[*]
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误 。
[*]
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义 。
[*]
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同 。
[*]
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式 。
[*]
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题 。
[*]
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由 。
[*]
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来 。
[/list]
重申一下,上述这些知识点都应该是你应该“想都不用想”的东西 。我一开始问的所有问题都是想摸清你对所有这些领域知识的掌握程度 。虽然上面列出的这些知识点并没有面面俱到,但我觉得你至少应该掌握这些,才有可能跟我坐到一间办公室里来 。
二、少量提问
我非常赞同面试者问的问题越少越好 。反复问应聘者各种问题既不公平,也很无聊 。我在任何一次面试中,通常只问三个大问题,但每个问题又会涉及我所能想到的多个方面 。回答每个大问题一般要经过几个步骤,这样我就可以在每个步骤中穿插著问一些小问题 。比如说:
现在有一个正显示著Yahoo!股票价格的页面 。页面上有一个按钮,你可以单击它来重新整理价格,但不会重新载入页面 。请你描述一下实现这个功能的过程,假设伺服器会负责准备好正确的股票价格资料 。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON 。如果我要求你对换一种处理股票价格的方式,或者 让你在页面中显示其他资讯,就可以把更多的知识点包括进来 。对于经验比较丰富应聘者 , 我也可以自如地扩充套件要考察的知识范围 , 最简单像JOSN与XML的区 别、安全问题、容量问题,等等 。
我还希望应聘者给出的任何解决方案中都不要使用库 。我想看到最原生态的程式码,你就当页面中没有包含任何库 。你说你对哪个库了解多少多少,但我不能把 关于库的知识作为评判能力的因素,因为库是会随时间变化的 。我需要的是真正理解库背后的机制,特别是能够徒手写出一个自己的库的人 。
三、解决问题

推荐阅读