Ayons une liste de quelques bonnes questions d'entrevue pour les développeurs SharePoint. Veuillez fournir une question par entrée et, si possible, les réponses.
N'hésitez pas non plus à suggérer des corrections si les réponses fournies sont erronées.
Je vais commencer:
Q: Comment SharePoint stocke-t-il les pages?
A: Comment localiser-sharepoint-bibliothèque-document-source-page-sur-le-serveur?
Q. Lors de l'exécution avec SPSecurity.RunWithElevatedPrivileges (contexte Web), quelles informations d'identification sont utilisées?
A. L'identité du pool d'applications pour l'application Web exécutant SharePoint.
Q: Quand devez-vous éliminer les objets SPWeb et SPSite? Et encore plus important, quand non?
R: Vous devez toujours les éliminer si vous les avez créés vous-même, mais pas autrement. Vous ne devez jamais supprimer SPContext.Current.Web/Site et vous ne devez normalement pas supprimer SPWeb si IsRootWeb est vrai. Les constructions plus délicates sont des choses le long de la ligne de SPList.ParentWeb.
Points bonus si le candidat sait Roger Lambs Blog Post .
Q. Lors de la modification d'un élément de liste, quelle est la différence "principale" entre l'utilisation de SPListItem.Update () et SPListItem.SystemUpdate ()?
R. L'utilisation de SystemUpdate () ne créera pas de nouvelle version et conservera également les horodatages.
Q: Quelle est la différence entre System.Web.UI.WebControls.WebParts.WebPart
et Microsoft.SharePoint.WebPartPages.WebPart
?
UNE: Microsoft.SharePoint.WebPartPages.WebPart
est fourni dans MOSS 2007 pour fournir une compatibilité descendante avec MOSS 2003 webparts. Dans MOSS 2007, il est recommandé utiliser System.Web.UI.WebControls.WebParts.WebPart
au lieu.
parfois j'aime poser des questions plus ouvertes pour faire parler la perspective.
Si je veux découvrir la profondeur technique
Q: Quels bogues avez-vous trouvés dans SharePoint? puis Q: Et qu'avez-vous fait pour les contourner?
Q. Si vous avez un récepteur d'événements ItemUpdated ou ItemUpdating et qu'il provoque une mise à jour de l'élément, comment empêcher qu'un autre événement ItemUpdated et ItemUpdating soit déclenché pendant votre mise à jour?
A. Avant d'effectuer votre mise à jour, appelez DisableEventFiring (). Après la mise à jour, appelez EnableEventFiring ().
Q: Quel est l'impact sur les performances de RunWithElevatedPrivileges
?
R: RunWithElevatedPrivileges
crée un nouveau thread avec les informations d'identification du pool d'applications, bloquant votre thread actuel jusqu'à la fin.
[via rexm ]
Q. Qu'est-ce qu'une collection de sites, pourquoi voudriez-vous créer une nouvelle collection de sites par opposition à un site?
A. Un peu une longue réponse, mais ils devraient connaître l'administration de la collection de sites, les quotas, la séparation des actifs, le modèle de sécurité, etc.
Dave Wollerman a un bon article sur certains pourquoi et pourquoi.
Q: Expliquez comment SharePoint affiche son contenu. R: Au-delà de la portée ici, mais vous pouvez trouver de bonnes informations ici: http://g-m-a-c.blogspot.com/2008/04/how-sharepoint-2007-renders-its-content.html
Le demandeur doit au moins contourner le mécanisme de rendu de modèle de SharePoint, et ce qu'il contient dans 12/TEMPLATE/CONTROLTEMPLATES/et à quoi il sert, en mettant l'accent sur DefaultTemplates.ascx. Il s'agit de connaissances absolument essentielles si vous souhaitez effectuer tout type de personnalisation de SharePoint.
Q: Décrivez la différence entre une liste et une bibliothèque.
R: Les listes sont des collections de métadonnées ou de colonnes, qui peuvent avoir des documents joints. Les bibliothèques sont des collections de documents (Excel, InfoPath, Word, etc.) plus des métadonnées facultatives.
Modifié selon les commentaires de ktrauberman.
Bons. en voici quelques-unes vraiment utiles. http://megasolutions.net/qs/Sharepoint_Portal_Interview_Questions.aspx
Q: (i) Décrire le but d'un type de contenu et; (ii) donner un exemple de l'endroit où ils pourraient être utilisés.
R: (i) Un type de contenu regroupe un ensemble de colonnes de liste afin qu'elles puissent être réutilisées de la même manière sur les sites. (ii) Ils pourraient être utilisés comme un ensemble de colonnes de métadonnées qui doivent être appliquées à chaque document d'une collection de sites.
Q. Quelle est la différence entre MOSS & WSS
A. MOSS utilise le fournisseur de services partagés pour la recherche, l'importation de profil, etc ... (voir réponses publiées par Lars Fastrup pour une liste plus complète)
Q: Comment récupéreriez-vous par programme un élément de liste?
R: SPQuery et SPSiteDataQuery. Points bonus pour la connaissance de CrossListQueryCache, PortalSiteMapProvider. Points négatifs pour l'utilisation de foreach.
Q: Nommez au moins deux services partagés disponibles dans MOSS 2007
R: Les fournisseurs de services partagés dans MOSS 2007 peuvent fournir les services partagés suivants:
Q. De quelles classes de base les récepteurs d'événements héritent-ils?
UNE:
Voir également une collection de questions SharePoint sur: http://qmoss.blogspot.com/
Q: Pourquoi utiliseriez-vous une colonne personnalisée?
R: Il vous permet de réutiliser la colonne dans plusieurs bibliothèques. Particulièrement utile si vous utilisez un type Choix pour restreindre l'entrée utilisateur à un ensemble prédéfini de réponses, et quand cette liste de réponses changera probablement.
Q: Quelles sont les méthodes intégrées pour sauvegarder une installation SharePoint?
R: Via l'administration centrale et la commande stsadm
Q: (plus avancé) Vous avez créé et déployé un composant WebPart, lorsque vous déployez sur le serveur, vous obtenez une page indiquant que votre composant WebPart n'a pas pu être chargé, cliquez ici pour accéder à la page de maintenance du composant WebPart, etc. pour désactiver le composant WebPart. Quelle (s) étape (s) devez-vous prendre pour obtenir un vidage de pile de votre composant WebPart au lieu de cette page d'erreur?
R: Accédez au fichier web.config de votre site Web et recherchez l'attribut CallStack dans l'élément SafeControls et définissez la valeur sur true.
Décrivez vos expériences dans l'application de la marque personnalisée à SharePoint 2007. Quels sont les pièges à éviter? Comment déployez-vous votre image de marque personnalisée dans la batterie de serveurs?
Quand/pourquoi devriez-vous/ne devriez-vous pas apporter des modifications ou des ajouts directs aux fichiers de la ruche 12?
Q. Comment créeriez-vous une page maître/détail?
A. Création d'un type de contenu héritant du type de contenu de dossier pour le maître et d'un autre type de contenu héritant de l'élément et les utilisant tous les deux sur une liste
Décrivez le catalogue de données métiers (BDC) et fournissez-en au moins une application tangible.
Je préfère poser des questions ouvertes comme dites-moi quelque chose que vous considérez comme une erreur que Microsoft a commise dans SharePoint? Les réponses possibles sont ... Pour les colonnes de recherche, vous devez connaître à l'avance le champ de recherche GUID et vous ne pouvez pas facilement provisionner un champ de recherche en tant que fonctionnalité. MOSS n'a pas d'événements au niveau du site, comme un événement pour la création de listes. Le concepteur SharePoint est une merde et ajoute des éléments indésirables qui augmentent la taille de la page.
.
Q: Comment augmenter les privilèges SharePoint sans utiliser RunWithElevatedPrivileges?
R: Transmettez le jeton d'utilisateur de compte système de SPContext au constructeur SPSite.
La plupart du temps, un développeur peut accomplir ce dont il a besoin en utilisant cette méthode sans augmenter inutilement les informations d'identification réseau.
Q. Quels sont les types de données pris en charge en tant que colonne de recherche dans SharePoint.
A. Seules les lignes de texte et les colonnes calculées sont prises en charge comme colonnes de recherche.
J'ai également consolidé quelques questions sur: http://qmoss.blogspot.com/