作为SaaS行业的先驱,Salesforce的发展一路高歌猛进。Salesforce开发人员不仅能学习到最新的技术,而且比其他行业的同岗位享有更高的薪水,这也驱使了越来越多人加入Salesforce大军。
通过自由侠部落目前发布的岗位机会来看,即使在二线城市5年以上经验的中高级开发,可以拿到年薪35W,并且是最有涨薪潜力的岗位。整体就业市场对于Salesforce开发人员的技能要求也在不断提升,但是不要慌,开发面试指南将帮你斩获心动的Offer!
在之前的文章中,为学习者总结了【平台知识】、【Apex编程】的面试问题,本篇文章将继续从【集成】、【Lightning组件】、【安全开发】、【可配置开发】等多个模块帮助求职者理清思路。
集 成
01
如何集成到外部REST Web服务中?
为了与外部REST Web服务集成,倾向于使用HTTP 标注来调用外部API。可以使用JSON和XMLStreamWriter类来构建负载以匹配外部API的细节。
02
外部系统如何集成到Salesforce中?
外部系统可以利用Salesforce提供的内置REST API进行简单的集成。这可以用于创建、更新、查询记录。
03
如何保护用于出站集成的凭证?
根据凭证的类型,主要有几个选项。最优选的是命名凭证(Named Credentials),指定基本端点和身份验证凭证。这些是首选,因为Salesforce会处理身份验证,防止凭证被泄露。
如果命名凭证不合适,可以选择将凭证存储在自定义元数据类型中,这将允许在不同环境中使用不同的凭证,并且可以保护访问元数据类型的权限。
Lightning组件
04
Lightning Web组件和Aura组件有什么区别?
Lightning Web Components是使用当前Web标准构建的,通过使用Web Components来构建自定义HTML元素,旨在以轻量级和高性能的方式运行。
Aura组件是遗留的Lightning组件框架,但仍使用JavaScript和HTML进行开发。
05
为什么要使用Lightning Web组件
而不是Aura组件?
理想情况下,应该使用Lightning Web组件进行所有新开发,因为更易于开发并且性能更好。开发人员应该避免使用Aura组件,除非是LWC尚不支持的功能,在这种情况下,应该将LWC包装在Aura组件中。
06
如何配置Lightning Web组件?
开发人员可以在组件js-meta.xml文件中定义可配置属性。这是通过在特定目标的targetConfig标签中定义一个属性标签来实现的,并且可以进一步扩展到只应用于特定对象,或者限制可以放置组件的对象。
07
Lightning组件可以在哪里使用?
Lightning组件可以部署在整个组织的许多地方。这些可以由管理员决定,或由开发人员添加。其中包括:
实用工具栏
Outlook和Gmail集成
Flows
Visualforce页面
外部网页
08
SLDS是什么?
Salesforce Lightning Design System( SLDS) 是Salesforce用于设计、样式化和构建 Salesforce Lightning所有方面的用户界面设计框架。
开发人员可以利用SLDS提供的CSS样式或组件标记模板来构建自定义组件,从而为平台的其余部分提供一致的UI。SLDS还提供了有关可访问性、语言指导和图标的指南。
安全开发
09
如何在Apex代码中实施现场级安全性 (FLS)?
如果是正在执行查询,我们可以将WITH SECURITY_ENFORCED子句添加到查询中。如果缺少对请求字段的任何权限,这将导致引发权限不足异常。
如果需要更细粒度或者希望简单地删除用户没有足够权限的字段,我们可以使用Security.stripInaccessible()方法,检查并删除所请求的特定上下文的任何字段值,例如删除用户无权更新的字段。
10
如何在Apex代码中实施共享规则?
开发人员可以定义类,以在其定义中使用with sharing关键字。或者使用继承的共享关键字,当我们需要动态处理代码时,从它的调用类继承共享修饰符。
11
什么情况下应该在代码中绕过共享和FLS?
在运行系统级进程时绕过共享和FLS。如果确实需要绕过共享和FLS进行用户操作,需要确保没有机会执行非预期的数据或操作。
这可以通过将需要绕过的特定操作迁移到单独的类,并执行其余的逻辑,同时强制共享和FLS。
12
如何保护动态SOQL?
在执行从用户那里获取输入的动态SOQL时,必须清理用户输入。开发人员可以通过确保在执行查询之前转义所有单引号来实现这一点。也可以使用绑定变量,即使是在动态SOQL中。
可配置开发
13
累计汇总字段是什么?
累计汇总字段(Roll-up summary)是位于主详关系的主控端的特殊字段。这些字段的值是基于关系的详细信息方的聚合计算的,可以是从记录数到字段值总和的任何值。当我们希望聚合属于主详关系一部分的记录值时,它允许我们跳过使用Apex。
14
什么是自定义元数据类型?
自定义元数据类型是开发人员设计的元数据,有助于在Salesforce实例中设计和构建可自定义的应用程序。这是通过设计类似于自定义对象的元数据类型,然后创建该类型的记录来定义所需的行为。
15
什么是Dynamic Apex?
Dynamic Apex是一种技术,通过在代码中动态访问sObjects和字段来使代码更加灵活,而不是声明式访问代码。这主要是通过使用sObject令牌来完成的,并描述了在代码中动态访问和设置sObject字段值。这可以与动态 SOQL结合使用,基于运行时上下文而不是设计时动态构建查询。
在Salesforce开发的面试中,准备好这些简单问题只是给面试官留下好印象的第一步。打铁还需自身硬,对于开发而言,专业的技能、处理项目的能力才是候选人脱颖而出的关键。
作者:自由侠部落
Salesforce面试指南:千人收藏的《高频面试问题》
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
如果文章的内容对你有帮助,欢迎点赞~
文章出处登录后可见!