Salesforce

Hire the Top 3% of Salesforce自由开发者

Toptal是面向顶级Salesforce开发人员的市场, engineers, programmers, coders, architects, 和顾问. 顶级公司和初创公司选择Toptal Salesforce自由职业者来完成他们的关键任务软件项目.

No-Risk Trial, Pay Only If Satisfied.

Clients Rate total Salesforce开发人员4.5 / 5.0on average across 252 reviews as of Oct 30, 2023

Hire 自由Salesforce开发人员s and Engineers

格里高利Lovelidge

自由Salesforce开发人员

United StatesToptal成员 Since 2020年2月26日

Gregory是一位干劲十足的高级Salesforce顾问和开发人员,拥有10多年的远程机会寻找经验. 他善于制定技术解决方案,并从概念到完成执行项目计划. 他专注于与客户密切合作以确定项目目标, 规范, and solutions.

Show More

David Tanura

自由Salesforce开发人员

AustraliaToptal成员 Since 2021年4月26日

David是Salesforce高级解决方案和技术架构师,能够理解和表达业务及其在平台上设计和实现解决方案的需求. 他高度了解业务流程,擅长通过设计和构建解决方案来增加价值. 不断学习新的和互补的技术和方法,为业务提供积极的成果. 他的行业包括金融科技, 金融服务, pharma, FMCG, 房地产开发, 和技术.

Show More

亚当·扎克曼

自由Salesforce开发人员

United StatesToptal成员 Since 2022年8月15日

Adam是Salesforce的七次技术架构师认证, developer, 具有丰富的企业管理经验的顾问. 他为自己能流利地说商业和技术语言而感到自豪,并能利用这种双重熟练程度在Salesforce平台上开发解决方案. Adam致力于提供技术可靠、可扩展的解决方案,并与整体业务战略保持一致.

Show More

George Elias

自由Salesforce开发人员

United StatesToptal成员 Since 2022年2月21日

George是一名获得过七次Salesforce认证的开发人员,在编程和声明性Salesforce功能方面都有丰富的经验. 他的专业范围从数据模型设计到API集成, 在定制组件开发方面进行了大量投资. George在以前的项目中成功地完成了管理员和开发人员的任务,并渴望为新的项目做出贡献.

Show More

Roman Kudrin

自由Salesforce开发人员

GermanyToptal成员 Since 2017年1月17日

Roman是一名拥有9年经验的高技能SFDC专业人员. 他丰富的专业知识和21项认证涵盖以下Salesforce产品:销售, Service, Community, 营销云, and Pardot. 在他的职业生涯中,Roman成功地在不同的行业交付了许多项目. 以独特的融合发展, architecting, integrations, 咨询技巧, Roman是推动项目成功的理想人选.

Show More

Randy Yu

自由Salesforce开发人员

United StatesToptal成员 Since 2021年9月25日

Randy是一名12倍Salesforce认证的重型开发人员和精通声明性数据建模的动手架构师, flows, processes, 营销云, 体验云, and CPQ. 他是一位多才多艺的全栈Salesforce程序员,拥有LWC和Aura开发方面的专业知识, 以及服务器端Apex, SOQL / SOSL编程, and SFDX CLI. Randy擅长使用LDS进行Salesforce ETL、数据集成和UI/UX设计. 他是一个善于交际的人,有极好的沟通技巧.

Show More

Jason Sun

自由Salesforce开发人员

United StatesToptal成员 Since May 8, 2020

Jason是一位美国的技术和商业专家,专门从事Salesforce. 他是Salesforce开发者世界锦标赛的决赛选手,拥有13项认证和加州大学洛杉矶分校的MBA学位. 他有13年的SFDC经验,并使用本地集成和自定义SOAP/REST api设计了SFDC和web应用程序之间的集成. Unlike pure developers without an MBA, 除了技术实现之外,他还能为企业提供流程设计和业务策略方面的建议.

Show More

Lukasz Korona

自由Salesforce开发人员

PolandToptal成员 Since 2017年2月22日

Lukasz是一位经验丰富的Salesforce开发人员和架构师. 他曾作为Salesforce专家在零售等行业从事全球实施工作, insurance, and manufacturing for companies like eBay, Roche, Ricoh, and Sophos. 他为项目生命周期的所有部分开发了解决方案, 在多国环境中, 在不同时区, 并且拥有庞大的用户基础. Lukasz认为,良好的沟通和用户满意度在现代商业解决方案中起着关键作用.

Show More

尤金Rusalev

自由Salesforce开发人员

PolandToptal成员 Since 2018年9月12日

经验丰富的销售人员.com认证高级开发人员, Eugene在Salesforce拥有超过8年的专业知识, including Salesforce CRM customization and Force.Com产品开发. 他的知识包括Apex, Lightning, 闪电Web组件, Salesforce 1, 客户和合作伙伴社区, integrations with external systems, and more. 尤金是一位出色的沟通者,他对细节表现出了出色的关注.

Show More

Sunny Gill

自由Salesforce开发人员

IndiaToptal成员 Since 2016年8月2日

Sunny拥有超过11年的IT专业经验. 他致力于保持尖端的技术技能和最新的行业知识. 他是Salesforce认证的开发人员/管理员,在Salesforce的开箱即用功能(工作流)方面也有专业知识, 审批流程, 标准对象, 标准应用程序). 他有编写Apex类/触发器、LWC组件、集成等方面的实践经验.

Show More

Curt Griffin

自由Salesforce开发人员

United StatesToptal成员 Since 2020年8月13日

Curt是Salesforce的顾问和解决方案架构师,拥有丰富的技术经验, healthcare, education, insurance, 金融服务, banking, retail, and travel. 他拥有多个Salesforce认证:系统管理员, 平台应用构建器, 销售云顾问, 服务云顾问. Curt还参与了广泛的业务流程, 包括销售, service, 客户和合作伙伴社区, knowledge, reports, dashboards, 数据迁移, 组织维护, etc.

Show More

现在注册以查看更多资料.

Start Hiring

招聘指南

Guide to Hiring a Great Salesforce Developer

Salesforce is a cloud computing company, 最著名的是其旗舰客户关系管理(CRM)系统. In addition to its many out-of-the-box features, Salesforce CRM解决方案提供了一个成熟的开发环境,允许公司利用云中的Salesforce技术定制和开发他们的解决方案. 本指南提供了一些有见地的问题样本,以帮助您确定最好的Salesforce开发人员,他们是各自领域的专家.

阅读招聘指南

Salesforce招聘资源

More Resources to Hire Salesforce Developers

工作描述模板面试问题Jobs
Trustpilot
总体优势

在无风险试用后,98%的Toptal客户选择雇用我们的人才.

道达尔的筛选和匹配过程确保卓越的人才与您的精确需求相匹配.

Start Hiring
报纸上铺天盖地

... 允许公司快速组建具有特定项目所需技能的团队.

尽管对程序员的需求在不断增加,但Toptal对自己近乎常春藤联盟级别的审查感到自豪.

Our clients
Building a cross-platform app to be used worldwide
蒂埃里Jakicevic
Building a cross-platform app to be used worldwide
为游戏制作应用程序
Conor Kenney
为游戏制作应用程序
引领数字化转型
埃尔是
引领数字化转型
挖掘实时数据将改变行业的游戏规则
挖掘实时数据将改变行业的游戏规则
Testimonials

Tripcents wouldn't exist without Toptal. Toptal Projects使我们能够与产品经理一起快速发展我们的基金会, 带领开发人员, 高级设计师. In just over 60 days we went from concept to Alpha. 其速度、知识、专业知识和灵活性是首屈一指的. Toptal团队是tripcents的一部分,就像tripcents的任何内部团队成员一样. 他们像其他人一样贡献并拥有开发的所有权. 我们将继续使用Toptal. As a start up, they are our secret weapon.

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

Tripcents

我对我们与Toptal的合作经验非常满意. 和我一起工作的专业人员在几个小时内就和我通了电话. 在和他讨论了我的项目后,我知道他就是我想要的候选人. 我立即雇用了他,他没有浪费时间就完成了我的项目, 甚至通过添加一些很棒的设计元素来增加我们的整体外观.

保罗·芬利,局长

K Dunn & Associates

与我合作的开发者都非常出色——聪明、有动力、反应灵敏. 过去很难找到高质量的工程师和顾问. Now it isn't.

瑞安·洛克菲勒首席执行官

Radeeus

Toptal understood our project needs immediately. 我们遇到了一位来自阿根廷的杰出自由职业者, from Day 1, 沉浸在我们的行业中, 与我们的团队无缝融合, 理解我们的愿景, 并产生了一流的结果. Toptal使与高级开发人员和程序员的联系变得非常容易.

Jason Kulik,联合创始人

ProHatch

作为一家资源有限的小公司,我们不能犯代价高昂的错误. Toptal为我们提供了一位经验丰富的程序员,他能够立即投入工作并开始做出贡献. 这是一次很棒的经历,我们会马上再来一次.

斯图尔特·波克尼校长

现场专用软件解决方案

我们使用Toptal聘请了一位具有丰富的Amazon Web Services经验的开发人员. 我们面试了四位候选人,其中一位非常符合我们的要求. The process was quick and effective.

Abner Guzmán Rivera, CTO and Chief Scientist

Photo Kharma

Sergio was an awesome developer to work with. 一流,反应迅速,工作效率高.

Dennis Baldwin, Chief Technologist and Co-Founder

PriceBlink

和Marcin一起工作是一种乐趣. 他很能干。, professional, flexible, 并且非常迅速地理解需要什么以及如何实现它.

安德鲁·费舍尔,首席技术官

POSTIFY

我们需要一位能立即开始我们项目的专业工程师. Simanas exceeded our expectations with his work. 不需要采访和追踪专家开发人员是一种非常节省时间的方法,并且让每个人都对我们选择切换平台以使用更健壮的语言感到更舒服. Toptal made the process easy and convenient. Toptal现在是我们寻求专家级帮助的首选之地.

Derek Minor, Senior VP of Web Development

网络传媒集团

Toptal的开发人员和架构师都非常专业,也很容易共事. 他们提供的解决方案价格合理,质量上乘,缩短了我们的发行时间. 再次感谢,Toptal.

首席执行官杰里米·韦塞尔斯

Kognosi

We had a great experience with Toptal. 他们为我们的应用程序找到了完美的开发人员,让整个过程变得非常简单. 它也很容易超出最初的时间框架, 我们可以在整个项目中保持同一个承包商. 我们强烈推荐Toptal,因为它可以快速无缝地找到高素质的人才.

Ryan Morrissey,首席技术官

Applied Business Technologies, LLC

I'm incredibly impressed with Toptal. 我们的开发人员每天都和我交流,他是一个非常强大的程序员. 他是一个真正的专业人士,他的工作非常出色. Toptal 5星.

首席执行官彼得罗·卡索

浪人娱乐有限公司

Working with Toptal has been a great experience. 在使用它们之前, 我花了相当多的时间面试其他自由职业者,但没有找到我需要的. 在与Toptal合作后,他们在几天内就为我找到了合适的开发者. 与我一起工作的开发人员不仅提供高质量的代码, 但他也提出了一些我没有想到的建议. It's clear to me that Amaury knows what he is doing. 强烈推荐!

行政总裁郑志刚

Bulavard, Inc.

作为一名Toptal合格的前端开发人员,我还经营着自己的咨询业务. 当客户来找我帮忙填补他们团队中的关键角色时, Toptal是我唯一愿意推荐的地方. Toptal的所有候选人都是精英中的精英. Toptal是我在近5年的专业在线工作中发现的性价比最高的网站.

伊桑·布鲁克斯,首席技术官

Langlotz专利 & 商标工程公司.

在希格尔的早期, we needed the best-in-class developers, 以可承受的价格, 及时地. Toptal交付!

Lara Aldag,首席执行官

Higgle

Toptal能让你轻松找到合适的人选,让你放心,因为他们有能力. 我肯定会向任何寻找高技能开发人员的人推荐他们的服务.

Michael Gluckman,数据经理

Mxit

Toptal将我们的项目与最优秀的开发人员快速匹配的能力非常出色. The developers have become part of our team, 我对他们每个人所表现出的敬业精神感到惊讶. 对于那些希望与最好的工程师远程工作的人来说,没有比Toptal更好的了.

劳伦特·阿里,创始人

Livepress

Toptal makes finding qualified engineers a breeze. 我们需要一个有经验的ASP.. NET MVC架构来指导我们的启动应用程序的开发, Toptal在不到一周的时间里为我们找到了三位优秀的候选人. 在做出我们的选择后,工程师立即在线并开始工作. 这比我们自己发现和审查候选人要快得多,也容易得多.

Jeff Kelly,联合创始人

协同解决方案

我们需要一些Scala的短期工作,Toptal在24小时内为我们找到了一位优秀的开发人员. 这在其他平台上是不可能实现的.

Franco Arda,联合创始人

WhatAdsWork.com

Toptal为快速发展和规模化的企业提供不妥协的解决方案. 我们通过Toptal签约的每一位工程师都迅速融入了我们的团队,并在保持惊人的开发速度的同时,将他们的工作保持在最高的质量标准.

Greg Kimball,联合创始人

nifti.com

How to Hire Salesforce Developers through Toptal

1

Talk to One of Our Industry Experts

Toptal的工程总监将与您一起了解您的目标, 技术需求, 团队动力.
2

与精心挑选的人才一起工作

几天之内,我们将为您的项目介绍合适的Salesforce开发人员. Average time to match is under 24 hours.
3

绝对合适

与您的新Salesforce开发人员一起试用一段时间(只在满意的情况下付费), 在订婚前确保他们是合适的人选.

寻找拥有相关技能的专家

在我们的人才网络中访问大量熟练的开发人员,并在48小时内雇用最优秀的3%.

FAQs

  • How are Toptal Salesforce developers different?

    At Toptal, 我们对Salesforce开发人员进行了彻底的筛选,以确保我们只为您匹配最优秀的人才. 在200多个中,每年有5000人申请加入Toptal网络, 只有不到3%的人能达标. 你将与工程专家(而不是一般的招聘人员或人力资源代表)一起了解你的目标, 技术需求, 团队动力. 最终的结果是:经过专家审查的人才从我们的网络,定制匹配,以满足您的业务需求.

  • 我可以在48小时内通过Toptal雇佣Salesforce开发人员吗?

    取决于可用性和进度, 您可以在注册后48小时内开始与Salesforce开发人员合作.

  • Toptal Salesforce开发人员的无风险试用期是什么?

    我们确保您和您的Salesforce开发人员之间的每次约定都以长达两周的试用期开始. 这意味着你有时间确认订婚是否成功. If you’re completely satisfied with the results, 我们会给你开时间单的,你愿意多久我们就多久. 如果您不完全满意,我们不会向您收费. From there, 我们要么分道扬镳, 或者我们可以为您提供另一位可能更合适的专家,我们将与他开始第二轮谈判, 无风险试用.

Share
Salesforce

How to Hire a Great Salesforce Developer

一般来说,编写代码是扩展任何软件、产品或平台的必要部分. 但是当涉及到Salesforce项目时,就不一定需要编码了.

这是可能的,因为Salesforce提供了一个全面的工具箱, including drag-and-drop tools to build your database, 使用点击工具编辑的标准用户界面, 以及具有高级自动化功能的工作流引擎.

只使用这些工具, 无需编写一行代码,就可以在Salesforce生态系统中创建高级定制业务解决方案.

This out-of-the-box toolkit will work for some, 对其他人来说, 可能需要Salesforce应用程序专家来帮助您完成任务.

这时候就需要编码,这时候你就需要雇佣一名开发人员来帮助你.

This out-of-the-box toolkit will work for some, 对其他人来说, 可能需要一个专家来帮你到达终点线.

与销售团队, this out-of-the-box toolkit will work for some, 而对于其他人来说,可能需要一个专家来帮助你到达终点线.

If you do need an expert-level Salesforce developer, 你应该找一个不仅精通SQL和Salesforce拖放工具的人, 而是一个认证的开发人员,他也知道Apex和SOQL, Salesforce’s custom query and programming language. 你也可以找一个有Salesforce闪电经验的人.

大多数人都不知道该问什么问题,这就是为什么我们把这个指南放在一起. 在其中,您将找到我们的顶级Salesforce开发人员面试问题和答案.

问题与答案

Q: Name the available 集合类型s in Apex. Discuss their limits and characteristics.

在Salesforce中,Apex支持三种不同的集合类型:列表、映射和集合.

Lists 元素的有序集合是由它们的索引来区分的吗. 当您希望通过索引来标识一个元素时,应该使用列表. 同样重要的是要注意,列表可以包含重复项.

Maps 是键值对的集合,其中每个唯一的键映射到单个值. A key can be any primitive data type, value可以是一个原语, sObject, 集合类型, 或Apex对象.

Sets 是不包含任何重复元素的无序集合(与列表相反), 如上所述).

您应该使用哪种类型? 这取决于您要完成的任务以及上面描述的每种集合类型的特征.

值得一提的是,从集合中删除项比从列表中删除项更直接. 当从列表中删除一个项时,索引将向左移动.

集合可以容纳的项数没有固有限制, 尽管存在基于堆大小的隐式限制.

由于环境的多租户特性,Salesforce维护了一个 table 所有的限制. Salesforce偶尔会修改这些限制并调整执行能力.

问:讨论Apex中的交易控制限制.

Salesforce is a multi-tenant environment, 这实际上意味着所有的资源都在用户之间共享. 为了维护系统性能和可用性,平台强制执行流程限制.

所有Salesforce开发人员都必须了解这些限制,因为它们会影响解决方案的设计和编码方式.

以下是与事务控制最相关的限制.

  • Static variables are not reverted during a RollBack.
  • 设置保存点后插入的对象的ID在回滚后不会被清除.
  • 您设置的每个RollBack或SavePoint都将计入DML语句的调控器限制.
  • 对savepoint的引用不能交叉触发器调用,因为每个触发器调用都是一个新的触发器上下文.
  • If you set more than one SavePoint, 然后回滚到不是您生成的最后一个SavePoint的保存点, the later SavePoint variables become invalid.

问:同步Apex请求的时间限制是什么? 讨论可以用来避免达到极限的策略.

运行超过5秒的同步Apex请求被认为是长时间运行的. 为了避免达到这个限制,建议使用以下任何一种策略.

  • 调优SOQL和DML操作,确保查询是可选择的.
  • 检查Batch Apex是否是将同步流程转换为异步流程的可能替代方案.
  • Try to limit calls to synchronous web services.

这些都是Salesforce开发人员在达到极限时需要注意的标准解决方案.

限制是Salesforce开发的核心,每个开发人员都应该了解它们.

When you get errors mentioning limits, you should tweak your code to optimize, 或者将您的解决方案分解为多个块,这些块将保持在Salesforce强制限制内.

问:Apex中全局类和公共类的主要区别是什么? 举例说明.

全球类 是可见的 any 应用程序或名称空间,而 公共类 只在内部可见 a specific 应用程序或名称空间.

所有使用 public 访问修饰符只能在您自己的应用程序或名称空间中访问.

公共类MyClass {
	// Methods accessible only within your application
}

类使用 global access modifier are accessible by Apex everywhere. 一个示例是允许外部应用程序调用Apex Web服务以在Salesforce中执行操作的类.

全局类MyWebService {
    // Methods accessible by Apex everywhere, e.g.: SOAP API
} 

问:解释如何编写一个Apex类,它将考虑当前用户的共享规则. 举例说明.

By default, Apex code runs in the system context, 具有访问所有对象和字段的对象权限.

如果您需要编写一个类,将考虑当前的用户共享规则, 你需要用 with sharing keywords.

这个类将在系统上下文中通过访问来执行 all 对象和字段.

public without sharing class MyNoSharingRuleClass {
    //这里的代码不会强制执行当前的用户共享规则
}

这个类将执行当前用户的共享规则.

public with sharing class MySharingRuleClass {
    //这里的代码将强制执行当前用户共享规则
}

在声明类时 without 这些访问修饰符,是当前使用的共享规则. By default, 除非共享规则是从调用类获得的,否则类不会强制执行共享规则.

Q: Explain what Apex Unit Tests are. Discuss the deploy requirements for Apex code. 提供一个示例.

The Salesforce CRM platform uses Apex Unit Tests, 哪些类方法检查一段代码是否正常工作. Note that the unit test methods take no arguments, 不向数据库提交数据, 不要发邮件.

测试方法必须在带有注释的测试类中定义 @IsTest.

要部署Apex代码,Salesforce需要满足以下所有条件.

  • 至少75%的Apex代码必须被单元测试覆盖,并且 all of these tests must be completed successfully.
  • Every trigger must have some test coverage.
  • All classes and triggers must compile successfully.

下面是一个测试类基本结构的示例.

@isTest
private class MyCustomObjectTestClass {
	static testMethod void runPositiveTestCases() {
   	  //在这里进行阳性测试
        System.正验证测试...');
	}
	static testMethod void runNegativeTestCases() {
   	  //在这里运行你的阴性测试
        System.负验证测试...');
	}
} 

问:说明如何使用SOQL语句访问归档和删除的记录?

在Salesforce中,被删除的记录实际上并没有被删除. Instead, it is moved to a recycle bin.

Every Salesforce user has access to the recycle bin, 它在概念上类似于Windows或macOS中的回收站. 存档也是如此.

Therefore, 如果构建查询的开发人员希望在其结果集中包含已删除和存档的记录, [5]他可以使用 ALL ROWS SOQL语句中的关键字.

这里有一个例子.

SELECT COUNT() FROM Contact WHERE AccountId = a.Id ALL ROWS

Q: Explain how to assure a process can update records, 没有其他进程或用户同时更新相同记录的风险.

SOQL支持 FOR UPDATE keywords.

When included in the SOQL statement, 它们保证没有其他进程或用户能够并发地更新记录. 在处理记录的事务完成后,锁被释放.

Q: Consider the following snippet of code:

List opportunityList = [SELECT Id, Name, FROM Opportunity WHERE StageName = '资格'];

Explain what, if anything, is wrong with it?

中的所有机会 资格 stage. 而代码片段是正确的, we are using the string literal directly, without a constant or a configuration.

这种编码实践可能成为问题的根源,因为可能有其他类使用相同的方法.

例如,如果我们假设我们想要从 资格 to 等待审核, 这将需要一定的工作量来执行影响分析并将更改合并到代码中.

使用常量或配置方法可以避免这种情况, and our query will look something like this, assuming we have created a constant.

public static final String STAGE_NAME = '资格';

最后的查询将是:

List opportunityList = [SELECT Id, Name, FROM Opportunity WHERE StageName = STAGE_NAME];

Q: Consider the following snippet of code:

global class FutureRecordProcessing
{
    @future
    public static void processRecords(List myObjectList)
    {
         //处理记录
    }
}

Why does this code generate a compilation error?

In Apex, @future annotated methods cannot get sObjects as arguments, 因为在你调用方法和它实际执行的时间之间,sObject可能会改变. 在这个特殊的场景中, 应该使用对象id列表来执行查询最新记录的操作.

下面是一个future方法的例子,它正确地从id列表中查询对象:

global class FutureRecordProcessing
{
    @future
    public static void processRecords(List recordIds)
    {  
         	//查询记录
List myObjects = [SELECT Name FROM MyObject__c WHERE Id IN :recordIds];
//处理记录
    }
}

Take the time to find a top Salesforce developer.

The questions we covered in this article should be a piece of cake for any sufficiently experienced Salesforce developer; and therefore, 如何帮助你区分一个想成为Salesforce专家的人, who mostly uses only drag-and-drop tools, 来自顶级开发人员, who is fluent in both SOQL and Apex.

花时间去寻找最好的全职或兼职候选人是非常值得的, 因为它们无疑会对团队的生产力和底线产生重大影响.

Top Salesforce Developers are in High Demand.

Start Hiring