SharePoint開発者向けの良いインタビューの質問のリストを見てみましょう。エントリごとに質問を1つ、可能であれば回答を提供してください。
また、提供された回答が間違っている場合は、修正を提案してください。
最初に行きます:
Q:SharePointはどのようにページを保存しますか?
Q. SPSecurity.RunWithElevatedPrivileges(Webコンテキスト)で実行する場合、どの資格情報が使用されますか?
A. SharePointを実行しているWebアプリケーションのアプリケーションプールID。
Q:SPWebおよびSPSiteオブジェクトはいつ廃棄する必要がありますか?さらに重要なのは、そうでないときですか?
A:自分で作成した場合は常に廃棄する必要がありますが、そうでない場合は廃棄しないでください。 SPContext.Current.Web/Siteを破棄しないでください。IsRootWebがtrueの場合、通常はSPWebを破棄しないでください。よりトリッキーな構造は、SPList.ParentWebに沿ったものです。
候補者が知っている場合のボーナスポイント Roger Lambs Blog Post 。
Q.リストアイテムを変更する場合、SPListItem.Update()とSPListItem.SystemUpdate()の使用の「主な」違いは何ですか?
A. SystemUpdate()を使用しても新しいバージョンは作成されず、タイムスタンプも保持されます。
Q:System.Web.UI.WebControls.WebParts.WebPart
とMicrosoft.SharePoint.WebPartPages.WebPart
の違いは何ですか?
A:MOSS 2003 Webパーツとの後方互換性を提供するために、MOSS 2007でMicrosoft.SharePoint.WebPartPages.WebPart
が提供されています。 MOSS 2007では、代わりにSystem.Web.UI.WebControls.WebParts.WebPart
を使用することをお勧めします。
時々私は、よりオープンエンドの質問をして、見込み客に話しかけるのが好きです。
技術的な深さを知りたい場合
Q:SharePointにはどのようなバグがありますか? Q:そして、それらを回避するために何をしましたか?
Q. ItemUpdatedまたはItemUpdatingイベントレシーバーがあり、それがアイテムの更新を引き起こす場合、更新中に別のItemUpdatedおよびItemUpdatingイベントが発生しないようにするにはどうすればよいですか?
A.更新を実行する前に、DisableEventFiring()を呼び出します。更新後、EnableEventFiring()を呼び出します。
Q:RunWithElevatedPrivileges
のパフォーマンスへの影響は何ですか?
A:RunWithElevatedPrivileges
は、アプリケーションプールの資格情報を使用して新しいスレッドを作成し、現在のスレッドが完了するまでブロックします。
[ rexm ]経由
Q.サイトコレクションとは何ですか、なぜサイトではなく新しいサイトコレクションを作成するのですか?
A.少し長い答えですが、サイトコレクションの管理、割り当て、資産の分離、セキュリティモデルなどについて知っておく必要があります。
Dave Wollermanには、いくつかの理由と理由について good article があります。
Q:SharePointがコンテンツをレンダリングする方法を説明してください。 A:ここでは範囲を超えていますが、いくつかの良い情報を見つけることができます: http://g-m-a-c.blogspot.com/2008/04/how-sharepoint-2007-renders-its-content.html
申請者は、少なくともSharePointのテンプレートレンダリングメカニズム、および12/TEMPLATE/CONTROLTEMPLATES /にあるもの、およびDefaultTemplates.ascxに重点を置いて使用されるものを回避する必要があります。これは、あらゆる種類のSharePointカスタマイズを行う場合に不可欠な知識です。
Q:リストとライブラリの違いを説明してください。
A:リストは、ドキュメントを添付できるメタデータまたは列のコレクションです。ライブラリは、ドキュメント(Excel、InfoPath、Wordなど)とオプションのメタデータのコレクションです。
Ktraubermanのフィードバックごとに編集。
良いもの。本当に便利なものをいくつか紹介します。 http://megasolutions.net/qs/Sharepoint_Portal_Interview_Questions.aspx
Q:(i)コンテンツタイプの目的を説明し、 (ii)それらがどこで使用されるか例を示します。
A:(i)コンテンツタイプは、リスト列のセットをグループ化して、サイト間で同じ方法で再利用できるようにします。 (ii)サイトコレクション内のすべてのドキュメントに適用する必要があるメタデータ列のセットとして使用できます。
Q. MOSS&WSSの違いは何ですか
A. MOSSは検索、プロファイルのインポートなどに共有サービスプロバイダーを使用しています...(詳細なリストについては Lars Fastrupによる回答 を参照してください)
Q:プログラムでリストアイテムを取得するにはどうすればよいですか?
A:SPQueryおよびSPSiteDataQuery。 CrossListQueryCache、PortalSiteMapProviderの知識に対するボーナスポイント。 foreachを使用する場合のマイナスポイント。
Q:MOSS 2007で利用可能な少なくとも2つの共有サービスに名前を付けます
A:MOSS 2007の共有サービスプロバイダーは、次の共有サービスを提供できます。
Q.イベントレシーバーはどの基本クラスから継承しますか?
A:
次のSharePointに関する質問のコレクションもご覧ください。 http://qmoss.blogspot.com/
Q:なぜカスタム列を使用するのですか?
A:複数のライブラリで列を再利用できます。 Choiceタイプを使用して、ユーザー入力を事前定義された回答のセットに制限し、その回答のリストが変更される可能性がある場合に特に便利です。
Q:SharePointインストールをバックアップするために組み込まれている方法は何ですか?
A:中央管理およびstsadmコマンドを使用して
Q:(より高度な)Webパーツを作成して展開しました。サーバーに展開すると、Webパーツを読み込めなかったというページが表示されます。ここをクリックしてWebパーツメンテナンスページに移動します。 Webパーツを無効にします。そのエラーページの代わりにWebパーツからスタックダンプを取得するには、どのステップを実行する必要がありますか?
A:Webサイトのweb.configファイルに移動し、SafeControls要素でCallStack属性を見つけて、値をtrueに設定します。
カスタムブランディングをSharePoint 2007に適用した経験を説明してください。避けるべき落とし穴は何ですか?カスタムブランディングをファームにどのように展開しますか?
12ハイブのファイルを直接変更または追加する必要があるのはいつですか?
Q.マスター/詳細ページをどのように作成しますか?
A.マスターのフォルダーコンテンツタイプを継承するコンテンツタイプと、アイテムを継承してリストでそれらを使用する別のコンテンツタイプを作成する
ビジネスデータカタログ(BDC)について説明し、少なくとも1つの具体的なアプリケーションを提供します。
マイクロソフトがSharePointで行ったエラーとみなすものを教えてください。考えられる答えは...ルックアップ列の場合、ルックアップフィールドGUIDを事前に知る必要があり、ルックアップフィールドを機能として簡単にプロビジョニングすることはできません。 MOSSには、リストの作成イベントなどのサイトレベルのイベントはありません。 SharePointデザイナーはがらくたで、不要なものを追加するため、ページサイズが大きくなります。
権限ベースのトリミングのみがデフォルトで利用可能なため、ユーザーグループベースのトリミングコントロールがありません(これを行うカスタムセキュリティトリマーを作成できるため)
Q:RunWithElevatedPrivilegesを使用せずにSharePoint特権を昇格させる方法は何ですか?
A:システムアカウントユーザートークンをSPContextからSPSiteコンストラクターに渡します。
ほとんどの場合、開発者は、ネットワーククレデンシャルを不必要に上げることなく、この方法を使用して必要なことを達成できます。
Q. SharePointのルックアップ列としてサポートされているデータ型は何ですか。
A.ルックアップ列としてサポートされるのは、単一行のテキスト列と計算列のみです。
また、次の質問をさらに統合しました。 http://qmoss.blogspot.com/