你用 CSS 多久了?
这个问题可以让面试官了解求职者使用 CSS 的经验。它还可以告诉面试官该人是否将该技能作为业余爱好或在学术或专业环境中学习。
我在高中时就开始用 CSS 了。当时我和一些朋友为我们喜欢的电视节目搭了一个网站。不过这些页面很差劲,因为它们没有统一的风格。每个页面的字体和颜色都不一样。后来我学会了 CSS,这样就可以很轻松的使页面风格统一。
你最喜欢的 CSS 功能是什么?
求职者最喜欢 CSS 的哪些功能并不重要。通过这个人是否能够熟练的地谈论 CSS,能够看出他 CSS 了解多少。
我非常喜欢用 CSS 改变页面布局这个功能,因为这样可以适配不同的屏幕尺寸。现在有各种尺寸和形状的设备。如果你能正确的使用 CSS,在任何设备上访问你网站的体验都会很好,不管是用 iPhone 还是用 PC 浏览你的网站都没关系。
你有没有把 CSS 与其他语言结合使用?
Web开发人员通常依赖好几种语言来构建动态网站。通过面试者的答案可以得知他都知道哪些开发语言。如果面试官单独提出某种语言,还可知道面试者对该语言的理解有多深。
通常我用 CSS 来创建网站页面的总体布局并进行美化。另外我还将用 HTML 为页面提供一些结构。当我需要向网站添加交互式元素、动画、音乐或其他功能时,更喜欢使用 JavaScript,因为它能够很方便的实现一些逻辑。
你能告诉我一个让你学到新 CSS 技术的项目吗?
这个问题鼓励面试者反思他们使用CSS的经历。答案可能会揭示一些事情,例如面试者对 CSS 有多少经验,以及他们如何使用批判性思维来解决困难问题。
我在大学里做过一个项目,这个项目能帮助图书管理员和工程师团队对内容进行数字化。我的小团队打算把图书馆里收藏的大量手写诗集数字化。花费精力最多的一个功能是:写了一个能够容纳各种大小和形状的诗词稿件的样式。
你最喜欢的一个项目是什么?
通过这个问题可以深入了解求职者的经验。答案更多地揭示了求职者的个性而不是编程技巧。
我帮一位朋友写了一个发布文章、照片、音乐和各种媒体的在线杂志,这个项目并不难,几个小时后,他的网站从 OK 变为优秀。它让我想起为什么了解 CSS,JavaScript 和其他常用语言非常重要。如果没有一个好的网站来展示它,你所做的都没有什么意义。
当你忘记某个 CSS 的功能时,是怎么解决的?
程序员不能把所有东西都放在脑子里,所以当他们能想起特定的功能和术语时,会依赖一些资源。这个问题的答案能够知道求职者有没有可靠的资源,这些资源在未来开展项目时可能会派上用场。
Mozilla开发者网络,简称 MDN,为我节省了大量的时间。这是一个在线资源,其中包含有 CSS、HTML和JavaScript 的资料。我也喜欢 w3schools.com 上的 CSS 教程。
你最不喜欢 CSS 的哪些东西?
所有人都有不喜欢的工作。对这个问题的诚实回答可以帮助面试官为求职者提供合适的团队。例如,如果一个人喜欢在 CSS 文件中发现错误,那么你可能希望聘请这个人与一个喜欢专注于大局的创意人一起工作。
CSS 使网页设计变得更加容易,但它仍然感觉有点单调乏味。理想情况下,我想用动态语言让用户与网站进行互动。但就目前而言,我很乐意磨练自己的 CSS 技能并向更有经验的人学习。??下,我想用动态语言让用户与网站进行互动。但就目前而言,我很乐意磨练自己的 CSS 技能并向更有经验的人学习。
你能不能用纯 HTML 写出页面?
有许多无需深入掌握 HTML 就能做出页面的工具。这个问题询问求职者,当他们可以借助一些工具生成页面时,对 HTML 还有多大的兴趣。
网站构建工具非常适合外行和专业开发人员,但我认为了解底层技术非常重要,因此我可以更好地控制网站的外观和行为。例如,当我使用 WordPress 构建网站时,发现通过插入自己的 HTML 而不是依赖提供的工具,可以得到更好的结果。
你还知道哪些其他语言?
今天的网站通常依赖于HTML,层叠样式表(CSS)和JavaScript。一个优秀的网站开发人员应该能够熟练使用这些语言。
在我开发更大的网站时,习了CSS,因此我不必手动更新每个页面的外观。我也有一些 JavaScript 经验。我只知道基本功能,但我可以使用它们来使网站更有用和互动。我一直在观看教程,以使我的 JavaScript 功能更强大。
你将如何帮助我们的内容团队获得更好的搜索引擎结果?
理想情况下,你需要一位了解搜索引擎友好重要性的 HTML 专家。这个问题能够解释求职者是否理解良好的 HTML 对搜索引擎的重要性,以及在搜索引擎结果页面(SERP)上获得更好的排名方面可以发挥的作用。
我想做几件事来确保你的网站获得最高排名。我首先要创建一个帮助搜索引擎蜘蛛浏览网站的站点地图。接下来,我会检查每个页面以确保它使用有用的标签,包括标题标签。最后,我会使用链接检查器找到网站上失效的链接。
对你来说,创建一个新网站最困难的部分是什么?
了解申请人的优缺点非常重要。这个问题让面试官有机会了解潜在员工对工作难以胜任的部分。面试官可能需要考虑这种弱点对团队的影响。
我对规划阶段感到非常沮丧。准确了解网站的外观会告诉我如何构建网站。我对这部分有点迷恋,因为我希望网站看起来尽可能完美。
你最喜欢HTML5的哪些功能?
HTML5 是 HTML 的最新版本。通过提出这个问题,面试官可以发现求职者是否了解构建网站时使用的最新元素和属性。此问题还可以用来确定求职者对技术的热情。
今天的互联网用户希望找到包含视频、音乐和动画的多媒体内容。 HTML5 为最新的多媒体文件提供了更稳定的环境。我最喜欢的是可以向网站添加多媒体内容,而不必担心网站会崩溃或拒绝播放内容。
你如何改进我们公司当前的网站?
这是一个重要的问题,测试求职者的技术知识和批判性思维技能。它还能揭示求职者在面试前是否花时间研究你的业务。寻找解决用户体验、布局和其他功能的深思熟虑的答案。你不必同意求职者的意见,但你应该找到提议背后的逻辑。
我认为该网站的布局很好,使访问者可以轻松找到他们需要的内容和产品。另一方面,我不喜欢当访问主页时视频自动开始播放。我会禁用自动播放功能,让访问者点击播放按钮。
你想在未来几年内开发哪些类型的项目?
这个问题的答案让你对求职者的职业规划有所了解。它还展示了人们感兴趣的挑战类型。面试官可能会发现自己公司的计划与未来员工的职业目标是否保持一致。
我对开发交互式网站和应用感兴趣,因此我一直在学习更多有关 JavaScript、Ruby on Rails、Swift、React 和变得越来越重要的知识。理想情况下,我想开发一个将 VR 整合到网站或应用中的项目。
如何保证你的网站或 Web 应用的可访问性?
前端开发人员在为最终用户设计体验时需要充分掌控其可用性和可访问性。这个问题让面试官知道求职者对这些标准和最佳实践的了解。
我在各种浏览器和设备上测试我的 Web 应用,检查在所有设备上的体验是否可用。我还使用流行的屏幕阅读软件和其他辅助解决方案来查看是否所有潜在用户都可以访问它。
你最喜欢 HTML5 的哪些功能,以及如何在前端项目中实现?
前端开发会在 HTML5 上花费大量时间,他们整合 Web 设计并实现各种功能,从而节省开发时间并改进最终产品。
与以前的版本相比,我喜欢 HTML5 对多媒体的支持。我使用此功能开发时,会把视频和音频作为用户体验的重要组成部分,而不必担心它无法正确加载或破坏页面。
如何对 CSS 和 JavaScript 代码进行组织,以使其他开发人员更容易使用?
前端开发人员经常会处理由以前的员工创建的代码,或作为团队的一员工作。这个问题让面试官了解求职者能不能创建其他员工可以理解的网站或 Web 应用。
我把站点的每个组件都分拆出了独立的代码。每个代码片段都有注释,以便其他开发人员可以更改它。
你能解释一下 CSS float 的概念并举例吗?
该技术问题考察面试者对常见 CSS 元素的理解。这个问题用来筛选求职者,并确保他们不只是能够熟练使用 CSS 的好办法。
CSS float 告诉浏览器将特定元素放在容器的右侧或左侧。当我开发基于用户分辨率动态调整大小的页面时,使用float。
你是怎样处理特定浏览器的渲染问题的?你是否发现某个浏览器比其他浏览器更具挑战性?
基于每个浏览器的渲染的方式,前端开发人员必须将特定于浏览器的 hack 引入Web 应用和页面。对于求职者来说,这个常见的过程应该是比较熟悉的。
我经常需要修改 Microsoft Edge 网页上的 DIV 位置。对于我来说,这个浏览器是最有问题的,因为我几乎不会在 Chrome 或 Firefox 上遇到这类问题。
你通过哪些途径来了解最新的前端技术?
前端开发中的技术和标准在不断变化。拥有“持续学习”能力的求职者可以通过不断的学习,来获取改进开发过程和改善最终用户体验的方法。
我有订阅了几个前端开发方面的杂志,并经常访问 Stack Overflow 论坛。这些资源帮助我了解前端开发的最新技术。
你最喜欢的前端项目是什么?为什么?
这个问题可让面试官深入了解前端开发人员的个人偏好。一些求职者可能更倾向网站项目,而其他人更喜欢参与Web 应用团队。
我最近为当地医院开发了一个网络应用。它简化了患者的求医过程,当我知道自己的工作能帮助患者更快地获得所需的帮助时非常开心。
单体应用和微服务架构之间有哪些主要区别,从灵活性和可扩展性的角度来看,哪个是更好选择?
这个问题用来评估基础编码知识。答案可以有多种,所以应该注意倾听具体的问题,并尽量全面回答,来展示自己对单体应用与微服务架构的理解。
设计单体架构在短期内成本较低,但代码在内存是单一的内聚单元。微服务架构提供了灵活性和可扩展性,因为每个组件都是一个独立的程序。
同步和异步编程有什么区别,异步编程与你的 JavaScript 工作有什么关系?
异步编程允许多个并发操作,并且它非常适合 JavaScript 程序。这个问题评用来估求职者的编码知识,以及对 JavaScript 的具体理解。
简单来说,同步编程意味着代码以线性方式执行。这些程序通常不能同时处理多个操作。使用异步编程,有一个事件循环。一个程序线程可以处理多个操作。由于 JavaScript 通常用于用户界面,因此同时运行多个操作的能力可以带来更好的用户体验。
你是否在 JavaScript 中使用过类继承和原型继承?为什么?
这个问题有助于了解求职者是否具有 JavaScript 经验和专业知识。原型继承比类继承更容易、更灵活,这是判断一个有经验的 JavaScript 程序员的首选方法。
当使用类继承时,实例继承自类,这会产生分层。而通过原型继承,实例继承自其他对象,并且可以从多个对象创建。我更喜欢原型继承,因为它更简单、更灵活。
在你看来,类继承是否是正确的选择?如果是的话,是在什么情况下?如果不是,为什么?
求职者的答案能让面试官深入了解他们使用 JavaScript 的经历。类继承有意义的情况很少,求职者可能会说根本没有。 否定的答案优于对适当情况冗长的描述,因为这些通常是基于错误信息的。
类继承几乎从来都不是正确的解决方案。只有在极少数情况下,它可能被用到。
你如何定义函数式编程?函数式编程在 JavaScript 中的作用是什么?
函数式编程是目前 JavaScript 使用的基本原则。求职者是否能够完整的回答这个问题,可以证明他们的基础知识是否扎实。
函数式编程允许通过使用纯函数来设计软件。此方法避免了很多编程问题,如共享状态,副作用和可变数据。它作为面向对象编程的替代方案,其中应用状态通常与对象中的方法搭配并共享。
使用函数式编程方法而不是面向对象编程有什么好处?你能提供一个例子吗?
任何具有 JavaScript 经验的求职者都会使用其中一种风格,因此应该能够对每种风格的优缺点提出一些看法。这个问题可以帮助面试官衡量求职者使用 JavaScript 的深度。
虽然我主要使用面向对象编程方式,但是我更希望用函数式编程开发。在用面向对象编程时遇到不同的组件竞争相同的资源的时候,更是如此。
你如何定义单向数据流和双向数据绑定?两者有什么区别?
这个问题能够说明求职者对 JavaScript 重要基本原则的深刻理解。不熟悉这些条款的求职者可能没有该职位所需的经验。
当模型是单一事实来源时,会发生单向数据流,React 就是一个例子。双向数据绑定是用户界面与模型数据动态链接的状态。如果用户界面中的字段发生了变化,模型也会发生变化,比如 Angular。