网页

雇用 Top 3%自由网络银河游戏官方首页人员

托塔尔是面向顶级Web银河游戏官方首页人员,工程师,程序员,编码人员,架构师和顾问的市场。顶尖公司和初创企业选择Toptal网络自由职业者来执行其关键任务软件项目。

无风险试用,仅在满意时付款。

客户评价 托塔尔 网页 银河游戏官方首页者4.4 / 5.0平均323条评论。 (最近更新时间: )

受到领先品牌和初创企业的信任

雇用自由职业者Web银河游戏官方首页人员

马修纽曼

自由网页银河游戏官方首页人员

美国托塔尔 Member Since August 2, 2017

Matthew在数据库管理和软件银河游戏官方首页方面拥有超过15年的经验,非常注重全栈Web应用程序。他专门研究Django和Vue.js,并具有将技术部署到AWS上的服务器和无服务器环境的专业知识。他还处理关系数据库和大型数据集。

展示更多

亚历克斯·杜格比

自由网页银河游戏官方首页人员

奥地利托塔尔 Member Since March 22, 2016

Alex是高级全栈银河游戏官方首页人员,在Microsoft平台上工作了近二十年。他在IT安全性和安全编码实践方面拥有深厚的背景,并与快节奏环境中的创始人一起创建他们的软件原型和MVP。这种组合为Alex提供了技能,可以正确地判断和解释在设计软件时要在价值生成功能,预算/时间表和可靠的可维护软件系统之间进行权衡。

展示更多

迈克·桑德尔(Mike Szyndel)

自由网页银河游戏官方首页人员

德国托塔尔 Member Since January 22, 2017

Mike是一位经验丰富的全栈银河游戏官方首页人员和软件架构师,对Node.js,Ruby on Rails和React具有深入的了解。他具有理解并将业务需求转换为银河游戏官方首页路线图的独特能力。在担任团队负责人和首席技术官之前,他具有很强的项目管理和沟通技巧。

展示更多

彼得·史蒂里克

自由网页银河游戏官方首页人员

斯洛伐克托塔尔 Member Since December 14, 2016

Peter致力于打造像素完美的前端响应网站。他使用预处理程序并遵循最佳实践,提供了可维护且结构良好的代码。他的WordPress和PHP技能使他能够为后端银河游戏官方首页。由于他的主动态度,有效的沟通和灵活性,他可以在短时间内适应任何团队条件。

展示更多

亚历杭德罗·埃尔南德斯(Alejandro Hernandez)

自由网页银河游戏官方首页人员

阿根廷托塔尔 Member Since August 30, 2012

亚历杭德罗(Alejandro)获得学士学位'于2005年获得软件工程学位,此后一直以自由职业者的身份为全球各种规模的软件公司工作。目前,他喜欢在JavaScript项目中担任全职架构师,他的经验以及对体系结构和理论的深刻理解对其影响最大。

展示更多

伊利亚·萨诺斯人

自由网页银河游戏官方首页人员

捷克共和国托塔尔 Member Since April 25, 2013

Ilya是一位IT顾问,Web架构师和经理,在构建和领导团队,培训同事以及通过建立有效的工作流程和透明文档使流程长期运行方面拥有十多年的经验。他目前专注于数据和代码分析,并具有* nix管理员的经验。他的领域知识包括机器人技术,新闻,在线安全,医疗保健,在线营销和旅行。

展示更多

Tadej Slamic

自由网页银河游戏官方首页人员

挪威托塔尔 Member Since May 6, 2019

在软件行业已经有十多年的历史了,Tadej帮助初创公司推出了他们的第一款产品,帮助FTSE100企业进行了数字化转型,成为了金融科技繁荣的一部分,并帮助了粒子加速器降温。他喜欢创建可扩展的后端,并且是制作现代,高性能的移动,Web和桌面应用程序的专家。

展示更多

李维·塞尔夫

自由网页银河游戏官方首页人员

美国托塔尔 Member Since June 23, 2019

Levi在专注于保险行业的各种行业中拥有近十年的应用数据科学经验。他'对解决别人发现困难或不可能的挑战性问题充满热情。他'能够独立工作并与团队合作。他最常在小型创业公司中工作,并且在企业方面也有经验。

展示更多

特里斯坦·拉斯穆森

自由网页银河游戏官方首页人员

美国托塔尔 Member Since September 3, 2019

特里斯坦(Tristan)自10岁起就拥有第一台计算机以来一直从事编程工作。他获得了学士学位。's 和 Master'拥有芝加哥大学计算机科学学位。毕业后,他开始在YouTube / 走ogle上的HTML5视频播放器上工作,将实时流传输延迟从15秒提高到了2秒,并启用了新的用例,例如广告视频的无缝过渡。

展示更多

肯德尔·吉列梅特(Kendall Guillemette)

自由网页银河游戏官方首页人员

美国托塔尔 Member Since July 4, 2019

Kendall是一位经验丰富的WordPress银河游戏官方首页人员,具有设计,银河游戏官方首页和策略方面的背景,能够从各个角度查看项目。 Kendall在WordPress,高级自定义字段(ACF),自定义主题和插件方面拥有丰富的经验。他为他从事的所有项目提供技术,创意和业务见解。

展示更多

丹·科兹洛夫斯基

自由网页银河游戏官方首页人员

美国托塔尔 Member Since July 8, 2019

Dan从事技术工作已有20年,并曾与许多大型公司(如Oracle和Accenture)合作,并与一些初创公司和他自己的公司一起工作。最近,他的技术重点是电子商务和全栈Web银河游戏官方首页以及银河游戏官方首页运营。在他的职业生涯中,他有许多机会为客户设计和提供大规模解决方案,但也能够始终亲身实践该技术。

展示更多

立即注册以查看更多个人资料。

开始招聘

招聘指南

聘请伟大的Web银河游戏官方首页人员指南

本指南提供了一些有效问题的样本,以帮助评估候选人的广度和深度'精通Web银河游戏官方首页,包括客户端,服务器端,传输和数据库相关主题。

阅读招聘指南

网络招聘资源

更多资源来雇用Web银河游戏官方首页人员

职位描述模板

面试问题

常见错误

职位

信任飞行员
托塔尔 in the press

...使公司能够快速组建对特定项目具有适当技能的团队。

Despite accelerating demand for coders, 托塔尔 prides itself on almost Ivy League-level vetting.

我们的客户
构建一个跨平台的应用程序以供全球使用
蒂埃里·雅基切维奇(Thierry Jakicevic)
构建一个跨平台的应用程序以供全球使用
1
2
3
为游戏创建一个应用
科纳·肯尼
为游戏创建一个应用
1
2
3
引领数字化转型
埃尔玛·普拉泽(Elmar Platzer)
引领数字化转型
1
2
3
感言

Tripcents会'没有Toptal就存在。 托塔尔 Projects使我们能够与产品经理,首席银河游戏官方首页人员和高级设计师一起快速发展我们的基础。在短短60天内,我们从概念发展到了Alpha。速度,知识,专业知识和灵活性是首屈一指的。 托塔尔团队是Tripcents的任何内部团队成员,也是Tripcents的一部分。他们像其他所有人一样做出了贡献并获得了银河游戏官方首页的所有权。我们将继续使用Toptal。首先,它们是我们的秘密武器。

布兰特利·佩斯(Brantley Pace),首席执行官& Co-Founder

Tripcents

我们对Toptal的经验感到非常满意。与我一起工作的专业人员在几个小时内就与我通了电话。与他讨论我的项目后,我知道他是我想要的候选人。我立即雇用了他,他不花时间去参加我的项目,甚至通过添加一些很棒的设计元素来增强我们的整体外观而付出了更多努力。

董事Paul Fenley

邓恩& Associates

与我配对的银河游戏官方首页人员令人难以置信-聪明,有驱动力和反应灵敏。过去很难找到质量工程师和顾问。现在不是't.

瑞安·洛克菲勒(Ryan Rockefeller),首席执行官

拉迪厄斯

托塔尔立即了解我们的项目需求。从第一天起,我们就与一位来自阿根廷的杰出自由职业者相匹配,这位自由职业者专注于我们的行业,与我们的团队无缝融合,了解我们的愿景,并取得了一流的成绩。 托塔尔使与高级银河游戏官方首页人员和程序员的联系变得非常容易。

联合创始人Jason Kulik

ProHatch

作为一家资源有限的小公司,我们可以'不能承担昂贵的错误。 托塔尔为我们提供了一个经验丰富的程序员,他能够扎实地工作并立即开始做出贡献。这是一次很棒的经历,我们'd再次心跳重复。

校长Stuart Pocknee

特定于站点的软件解决方案

我们使用Toptal聘请了具有丰富Amazon 网页 Services经验的银河游戏官方首页人员。我们采访了四名候选人,其中一位最适合我们的要求。该过程快速有效。

AbnerGuzmánRivera,首席技术官兼首席科学家

照片Kharma

Sergio是一位很棒的银河游戏官方首页人员。一流,响应迅速,高效地完成了工作。

丹尼斯·鲍德温(Dennis Baldwin),首席技术专家兼联合创始人

PriceBlink

与Marcin合作是一件乐事。他胜任,专业,灵活并且非常快速地了解需要什么以及如何实施。

首席技术官AndréFischer

开机自检

我们需要一个可以立即开始我们项目的专家工程师。 Simanas的工作超出了我们的期望。无需采访和追逐专家银河游戏官方首页人员,这可以节省大量时间,并且使每个人都对我们选择平台以使用更强大的语言感到满意。 托塔尔使该过程变得轻松便捷。现在,Toptal是我们寻求专家级帮助的第一位。

网页银河游戏官方首页高级副总裁Derek Minor

网络世界媒体集团

托塔尔's developers 和 architects have been both very professional 和 easy to work with. 的 solution they produced was fairly priced 和 top quality, reducing our time to launch. Thanks again, 托塔尔.

杰里米·韦塞尔斯(Jeremy Wessels),首席执行官

科尼西

我们在Toptal方面拥有丰富的经验。他们将我们与适合我们应用程序的完美银河游戏官方首页人员配对,使过程非常容易。超出初始时间范围也很容易,而且我们能够在整个项目中保留相同的承包商。我们绝对推荐Toptal来快速,无缝地找到高质量的人才。

首席技术官Ryan Morrissey

应用商业技术有限公司

I'm incredibly impressed with 托塔尔. Our developer communicates with me every day, 和 is a very powerful coder. He's a true professional 和 his work is just excellent. 5 stars for 托塔尔.

Pietro Casoar,首席执行官

罗宁游乐有限公司

与Toptal的合作经验非常丰富。在使用它们之前,我花了很多时间采访其他自由职业者,'找不到我需要的东西。与Toptal接触后,他们在短短几天内就将我与完美的银河游戏官方首页人员配对。银河游戏官方首页者我'与他合作不仅提供了高质量的代码,而且还就我以前没有的东西提出了建议't thought 的. It'对我来说很清楚,阿毛里知道他在做什么。强烈推荐!

首席执行官郑

Bulavard,Inc.

作为Toptal合格的前端银河游戏官方首页人员,我还经营自己的咨询业务。当客户来找我帮助填补他们团队中的关键角色时,Toptal是我唯一推荐的地方。托塔尔'整个候选人池就是最好的。最高是我最物有所值'我们发现了将近五年的专业在线工作。

首席技术官Ethan Brooks

朗格茨专利&商标工程有限公司

在Higgle中's early days, we needed the best-in-class developers, at affordable rates, in a timely fashion. 托塔尔 delivered!

首席执行官Lara Aldag

闲聊

托塔尔使寻找候选人变得异常容易,使您放心,他们具备应聘技巧。我绝对会向任何寻求高技能银河游戏官方首页人员的人推荐他们的服务。

数据经理Michael Gluckman

退出

托塔尔能够迅速将我们的项目与最佳银河游戏官方首页者进行匹配的能力实在是太棒了。银河游戏官方首页人员已成为我们团队的一员,他们每个人所表现出的专业承诺水平令我感到惊讶。对于那些希望与最好的工程师进行远程合作的人,Toptal就是您的最佳选择。

创始人Laurent Alis

Livepress

托塔尔使寻找合格的工程师变得轻而易举。我们需要一个经验丰富的ASP.NET MVC架构师来指导我们的启动应用程序的银河游戏官方首页,Toptal在不到一周的时间内为我们提供了三个不错的候选人。做出选择后,工程师立即上线并开始运作。这比必须自己发现和审查候选人要容易得多。

联合创始人Jeff Kelly

协调解决方案

We needed some short-term work in Scala, 和 托塔尔 found us a great developer within 24 hours. This simply would not have been possible via any other platform.

弗兰科·阿尔达(Franco Arda),联合创始人

WhatAdsWork.com

托普塔尔(Toptal)为正在快速发展和规模化的企业提供不妥协的解决方案。我们每个工程师'通过Toptal签约的ve已迅速融入我们的团队,并以最高的质量标准保持他们的工作,同时保持了飞速的发展速度。

格雷格·金博尔(Greg Kimball),联合创始人

nifti.com

如何通过Toptal雇用Web银河游戏官方首页人员

1

与我们的一位行业专家交谈

A 托塔尔 director 的 engineering will work with you to understand your goals, technical needs, 和 team dynamics.
2

与手工挑选的人才一起工作

在几天之内,我们'将向您介绍适合您的项目的Web银河游戏官方首页人员。平均比赛时间不超过24小时。
3

合适的,有保证的

与新的Web银河游戏官方首页人员一起试用(仅在满意时付款),以确保他们'在开始参与之前重新选择合适的衣服。

常见问题

  • How are 托塔尔 web developers different?

    在Toptal,我们彻底筛选了我们的Web银河游戏官方首页人员,以确保我们只与具有最高才能的人才匹配。每年申请加入Toptal网络的100,000多人中,晋级的比例不到3%。您将与工程专家(从不聘请一般招聘人员或人力资源代表)合作,以了解您的目标,技术需求和团队动力。最终结果:专家审核了我们网络中的人才,并根据您的业务需求进行了定制匹配。 现在开始。

  • Can I hire web developers in less than 48 hours through 托塔尔?

    根据可用性和进度的快慢,您可以在注册后48小时内开始与Web银河游戏官方首页人员合作。 现在开始。

  • What is the no-risk trial period for 托塔尔 web developers?

    我们确保您和您的Web银河游戏官方首页人员之间的每次互动都以不超过两周的试用期开始。这意味着您有时间确认参与将成功。如果您对结果完全满意,我们将为您收取时间费用,并继续为您服务。如果您不完全满意,则无需付费。从那里,我们可以分开,也可以为您提供另一位更合适的专家,我们将与他一起开始第二次无风险的试验。 现在开始。

分享
网页

如何雇用优秀的Web银河游戏官方首页人员

在为您提供下一个项目的高素质Web银河游戏官方首页人员所需的资源之前,我们必须首先准确定义“ 网页银河游戏官方首页”的含义。我们指的是网站的银河游戏官方首页吗?还是银河游戏官方首页Web服务?还是银河游戏官方首页复杂的基于Web的应用程序?事实是,Web银河游戏官方首页是一个极为宽泛的术语,可以合理地包含上述任何或全部内容。因此,本指南涉及Web银河游戏官方首页的多个方面,其中某些或全部将与您需要在其中进行特定操作的上下文有关。 聘请自由网页银河游戏官方首页人员。

本指南有意侧重于Web银河游戏官方首页的概念和体系结构基础,而不是深入研究任何特定Web技术(例如 的JavaScript, 红宝石 on Rails, 的PHP, 等等)。因此,本指南提出了“与技术无关”的Web银河游戏官方首页人员面试问题,涉及以下方面:

本文讨论的许多主题足够复杂,足以保证可以发表自己的文章,但是我们的重点仅是为您提供评估和聘用Web银河游戏官方首页人员所需的一切。但是,本指南将努力提供与Web银河游戏官方首页相关的关键问题和主题的至少有意义的概述,在这些方面中,可以期望经验丰富的Web银河游戏官方首页人员是熟练的。

客户端(基于浏览器的银河游戏官方首页)

基于浏览器的银河游戏官方首页给银河游戏官方首页人员带来了众多独特的挑战,从跨浏览器异常到沙箱限制,再到各种客户端平台和设备的各种性能特征。熟练的客户端Web银河游戏官方首页人员将熟练掌握这些障碍,并充分利用其对Web银河游戏官方首页所需语言(例如 的CSS的JavaScript),以增强您网站上的体验。

问:在客户端至少讨论三个重点领域,以帮助减少页面加载时间。

性能对于用户使用任何应用程序的体验至关重要。用户变得越来越无法容忍页面加载速度慢,并且知道这一点,大型搜索引擎实际上量化了他们的机器人抓取的每个页面的时间。

发出初始页面请求,将页面的初始响应内容发送给客户端,解析该内容并随后请求资源项(它们本身是往返于服务器的往返),然后运行任何JavaScript都可以有助于页面加载时间。

实际上,有许多技术可以使用,并且需要重点关注以帮助缩短页面加载时间。这里只是几个例子:

  • 避免“渲染阻止”。 When the browser’s parser engine encounters a tag in the HTML that accesses some external resource (such as a <script>, <image>, <iframe>, etc.) the engine pauses to wait for that resource to download fully to the client 之前 continuing. Even worse, in the case 的 a <script> tag with a src attribute, the browser will also execute that script 之前 it moves on to process the rest 的 the page. This becomes particularly problematic when that script may subsequently make another request. Most browsers provide an async attribute that you can add to those tags to avoid this type 的 blocking. Another strategy is to identify resources that you can delay loading until they are actually needed.

  • 优化图像。 图片可能是您将要加载到页面中的最大资源。对它们进行优化以进行传输可能非常有益,因为适当的大小调整可以大大减少页面加载时间。例如,对于120px x 80px的缩略图,请勿使用600px x 400px的图像。选择最佳压缩格式并关闭某些格式功能也很有帮助。

  • 最小化往返请求。 从服务器检索资源(图像等)的往返对于页面加载时间可能是一个巨大的问题。由于页面发出的请求越少,它就会越快,因此一种有助于提高性能的技术是在可能的情况下将资源组合成更少的请求。例如,非用户生成的图像是此处的主要候选对象。例如,往返服务器仅获取单个16x16笑脸表情符号的效率极低。

问:提供跨浏览器银河游戏官方首页挑战的示例,包括避免或解决这些挑战的一些技巧。

与跨浏览器问题和异常处理相比,软件银河游戏官方首页中很少有东西会导致过早脱发。即使您只是想支持相当流行的浏览器的最新版本(例如IE,Firefox和Chrome),您仍可能会遇到代码或布局根本不起作用(或至少不起作用)的地方。不能正常工作)在其中一种浏览器中。

这些问题非常矛盾且令人生厌,没有哪一个指南可以提供避免这些问题的万无一失的方法,但是您可以做一些事情来帮助最小化这些问题并保护自己免受这些问题的侵害。

这是 一些技巧 帮助最小化 与CSS相关的异常 跨多个浏览器:

  • 浏览器重置样式表。 浏览器重置样式表的想法是让您控制所有元素的默认样式。例如,重置脚本的最低限度起点可能如下:

      * {
        margin: 0;
        padding: 0;
        border: 0;
      }
    

    通过在所有其他样式表之前运行此CSS代码段,可以使您覆盖所需的任何元素属性,因为知道所有未覆盖的内容在所有浏览器中仍将保持一致。

  • 提供CSS“后备”。 当使用更新的CSS属性值(并非所有浏览器都支持)时,最好为那些尚不支持您要使用的属性值的浏览器提供合理的后备。较旧的浏览器将跳过他们不了解的较新属性值,而只会使用其可以识别的较旧(后备)属性,而较新的浏览器将理解后备和较新属性,并会使用较新的属性代替比较老的(注意: 为了在新的浏览器中正常运行,必须显示后备 之前 的CSS中的新属性,以便较新的浏览器更喜欢较新的属性。)

  • 用户浏览器特定的CSS属性值前缀 . Although the prior two techniques have the distinct advantage 的 not requiring any browser-specific definitions or code, front-end web development is such that browser-specific solutions to at least some degree are not always avoidable. For example, browsers will sometimes support their own, work-in-progress version 的 some W3C-standard 的CSS property value. In such circumstances, the use 的 browser-specific prefixes these values can be a useful 和 reasonable approach (commonly used prefixes include -webkit- for Chrome 和 Safari, -moz- for Firefox, 和 -ms- for Internet Explorer). For example, the following 的CSS snippet employs vendor prefixes to provide gradient support in browser versions that do not yet support the W3C standard gradient property (it’s somewhat ugly, but it’s reliable 和 it works):

      /* Vendor prefixes */
      background: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #2c99ce),
                                   color-stop(76%, #459dcf), color-stop(95%, #74b9e0),
                                   color-stop(100%, #abe1fa));
      background: -webkit-linear-gradient(bottom, #2c99ce, #459dcf 76%, #74b9e0 95%, #abe1fa);
      background: -moz-linear-gradient(bottom, #2c99ce, #459dcf 76%, #74b9e0 95%, #abe1fa);
      background: -o-linear-gradient(bottom, #2c99ce, #459dcf 76%, #74b9e0 95%, #abe1fa);
    	
      /* W3C Standard */
      background: linear-gradient(bottom, #2c99ce, #459dcf 76%, #74b9e0 95%, #abe1fa);
    
  • 如果其他所有方法在IE中都失败了... IE可能特别令人讨厌,因此,如果上述类似的通用技术仍无法在IE中达到预期效果,则您可能会被迫使用 IE条件注释。 Microsoft自愿将这些黑客添加到其浏览器中,以帮助解决IE的不一致问题。由于它们以HTML注释的形式出现,因此其他浏览器只会忽略它们:

      <!--[if IE 8]>
      <link href="/ie8hacks.css" rel="stylesheet" type="text/css" />
      <![endif]-->
    
      <!--Or, for IE5 through IE7-->
      <!--[if (gt IE 5)&(lte IE 8)]>
      <p>Dude, looks like it's time to update your browser!</p>
      <![endif]-->
    

在世界的JavaScript方面, 还有一些方法可以处理跨浏览器的特质。

从历史上看,最常用的方法是通过浏览器检测(也称为“浏览器嗅探”)来检测客户端运行的浏览器版本。尽管这可以起作用,但是它具有许多缺点。最值得注意的是,它要求银河游戏官方首页人员根据检测到的浏览器和版本的已知/假定功能对行为进行硬编码。此外,值得注意的是,许多现代浏览器都可能欺骗浏览器身份。因此,即使jQuery也不建议使用它也不足为奇。 $.browser 属性。

jQuery的提倡的技术(通常是当今推荐的方法)称为 特征检测。而不是依靠潜在的缺陷 先验 对浏览器功能的了解, 特征检测 使用更强大的方法来动态确定客户端浏览器支持的内容和不支持的内容。这是一个例子:

// this function adds an event listener reliably using 特征检测
function myAddEventListener(event, listener) {

  if (window.addEventListener) {
    // Browser supports "addEventListener"
    window.addEventListener(event, listener, false);

  } else if(window.attachEvent) {
    // Browser supports "attachEvent"
    window.attachEvent("on" + event, listener);
  }

}

/* ... */

myAddEventListener("load", myListener);

当然,无论您采用哪种技术,无论您认为它们有多么出色的防弹技术,都一定要在打算支持的所有浏览器中进行全面测试。

问:比较并对比SASS,LESS和CSS,包括两者的优缺点。

首先,定义我们的术语:

  • 的CSS:级联样式表
  • SASS:语法很棒的样式表
  • LESS精简级联样式表

的CSS是指所有W3C兼容浏览器(以及与此相关的其他浏览器)都可以理解的一组静态指令。静态性质使CSS变得简单。对于要自定义的每个元素,您需要对样式规则进行某种组合编码,以共同塑造外观。这个事实限制了代码重用的机会(将DRY丢给窗口)。

SASS和LESS都是CSS的派生语言,但它们与CSS的不同之处在于它们利用预处理将各自的指令解析为有效的CSS。这种预处理为两种语言提供了变量,继承,混合,嵌套规则,逻辑运算符甚至循环的机制。这些工具可解决一些编写CSS的主要不便之处,而不必深入研究完全不同的语言(例如PHP或JavaScript),因为这两种语法都非常类似于CSS。

用户界面和网站变得越来越复杂,浏览器布局引擎(webkit,gecko等)的格局也日益复杂。使用动态规则处理这种复杂性的能力在管理应用程序的外观和感觉方面可以节省大量时间。

使用预处理语言的潜在好处的一个常见示例是颜色管理。在普通CSS中更改网站的调色板可能很艰巨。通常需要整理几个文件,以更改要更改的特定颜色的引用,对于找到的每个引用,都存在一个问题:“我们是否要更改此颜色?”必须问。另一方面,使用SASS或LESS,可以简单地修改单个颜色变量,然后对该颜色变量的所有引用将反映该更改。

服务器端

服务器通常是应用程序的主力军。它对请求进行身份验证,处理数据,应用业务逻辑并构建响应。架构和设计良好的服务器和服务可以对系统的性能和可用性产生重大影响。

问:描述一些服务器端缓存要考虑的方法,技术和注意事项。

由于单个服务器通常可以满足数百个甚至数千个客户端的需求,因此它们很有可能会收到(并且需要响应)多个相同的请求。此外,就要求提供的响应而言,即使是不完全相同的请求也可能会重叠。因此,服务器端缓存可以避免浪费服务器端资源来重复执行相同的操作,从而有助于提高性能。

在建立缓存策略时,以下是一些常见的关键注意事项:

  • 缓存大小。 尽管这些天RAM通常很便宜,但是在设置缓存大小时需要考虑容量(即可用内存量)。将太多的总内存分配给高速缓存可能会对性能产生总体影响,而实际上这是不利的,而不是有益的。

  • 缓存条目到期。 在数据更改时,对缓存元素设置适当的到期时间并使键值存储无效也可以帮助提高容量。

  • 缓存内容。 当然,决定 什么 设计缓存策略时,缓存可能是最大的挑战。您可能倾向于缓存生成或计算昂贵的数据,但是取决于数据的使用频率,这可能会浪费宝贵的缓存空间。

  • 缓存条目的粒度。 数据对象通常由多个“子对象”组成。应该将对象存储在包括其所有“子对象”的缓存中还是应该单独缓存(或什至根本不缓存)?这里没有一种千篇一律的答案。这一切都取决于数据库的结构以及针对该数据存储的客户端查询的性质和频率。

问:请解释什么是会话,并提供有关如何在服务器端跟踪会话的一般说明。

会话是一种在多个相关请求之间持久保存用户数据的机制。该过程将标识密钥作为传入请求的一部分,在基于浏览器的交互中,该密钥通常以客户端cookie的形式出现。

应用程序将实例化会话对象到内存中。然后可以将有关当前用户如何与应用程序交互的数据添加到该对象。当应用程序完成其执行周期时,它将关闭会话,因此,数据将被序列化并写入可以存储数据以供该用户的下一个请求中使用的某个层。该技术仅需要能够满足该存储要求,因此它可以是数据库,文件或某些缓存技术。

运输

网页银河游戏官方首页人员通常会在特定技术上拥有扎实的网站银河游戏官方首页技能,但对“各个部分如何组合在一起”的理解却不足。相比之下,顶尖的Web银河游戏官方首页人员将对如何发出,组织和响应请求有扎实的了解。

问:什么是REST?什么是RESTful 网页服务?描述其特征。

REST(表示状态传输)是一种客户端/服务器体系结构,其中数据和功能被视为资源,可以使用以下方式访问 统一资源标识符(URI)。通过使用一组简单的,定义明确的操作对资源进行操作。 REST设计为使用无状态通信协议,通常为HTTP。

正如在 爪哇 EE教程,以下原则鼓励RESTful应用程序简单,轻巧和快速:

  • 通过URI进行资源识别: RESTful 网页服务公开了一组资源,这些资源标识与其客户端进行交互的目标。资源由URI标识,URI为资源和服务发现提供了全局寻址空间。

  • 统一的界面: 资源通过特定的设置请求类型进行操作,其中最常见的类型是:

    • 得到: 从服务器检索数据(应仅检索数据,不应有其他影响)。

    • 开机自检: 将数据发送到服务器以获取新实体。上载文件或提交完整的Web表单时经常使用它。

    • 放: 与POST类似,但用于更新现有实体。

    • 删除: 从服务器中删除数据。

  • 自描述消息: 资源与它们的表示分离,因此可以用多种格式访问其内容。有关资源的元数据可用并用于控制缓存,检测传输错误,协商适当的表示格式以及执行身份验证或访问控制。

  • 通过超链接的状态交互: 与资源的每次交互都是无状态的;也就是说,请求消息是独立的。有状态的交互基于显式状态转移的概念。存在几种交换状态的技术,例如URI重写,cookie和隐藏的表单字段。可以将状态嵌入响应消息中,以指向交互的有效未来状态。

如果以使用它的Web服务的数量来衡量,RESTful 网页 Service(RWS)仅在最近几年就已成为对先前倡导的SOAP协议的最爱。 RWS的相对易用性在很大程度上要归功于它。实际上,REST在网络上产生了巨大影响,以至于它取代了基于SOAP和基于WSDL的界面设计,因为它使用起来相当简单。

问:简要说明以下每个HTTP请求方法:TRACE,OPTIONS,CONNECT和PATCH。

除了已经讨论的四种标准RESTful 网页服务操作之外,更高级的Web银河游戏官方首页人员可能还熟悉四种其他方法:

  • 跟踪: 提供一种方法,用于在发出请求时测试网络路径上的计算机收到了什么。这样,它仅返回已发送的内容。

  • 选项: Allows a client to request information about the request methods supported 通过 a service (or for the server where the service resides 通过 using a * wildcard in the URI). 的 relevant response header is Allow 和 it simply lists the supported methods.

  • 头: 与资源的GET方法相同,但仅返回响应标头(即不包含实体主体)。

  • 连接: 主要用于建立到资源的网络连接(通常通过某些代理,可以请求该代理将HTTP请求作为TCP转发并维护连接)。建立后,响应将发送200状态代码和“连接已建立”消息。

问:什么是“ HTTP服务器推送”?描述实现此目的的一些技术。

HTTP服务器推送 (又称为HTTP流)是一种将数据从Web服务器异步发送到客户端的机制。 HTTP服务器推送可以通过多种机制中的任何一种来实现。

通常,在将响应数据提供给客户端之后,Web服务器不会终止连接。 网页服务器使连接保持打开状态,这样,如果发生服务器端事件,则可以立即将其发送给客户端。否则,必须将事件排队,直到接收到客户的下一个请求。这种方法的基本机制是块传输编码。大多数Web服务器都通过CGI提供此功能。

Another mechanism is related to the special multipart/x-mixed-replace MIME type which was developed to help emulate server push 和 streaming over HTTP. All parts 的 a mixed-replace message have the same semantic meaning, but each part invalidates (i.e., replaces) the previous parts as soon as it is received completely. 客户群 are expected to process each individual part as soon as it arrives.

HTTP服务器推送的一些常见技术包括:

  • 网页Socket API. 网页Sockets可以打开客户端浏览器和服务器之间的交互式通信会话。使用此API,客户端可以将消息发送到服务器并接收事件驱动的响应,而不必轮询服务器以获取答复。

  • 推式. 推式基于启用AJAX的基于开放源代码HTTP的发布/订阅框架。该方法利用了持久的HTTP连接,使响应始终保持打开状态(即,服务器从不终止响应),有效地欺骗了浏览器,使其在初始页面加载完成后仍处于“加载”模式。然后,服务器定期发送JavaScript片段以更新页面内容,从而实现推送功能。通过使用这种技术,客户端不需要Java小程序或其他插件即可保持与服务器的开放连接。服务器将推送有关新事件的自动通知客户端。 (但是,此方法的一个严重缺点是服务器缺乏对浏览器超时的控制;如果在浏览器端发生超时,则始终必须刷新页面。)

  • 长时间轮询. 长轮询实际上只是传统轮询技术的一种变体,但是它允许在无法进行真正推送的情况下(例如具有要求拒绝传入HTTP请求的安全策略的站点)模拟推送机制。使用长轮询时,客户端向服务器请求的信息与正常轮询中的请求完全相同,只是轮询频率要慢得多。如果在收到轮询时服务器没有可供客户端使用的任何信息,则服务器将打开请求并等待响应信息变为可用,而不是发送空响应。完成后,服务器将立即向客户端发送响应,从而完成打开请求。从而消除了原本与轮询客户端相关联的常规响应等待时间(信息首次可用时与下一个客户端请求之间的时间)。

  • Flash XMLSocket中继. 各种聊天应用程序使用的这项技术利用了单像素Adobe Flash电影中的XMLSocket对象。客户端在JavaScript的控制下,建立到服务器上单向中继的TCP连接。中继服务器不会从此套接字读取任何内容;而是立即向客户端发送一个唯一标识符。然后,客户端向Web服务器发出HTTP请求,包括该标识符。然后,Web应用程序可以将发送给客户端的消息推送到中继服务器的本地接口,该接口通过Flash套接字中继这些消息。

数据库

如前所述,Web银河游戏官方首页难题有很多方面,并不是每个合格的网站银河游戏官方首页人员都必须具备所有技能。因此,许多Web银河游戏官方首页人员可能主要集中在客户端,因此在数据库领域的专业知识很少。但是,有效的数据库设计,访问和操作对于大多数基于Web的系统的性能至关重要,因此,具有强大数据库专业知识的Web银河游戏官方首页人员对于您的项目可能非常有价值。

问:规范化数据库是什么意思?如何去做呢?描述数据库规范化的潜在结果。

数据库规范化 是组织关系数据库的字段和表以最大程度减少冗余的过程。规范化通常涉及将大表划分为较小(和较少冗余)的表,并定义它们之间的关系。目的是隔离数据,以便可以仅在一个表中进行字段的添加,删除和修改,然后使用定义的关系传播到数据库的其余部分。

开始规范数据库的一个好方法是首先针对数据库进行评估。 正常形式 关系数据库理论。这些标准形式为确定表格对逻辑不一致和异常的免疫程度提供了标准。满足一定级别要求的数据库还必须满足所有以前的级别。这些级别中的前三个是最常用的级别,如下所示:

  • 第一范式(1NF) - Each field should represent one 和 only one value per entity; i.e., there should only be a single value per field (atomicity). For example, a Person may have two phone numbers. If an application stores both 的 them in the same field (e.g., the phone_number column 的 a table), that table does not meet the criteria for 1NF.
  • 第二范式(2NF) -不允许列对主键的部分依赖。例如,如果表具有多列主键,则其他任何列都不能仅依赖于构成主键的列的可疑状态。
  • 第三范式(3NF) - All non-primary-key fields must be dependent on the primary key. If fields that are not part 的 the primary index are dependent on other non-primary fields for their values, then that table is not in the third normal form. For example, a table that includes a total column that is a sum 的 other fields in that row does not meet the criteria for 3NF.

评估数据库是否符合这些常规形式可以帮助您识别和消除数据模型中的冗余,从而提高效率(顺便说一句,这在确定缓存中条目的粒度方面也可能是有益的)。但是,就像生活中的任何事情一样,规范化确实有其代价。跨多个表散布数据的行为很可能需要在查询中增加表联接的数量,这也可能使查询甚至代码复杂化。由于无法对来自多个表的数据进行索引,因此它也消除了一些可能有益的索引方案。检索也会变得很昂贵,并且在尝试根据另一个表中的值对一个表中的数据进行过滤或排序时会变得更加复杂。

也就是说,最好的方法通常是将这些(和其他体系结构模式)混合在一起,以适合您的应用程序的特定要求。

问:描述一个哈希索引和一个BTree索引。它们的相对优缺点有哪些?

在任何基于树的索引中,记录都存储在称为叶子的位置。起点称为根。每个节点的最大子代数称为树的顺序。到达所需叶子(存储在叶子上的数据)所需的最大访问操作次数称为深度(级别)。常规树结构将这些范围从左到右排序。节点中的某个键可能会导致所有键都小于其左侧值的节点,或者导致所有键都大于其右侧值的节点。

B树 是二叉搜索树的概括,它允许B树中的一个节点具有两个以上的子节点。 B树索引通过评估存储在节点关键字(索引中的节点包含关键字和指向其子节点的指针)中的值的范围来依次缩小数据范围,从而帮助快速找到信息。 B树搜索从根节点开始,并将每个子节点中的键范围与要查找的键值进行比较。当找到范围包含所需键值的节点时,将选择该节点,然后评估其子节点。直到过程到达叶子页面(那里有指向实际数据的指针)之前,这种情况才会发生。

在一个 哈希指数,索引列的值通过哈希函数运行,以为哈希表中的每个键生成一个位置标识符。该表分为“存储桶”,根据使用的技术,这些存储桶要么包含数据值本身,要么包含指向这些值的指针。哈希索引速度很快,因为已知存储桶的确切位置,并且哈希键是按顺序排序的。找到关键位置后,会将预先隐藏的值(我们正在搜索的值)与我们刚刚在索引中找到的值进行比较,以确保其有效。

Hash indices work well, but only for purposes 的 equality comparisons. As such, hash indices can’t support queries 的 the form SELECT * FROM table WHERE key LIKE “valu% or SELECT * FROM table WHERE key < value. In contrast, B-Tree indices allow for much more flexibility in terms 的 什么 you can search for. Partial values 和 ranges 的 values are easily handled, all with roughly the same speed in a non-join search. In scenarios where either type 的 index will suite your purposes, there is no consistently “best” choice, since there are scenarios where hash indices outperform B树s, 和 vice versa. It largely depends on the nature 和 structure 的 your data.

问:简要描述和比较关系数据库,文档数据库和图形数据库。

关系数据库 将数据组织成二维表,并支持基于已知关系链接其内容的概念。这些关系有助于并简化通过单个查询从多个表中进行数据的集成和检索。

虽然关系数据库在1970年代最初被引入时是一个重大的进步,但是后来出现了新的数据存储方式,可以使数据更自然和逻辑地分组在一起,并且放宽了对数据库架构的限制。一种最流行的数据存储方式是 文件资料库 模型,其中每个记录及其相关数据都被视为“文档”。在文档数据库中,与数据库对象相关的所有内容都封装在一起。以这种方式存储数据具有以下优点:

  • 文档是独立的单元,可以提高性能(从磁盘连续读取相关数据),并且可以更轻松地在多个服务器之间分配数据,同时保留其本地性。

  • 应用程序逻辑更易于编写。您不必在应用程序中的对象和SQL查询之间进行转换,只需将对象模型直接转换为文档即可。

  • 非结构化数据可以轻松存储,因为文档包含应用程序逻辑所需的任何键和值。另外,由于数据库不需要预先知道其信息模式,因此避免了昂贵的迁移。

文档数据库通常具有强大的查询引擎和索引功能,可轻松快速地执行许多不同的优化查询。文档数据库查询语言的优势是一个重要的区别因素。

数据库建模的另一个相对较新的进展是随着 图数据库。基于图论的图数据库使用带有节点,边和属性的图结构来表示和存储数据。在图形数据库中,每个元素都包含一个指向其相邻元素的直接指针,并且不需要索引查找。

与关系数据库相比,图形数据库对于关联数据集通常更快,并且更直接地映射到面向对象应用程序的结构。由于它们通常不需要昂贵的联接操作,因此它们也可以更自然地扩展到大型数据集。由于它们较少依赖于严格的模式,因此它们更适合于通过不断发展的模式管理临时数据和更改数据。图数据库是用于类似图的查询的特别强大的工具(例如,计算图中两个节点之间的最短路径)。相反,关系数据库通常在对大量数据元素执行相同操作时更快。

包起来

请记住,此处提供的问题仅作为指导,以帮助您找到Web银河游戏官方首页人员。并非每个值得招聘的“ A”候选人都能正确回答所有问题,也不能全部回答都能保证一个“ A”候选人。归根结底,招聘仍然是一门艺术,也是一门科学,而且没有任何一组Web银河游戏官方首页人员面试问题可以保证完美契合。

本指南中提出的问题和答案对于您寻求雇用网站银河游戏官方首页人员而言可能是非常有价值的,但旨在增强总体有效的招聘策略,例如我们在帖子中所描述的 寻找精英.

Featured 托塔尔 网页 Development Publications

布莱恩·沃特恰克(Brian Wojtczak)

保持加密,确保安全:使用ESNI,DoH和DoT

通过 布莱恩·沃特恰克(Brian Wojtczak)
伊利亚·切尔诺夫(Ilya Chernov)

优化网站性能和关键渲染路径

通过 伊利亚·切尔诺夫(Ilya Chernov)

顶级Web银河游戏官方首页人员需求很高。

开始招聘