让我们列出一些针对SharePoint开发人员的好面试问题。请在每个条目中提供一个问题,如果可能,请提供答案。
另外,如果提供的答案有误,请随时建议更正。
我会先走:
问:SharePoint如何存储页面?
答:How-to-locate-sharepoint-document-library-source-page-on-the-server?
答案 0 :(得分:19)
Q值。使用SPSecurity.RunWithElevatedPrivileges(Web上下文)运行时正在使用哪些凭据?
一个。运行SharePoint的Web应用程序的应用程序池标识。
答案 1 :(得分:14)
Q值。修改列表项时,使用SPListItem.Update()和SPListItem.SystemUpdate()之间的“主要”区别是什么?
一个。使用SystemUpdate()不会创建新版本,也会保留时间戳。
答案 2 :(得分:14)
答:如果您自己创建它们,应该始终处置它们,但不是这样。您永远不应该处置SPContext.Current.Web / Site,如果IsRootWeb为true,通常不应该部署SPWeb。更复杂的构造是SPList.ParentWeb。
的一部分 如果候选人知道Roger Lambs Blog Post,奖励积分。
答案 3 :(得分:13)
问:System.Web.UI.WebControls.WebParts.WebPart
和Microsoft.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中的共享服务提供商可以提供以下共享服务:
答案 14 :(得分:6)
Q值。 MOSS&和MOSS有什么区别? WSS
一个。 MOSS使用共享服务提供商进行搜索,配置文件导入等...(有关更完整的列表,请参阅answers posted by Lars Fastrup)
答案 15 :(得分:5)
Q值。事件接收器从哪些基类继承?
A:
答案 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)