最新Salesforce 开发面试30问,助你拿到心仪的Offer(1/2)

我们都知道,面试可能会让人感到压力山大——不管你是第一次参加面试的新手,还是已经有几年开发经验做背书的业内人士,面试都会带来压力。

作为一名面试者,你必须好好准备,以展现出自己最好的一面,而想要在一场1小时左右的谈话中做到这一点是很困难的。

作为Salesforce开发人员,我们通常不情愿去用心学习文档,甚至很多简单的东西还需要临时去Google搜索。这没关系,没人会要求我们记住一切知识点……但如果是面试的话那就不一样了。

作为一名面试官,面试可能也不是那么简单的。你想为公司招募一个非常适合你们团队的人,但你没有太多时间去了解对方。你必须知道应该问哪些问题,哪些问题更是重中之重。

如果你需要为面试做准备,这篇文章将从以下5个维度帮助你更充分的准备面试问答。

  • Salesforce 开发面试通用问题

  • Apex 的问题

  • Visualforce 的问题

  • 配置问题

  • 集成问题

Salesforce 开发面试通用问题

1. 简档和角色什么区别?

 简档是用户记录中必须添加的, 而角色只是可选项。

简档有助于控制对象权限, 例如CRUD(创建,读取,编辑,删除)。同时还包含用户可以执行的系统权限,例如导出数据。

角色有助于在整个组织中共享记录。它们以组织架构的方式工作,使用户可以访问层次结构中下层人员所拥有的记录。

2. Salesforce中又哪三种对象关系?

 查找关系可用于将两个对象链接在一起。它是两个对象之间创建子对父关系的基本类型。

主从关系可用于将两个对象链接在一起的情况。主从关系在父与子之间建立了紧密的关系。子记录继承了父记录的安全性,如果删除了父记录,所有关联的子记录也将被删除。

主从关系创建了一些额外的功能,例如汇总累计字段,使您可以从父记录计算子记录的数据。

多对多关系可用于对多对多关系建模的两个对象之间创建关系。它们是使用一个对象,该对象与两个父对象具有两个主从关系。

3. SOQL的用途是什么?

SOQL是Salesforce对象查询语言。它与广泛使用的查询数据库的语言SQL(结构化查询语言)非常相似。SOQL是专门为Salesforce数据设计的,用于Salesforce平台上检索数据。在Apex和Visualforce中使用SOQL返回数据集。

4. Salesforce.com 和 Force.com有什么区别?

 Salesforce.com是SaaS(软件即服务)产品,而Force.com是PaaS产品(平台即服务)。

Salesforce.com提供了多种预打包的解决方案,例如针对特定目的设计的Sales&Service Cloud。而Force.com允许您构建自己的应用程序。 

Salesforce.com建立在Force.com平台上。

5. 从沙盒部署到生产环境, 有哪些选择呢?
 有多种方法可以将沙盒部署到生产环境。主要方法是使用Salesforce的更改集功能。更改集允许打包组件,然后将它们部署到另一个Salesforce Org。还有一些其他各种方法,比如ANT迁移工具,Force.com IDE和非托管软件包。

6. 在Salesforce中如何使用存储桶字段?
 存储桶字段,用于将字段值分组。这些字段不在Salesforce平台上创建,仅存在于报表里。

Apex问题

7. 什么是Apex?

 Apex是一种强类型的,面向对象的编程语言,开发人员通过Apex表现业务逻辑来补充Salesforce平台所需的功能。

Apex与Java很像,可以通过各种用户启动的事件来触发,例如记录更新,单击按钮,对象触发或外部Web服务请求。

8. 生产环境中可自定义Apex和Visualforce?
 Apex无法在生产组织中进行自定义,必须通过沙盒进行更改和部署,并满足测试范围。Visualforce可以直接在生产环境中进行自定义(但这不算是一个好方法)。

9. Apex触发器何时可以运行?

 Apex触发器可以在保存记录之前和之后运行。通常使用before操作来验证将要插入的信息,而after触发器则用于访问用户或系统之前输入的数据。

10. 何时用Apex, 而非工作流或进程生成器?
 有多种原因会使大家使用Apex而不是声明式自动化选项:

  • 工作流规则和进程生成器操作时遇到功能上限制时,可以通过Apex来解决。例如,从外部系统提取信息。

  • 当处理某些或大量数据集时,由于限制较少,Apex可能比声明性选项更有效。

11. 什么是官方限制?列举三个例子
 Salesforce在多租户环境中运行,意味着所用资源(存储,CPU,内存)与Salesforce平台上的其他公司共享, 这意味着必须要进行限制。因此Salesforce在一些功能上进行了量化限制,确保不会让代码或流程占用太多共享资源。

官方限制的一些示例如:

  • SOQL查询检索的记录总数:50,000

  • SOQL查询总数:100(同步)200(异步)

  • DML语句总数:150

  • 事务中的Callout总数(HTTP请求或Web服务调用):100

  • Salesforce服务器上的最大CPU时间:10,000ms(同步)60,000ms(异步)

12. 什么是Apex测试覆盖率?
 为了确保代码符合某些标准,Apex代码覆盖率显示了测试方法在您的类和触发器中执行了多少行可执行代码。代码覆盖率百分比是对覆盖行数除以覆盖行数与未覆盖行数之和的计算。

部署到生产所需的最低测试覆盖率是75%。

13. 什么是Apex最佳做法?

  •  批量化代码

  • 避免在FOR循环中使用SOQL查询或DML语句

  • 避免硬编码ID

  • 使用限制Apex方法避免达到官方限制

  • 查询大数据集

查看完整清单...

14. 什么是Apex电子邮件服务?
 大家可以使用电子邮件服务来处理收件箱里的内容,标题和附件。例如,您可以创建一个电子邮件服务,让她根据邮件中的联系信息自动创建联系人报表。

15. Apex中可以使用哪些类型的集合?

List集合主要有以下三种:

  • List是元素的有序集合,这些元素通过其索引来区分。List元素可以是任何数据类型-基本类型,集合,sObject,用户定义类型和内置Apex类型。

  • Set 

    Set是不包含任何重复项的无序元素集合。Set元素可以是任何数据类型-基本类型,集合,sObject,用户定义类型和内置Apex类型。

  • Map

    Map是键-值对的集合,其中每个唯一键都映射到单个值。键和值可以是任何数据类型-基本类型,集合,sObject,用户定义类型和内置Apex类型。

 

猜你喜欢

转载自www.cnblogs.com/51free-online/p/13183706.html