SharePoint面试问题

时间:2008-10-15 18:38:17

标签: sharepoint moss wss

让我们列出一些针对SharePoint开发人员的好面试问题。请在每个条目中提供一个问题,如果可能,请提供答案。

另外,如果提供的答案有误,请随时建议更正。

我会先走:

问:SharePoint如何存储页面?

答:How-to-locate-sharepoint-document-library-source-page-on-the-server?

25 个答案:

答案 0 :(得分:19)

Q值。使用SPSecurity.RunWithElevatedPrivileges(Web上下文)运行时正在使用哪些凭据?

一个。运行SharePoint的Web应用程序的应用程序池标识。

答案 1 :(得分:14)

Q值。修改列表项时,使用SPListItem.Update()和SPListItem.SystemUpdate()之间的“主要”区别是什么?

一个。使用SystemUpdate()不会创建新版本,也会保留时间戳。

答案 2 :(得分:14)

问:什么时候应该处理SPWeb和SPSite对象?更重要的是,何时不是?

答:如果您自己创建它们,应该始终处置它们,但不是这样。您永远不应该处置SPContext.Current.Web / Site,如果IsRootWeb为true,通常不应该部署SPWeb。更复杂的构造是SPList.ParentWeb。

的一部分 如果候选人知道Roger Lambs Blog Post

奖励积分。

答案 3 :(得分:13)

问:System.Web.UI.WebControls.WebParts.WebPartMicrosoft.SharePoint.WebPartPages.WebPart之间有什么区别?

A:Microsoft.SharePoint.WebPartPages.WebPart在MOSS 2007中提供,以提供与MOSS 2003 webparts的向后兼容性。在MOSS 2007中,建议改为使用System.Web.UI.WebControls.WebParts.WebPart

答案 4 :(得分:9)

有时我想问更多开放式问题,以便让潜在客户说话。

如果我想找出技术深度

问:您在SharePoint中发现了哪些错误?那么问:你做了什么来解决它们?

答案 5 :(得分:7)

Q值。如果您有一个ItemUpdated或ItemUpdating事件接收器并且它会导致项目更新,那么如何防止在更新期间触发另一个ItemUpdated和ItemUpdating事件?

一个。在执行更新之前,请调用DisableEventFiring()。更新后,调用EnableEventFiring()。

答案 6 :(得分:7)

Q值。什么是网站集,为什么要创建新网站集而不是网站?

一个。有点长的答案,但他们应该了解网站收集管理,配额,资产分离,安全模型等。

戴夫·沃勒曼(Dave Wollerman)对某些原因和事件进行了good article

答案 7 :(得分:7)

问:RunWithElevatedPrivileges对性能有何影响?

答:RunWithElevatedPrivileges使用应用程序池的凭据创建一个新线程,阻止当前线程直到完成。

[via rexm]

答案 8 :(得分:6)

答案 9 :(得分:6)

问:描述列表和库之间的区别。

答:列表是元数据或列的集合,可以包含附加文档。库是文档的集合(Excel,InfoPath,Word等)以及可选的元数据。

根据ktrauberman的反馈编辑。

答案 10 :(得分:6)

问:(i)描述内容类型的目的;    (ii)举例说明它们的用途。

答:(i)内容类型将一组列表列组合在一起,以便它们可以跨站点以相同的方式重用。    (ii)它们可以用作一组元数据列,需要应用于网站集中的每个文档。

答案 11 :(得分:6)

问:解释SharePoint如何呈现其内容。 答:超出范围,但您可以在这里找到一些好的信息:http://g-m-a-c.blogspot.com/2008/04/how-sharepoint-2007-renders-its-content.html

申请人应该至少绕过SharePoint的模板呈现机制,以及12 / TEMPLATE / CONTROLTEMPLATES /中的内容以及它的用途,重点是DefaultTemplates.ascx。如果您希望进行任何类型的SharePoint自定义,这绝对是必不可少的知识。

答案 12 :(得分:6)

问:您如何以编程方式检索列表项?

答:SPQuery和SPSiteDataQuery。了解CrossListQueryCache,PortalSiteMapProvider的知识点。使用foreach的负面因素。

答案 13 :(得分:6)

问:在MOSS 2007中至少列出两个可用的共享服务

答:MOSS 2007中的共享服务提供商可以提供以下共享服务:

  • 用户个人资料
  • 目标对象
  • 个人网站
  • 搜索
  • Excel Services
  • 表格服务
  • 商业数据目录(需要企业版)

答案 14 :(得分:6)

Q值。 MOSS&和MOSS有什么区别? WSS

一个。 MOSS使用共享服务提供商进行搜索,配置文件导入等...(有关更完整的列表,请参阅answers posted by Lars Fastrup

答案 15 :(得分:5)

Q值。事件接收器从哪些基类继承?

A:

  1. SPListEventReceiver,SPItemEventReciever和SPWebEventReceiver继承自抽象基类SPEventReceiverBase。
  2. SPWorkflowLibraryEventReceiver继承自SPItemEventReceiver。
  3. SPEmailEventReceiver直接从System.Object继承。
  4. 另请参阅:http://qmoss.blogspot.com/

    上的一系列SharePoint问题

答案 16 :(得分:5)

问:为什么要使用自定义列?

答:它允许您在多个库中重用该列。如果您使用Choice类型将用户输入限制为预定义的答案集,并且该答案列表可能会更改,则特别有用。

答案 17 :(得分:4)

描述您将自定义品牌应用于SharePoint 2007的经验。要避免哪些陷阱?如何将自定义品牌部署到服务器场?

答案 18 :(得分:4)

你/为什么要/你不应该对12个hive中的文件进行直接更改或添加?

答案 19 :(得分:4)

问:备份SharePoint安装的内置方法是什么?

答:通过中央管理和stsadm命令

问:(更高级)您已经创建并部署了Web部件,当您部署到服务器时会出现一个页面,说明您的Web部件无法加载,请单击此处转到Web部件维护页面,等禁用Web部件。您应该采取哪些步骤从Web部件而不是错误页面获取堆栈转储?

答:转到您网站的web.config文件,在SafeControls元素中找到CallStack属性,并将值设置为true。

答案 20 :(得分:3)

Q值。您将如何创建主/详细信息页面?

一个。创建继承自主文件夹的文件夹内容类型的内容类型,以及继承自Item并在列表上同时使用它们的另一内容类型

答案 21 :(得分:3)

描述业务数据目录(BDC),并为其提供至少一个有形的应用程序。

答案 22 :(得分:2)

问:在不使用RunWithElevatedPrivileges的情况下提升SharePoint权限的方法是什么?

答:将系统帐户用户令牌从SPContext传递给SPSite构造函数。

大多数时候,开发人员可以使用此方法完成所需的操作,而无需不必要地提升网络凭据。

答案 23 :(得分:2)

我宁愿问一些开放式问题,比如 告诉我你认为微软在SharePoint中犯了哪些错误? 可能的答案是...... 对于查找列,您需要事先知道查找字段GUID,并且无法轻松地将查找字段设置为要素。 MOSS没有站点级事件,例如用于创建列表的事件。 SharePoint设计器是一个垃圾,并添加不需要的东西,增加页面大小 由于缺乏基于用户组的修剪控制,因为只有基于权限的修剪可用于deafult(因为您可以创建一个自定义安全修整器来执行此操作)

答案 24 :(得分:1)

Q值。 SharePoint中的“查找”列支持哪些数据类型。

一个。仅支持单行文本和计算列作为查找列。

此外,我还对以下问题进行了整理:http://qmoss.blogspot.com/