Modèle de concours : Technicien (modèle 3)
En bref
Ce document est une ancienne épreuve écrite du concours de Technicien, publiée sur Wadifa Info en consultation et téléchargement PDF gratuits, avec une correction proposée.
- Grade
- Technicien
- Spécialité
- Informatique
- Pages
- 5
- Langue des questions
- français
- Correction
- correction proposée disponible sur cette page
📝 Texte des questions (extrait automatiquement des pages scannées)
Ce texte est extrait automatiquement des images de l'épreuve et peut contenir des erreurs de lecture — les images ci-dessus font foi.
— صفحة 1 —
Concours de recrutement
ONEE. Branche Electricité
29 Octobre 2016
Nom:
Prénom:
CIN..
Réservé à l'administration
Code:.........
Code:.
Concours de recrutement ONEE. Branche Electricité
29 Octobre 2016
Techniques de Développement Informatiques
Wiveau Technicien Spécialisé
Epreuve
Note sur
Durée
Coefficient Résultat
Spécialité
/ 100
2 heures
1
Emargement des correcteurs
wadifa-info.com
نماذج المباريات من موقع وظيفة إنفو
— صفحة 2 —
L'épreuve comporte deux parties indépendantes:
Partie 1 : un questionnaire à choix multiples (QCM).
Partie2 Sujet de dissertation
/75 pts
/25 pts
Partie 1: /75pts
I) Langage de programmation: (2,5/question) (sur 10 Pts)
QUESTION 1
Une application contient une classe nommée Personne. La classe Personne inclut une méthode
nommée GetData.
Vous devez assurer que la méthode GetData() peut être utilisé seulement par la classe de Personne
ou une classe dérivée de la classe Personne.
Quel modificateur devriez-vous utiliser pour la méthode GetData()?
A. Protected
B.
Internal
C. Protected Internal
D. Private
E. Public
QUESTION 2
Vous développez une application. Loppecatio.tient une méthode nommée Reacre qui lit des
données d'un fichier. La méthode ReadFile() dolt respecter les exigences suivantes:
Il ne doit pas faire des changements des données du fichier.
Il doit permettre à d'autres processus d'accéder aux données du fichier.
Il ne doit pas lever une exception si l'application essaye d'ouvrir un fichier de données qui n'existe
pas.
Vous devez mettre en œuvre la methode file. Quel segment de code devriez-vous utiliser ?
A var fa pile.Open (Filename, PileMode.Open, PileAccess. Read,
Fileshare Readwrite);
B. var fa
Pile.Open (Pilename, FileMode.OpenOrCreate, PileAccess. Read,
Pileshare.Readwrite)
C. var to
File.Open (Filename, FileMode.OpenOrCreate, PileAccess. Read,
Pile.ReadAllLines (Filename);
Pileshare.Write);
D. var fa
E var fs
QUESTION 3
Pile.ReadAllBytes (Pilename);
Vous développez une application en utilisant C. L'application contient le segment de code suivant.
(Le numéro de Ligne est inclus pour se référer aux lignes seulement)
01 public interface IDataContainer
02 (
03 string Data (get; set; }
04)
es void DoWork (object obj)
06
07
08 it (dataContainer = null)
09
10 Console.WriteLine (dataContainer.Data);
11 )
12)
wadifa-info.com
1/8
نماذج المباريات من موقع وظيفة إنفو
— صفحة 3 —
La méthode DoWork () ne doit pas lever d'exceptions en convertissant l'objet objà interface
IDataContainer ou quand en accedant la propriété Data.
Quel segment de code devriez-vous insérer à la ligne 077
A. var dataContainer (IDataContainer) obj
B. dynamicdataContainer obj
C. var dataContainer obj as IDataContainer
D. var dataContainer
QUESTION 4
objisIDataContainer;
Vous développez une application. L'application comprend des classes nommées Employee et Person
et une interface nommée IPerson. La classe Employee doit répondre aux exigences suivantes:
il doit soit hériter de la classe Person ou Implémenter Pinterface (Person.
Il doit être héritable par d'autres classes dans l'application.
Quels sont les deux segments de code que vous pouvez utiliser pour atteindre cet objectif?
(Choisissez deux.)
A. abstract class Employee Person
()
B. sealed clans Employee Person
(...)
C. sealed clans Employee Person
(...)
D. abstract class Employee Person
(...)
II) ADO Net: (2,5/question)'
QUESTION 1
com
Quelle méthode de l'objet commande oCmdOleDb doit être appelée pour remplir l'objet DataReader
à partir du jeu d'enregistrements issu de l'exécution d'une requête
A. oCmdOleDb.ExecuteReader
B. oCmdOleDb.ExecuteScalar
C. oCmdOleDb.ExecuteNonQuery
D. oCmdOleDb.Execute
QUESTION 2
Donnez, parmi les classes d'objets ADO suivantes, celle qui fonctionne en mode déconnecté
seulement
A. SqlConnection:
B. DataTable
C.
SqlCommand
D. SqlDataAdapter
III) SQL Server: (2,5/question) (sur 15 Pts)
QUESTION 1
Vous développez une base de donnéesMicrosoft SQL Server 2012 dans une application. L'application
contient une table qui a la définition suivante
CREATE TABLE Inventory
(ItemID int NOT NULL PRIMARY KEY,
ItemsinStore int NOT NULL,
ItemsinWarehouse int NOT NULL)
Vous devez créer une colonne calculée qui rend la somme des colonne, ItemsinStore et
ItemsinWarehouse, pour chaque ligne. Quelle déclaration de Transact-SQL devriez-vous utiliser?
2/8
wadifa-info.com
نماذج المباريات من موقع وظيفة إنفو
— صفحة 4 —
A. ALTER TABLE Inventory ADD Totalitems AS ItemsinStore + ItemsinWarehouse
B. ALTER TABLE Inventory ADD ItemsinStore-ItemsinWarehouse = Totalitemss
ALTER TABLE InventoryADD Totalltems ItemsinStore ItemsinWarehouse
C.
D. ALTER TABLE InventoryADD Totalltems AS SUM(ItemsInStore, ItemsinWarehouse);
QUESTION 2
Vous administrez une base de données Microsoft SQL Server 2012 qui contient une table nommée
OrderDetail. Vous découvrez que Tindex NCI OrderDetail CustomerID est fragmenté. Vous devez
réduire la fragmentation. Vous devez atteindre ce but sans prendre l'index hors connexion. Quel lot
de Transact-SQL devriez vous utiliser?
A. CREATE INDEX NCT OrderDetail CustomerID ON OrderDetail.customerID WITH
DROP EXISTING
B. ALTER INDEX NCI OrderDetail CustomerID ON OrderDetail.customerID
REORGANIZE
C. ALTER INDEX NCI OrderDetail CustomerID ON OrderDetail. CustomerID REBUILD
D. ALTER INDEX ALL ON OrderDetail REBUILD
QUESTION 3
Vous développez une base de données Microsoft SQL Server 2012. Vous créez une vue en se basant
sur les tables Ordres et OrderDetails en utilisant la définition suivante:
CREATE VIEW VOrders
WITH SCHEMABINDING
AS
SELECT o.ProductID, o. OrderDate,
SUM(od Unit Price, o OrderQTY) AS Amount
FROM OrderDetails AS od
INNER JOIN Orders AS o
ON od OrderID o.OrderID
WHERE od SalesOrderID o.SalesOrderiD
GROUP BY o.OrderDate, o.ProductID
GO
Vous devez améliorer la performance de la vue par sa persistante des données sur disque. Que
devriez-vous faire?
A. Créer un trigger INSTEAD OF associé à la vue.
B. Créer un trigger AFTER associé à la vue.
C. Créer un index clustered on the view.
D. Modifier la vue en utilisant la clause WITH VIEW METADATA.
QUESTION 4
Vous avez une base de données Microsoft SQL Server 2012 qui contient des tables nommées
Customers et Ordres. Les tables sont associées par une colonne nommée CustomerID. Vous devez
créer une requête qui retourne CustomerName (nom du client) et OrderDate (la date de la
commande) pour la commande qu'il a passées. En incluant les clients qui n'ont pas passé de
commandes.
Quelle requête devriez-vous utiliser ?
A. SELECT CustomerName, OrderDate PROM Customers RIGHT OUTER JOIN Orders
ON Customers. CustomerID Orders. CustomerID
B. SELECT CustomerName, OrderDate PROM Customers JOIN Orders
ON Customers. CustomerID Orders. CustomerID
C. SELECT CustomerName, OrderDate FROM Customers CROSS JOIN Orders
ON Customers.CustomerID Ordere.CustomerID
D. SELECT CustomerName, OrderDate FROM Customers LEFT OUTER JOIN Orders
ON Castomers. CustomerID Orders. CustomerID
3/8
wadifa-info.com
نماذج المباريات من موقع وظيفة إنفو
— صفحة 5 —
QUESTION 5
Vous administrez une base de données Microsoft SQL Server dans une application commerciale.
Vous devez récupérer une liste des clients qui vivent aux territoires qui n'ont pas de personne de
ventes. Quel requête Transact-SQL devriez-vous utiliser?(Chaque réponse correcte présente une
solution complète. Choisissez toutes les réponses.)
A. SELECT CustomerID FROM Customer
WHERE TerritoryID NOT IN (SELECT TerritoryID FROM Salesperson)
B. SELECT CustomerID FROM Customer
WHERE TerritoryIDe>ALL (SELECT TerritoryID FROM Salesperson)
C. SELECT CustomerID FROM Customer
WHERE TerritoryID<>ANY (SELECT TerritoryID FROM Salesperson)
D. SELECT CustomerID FROM Customer
WHERE TerritoryID<>SOME (SELECT TerritoryID FROM Salesperson)
QUESTION 6
Vous développez une base de données qui contiendra des informations des prix. Vous devez stocker
les prix qui incluent une précision fixe et une échelle de six chiffres. Quel type de données devriez-
vous utiler?
A. Float
B. Money
C. Numeric
D. Smallmoney
com
IV) Programmation Web: (2.5/question) (sur 22.5 Pte.
QUESTION 1
Vous développez une page en utilisant HTML5 qui a un élément avec un ID d'une image. La page
Inclut le code HTML suivant:
<div>
Picture:<br/>
<div id="picture"></div>
</div>
Vous devez déplacer rélément d'images en bas de la page par cinq pixels. Quelles deux lignes de
code vous devriez utiliser ? (Chaque réponse correcte présente une partie de la solution. Choisissez
deux réponses.)
A. document.getElementById("picture").style.position "relative";
B. document.getElementById("picture").style.top="5px"
C. document.getElementById("picture").style.top-5px
D. document.getElementById("picture").style.position "absolute;
QUESTION 2
Une page de HTML ne contient aucun code Javascript incorporé ni aucun code CSS. Le corps de la
page contient seulement la ligne de code suivante. <p id="test">test</p> une feuille de style CSS
doit être appliquée dynamiquement. Le style doit visiblement changer l'apparence du paragraphe
dans la page.
Vous devez appliquer un style au paragraphe. Quelle ligne de code devriez-vous utiliser ?
A. document.getElementById("lest").style.border="0"
B. document.getElementById("test").style.position "static":
C. document.getElementByld ("test").style.padding="15px;
D. document.getElementById("test").style.top = "5px"
4/8
wadifa-info.com
نماذج المباريات من موقع وظيفة إنفو
✅ Correction proposée
Il s'agit d'une correction proposée, rédigée par l'équipe wadifa-info pour vous aider à comprendre la méthode — ce n'est pas un corrigé officiel de l'administration organisatrice.
Le concours de recrutement de techniciens en informatique (Techniques de développement informatique — ONEE Branche Électricité, niveau technicien spécialisé) est une épreuve mixte : une première partie de questions à choix multiples (QCM) notée sur 75 points et une seconde partie consistant en un sujet de rédaction noté sur 25 points. Durée : deux heures, coefficient 1, session du 29 octobre 2016. Voici une correction méthodologique proposée.
💡 Avant de commencer : le QCM technique est ici purement conceptuel (C#, ADO.NET, SQL Server, développement web) : chaque réponse se déduit de la règle, pas de la mémorisation. Lisez attentivement les conditions posées dans l'énoncé (des formules comme « ne doit pas lever d'exception » ou « sans prendre l'index hors connexion ») : ce sont elles qui déterminent la réponse. Ne laissez aucune question sans réponse, sauf si les erreurs sont pénalisées. Prévoyez environ 70 minutes pour le QCM et 45 minutes pour le sujet de rédaction.
Première partie — Langage C#
- Q1 (GetData visible uniquement par la classe Personne et ses classes dérivées) : réponse A. Protected. protected autorise l'accès depuis la classe et ses dérivées uniquement. On écarte private (même classe seulement), internal (même assembly) et public (tout le monde).
- Q2 (ReadFile : ne modifie pas le fichier, laisse d'autres processus y accéder, ne lève pas d'exception si le fichier est absent) : réponse B : File.Open(Filename, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite). OpenOrCreate évite l'exception en cas d'absence du fichier, FileAccess.Read empêche la modification et FileShare.ReadWrite autorise le partage.
- Q3 (convertir l'objet en IDataContainer sans lever d'exception) : réponse C : var dataContainer = obj as IDataContainer;. L'opérateur as renvoie null au lieu de lever une exception si la conversion échoue ; c'est pourquoi on teste ensuite if (dataContainer != null). On écarte le cast explicite (IDataContainer)obj, qui lève une InvalidCastException.
- Q4 (Employee hérite de Person ou implémente IPerson, et doit pouvoir être dérivée) : les deux réponses sont les options abstract class Employee : Person. Une classe abstract peut être héritée, alors que sealed interdit l'héritage : on l'écarte.
Première partie — ADO.NET
- Q1 (remplir un DataReader à partir du résultat d'une requête) : réponse A. ExecuteReader. ExecuteScalar renvoie une valeur unique, et ExecuteNonQuery sert aux commandes qui ne renvoient pas de lignes (INSERT/UPDATE/DELETE).
- Q2 (l'objet qui fonctionne uniquement en mode déconnecté) : réponse B. DataTable. C'est un conteneur de données en mémoire qui ne maintient aucune connexion. SqlConnection/SqlCommand sont connectés, et SqlDataAdapter fait le pont entre le mode connecté et le mode déconnecté : il n'est pas « uniquement » déconnecté.
Première partie — SQL Server
- Q1 (colonne calculée = somme de deux colonnes) : réponse A : ALTER TABLE Inventory ADD TotalItems AS ItemsInStore + ItemsInWarehouse. La syntaxe d'une colonne calculée est ADD nom_colonne AS expression. Il n'existe pas de fonction SUM « horizontale » sur les colonnes d'une même ligne.
- Q2 (réduire la fragmentation de l'index sans le mettre hors connexion) : réponse B : ALTER INDEX ... REORGANIZE. L'opération REORGANIZE s'effectue toujours online. REBUILD, en revanche, peut mettre l'index offline si l'option ONLINE=ON n'est pas activée (elle n'est pas disponible dans toutes les éditions).
- Q3 (rendre les données d'une vue persistantes sur disque pour améliorer les performances) : réponse C : créer un index clustered sur la vue (vue indexée). Le résultat de la vue est alors stocké physiquement. Les déclencheurs (triggers) ne le permettent pas.
- Q4 (renvoyer tous les clients, y compris ceux qui n'ont pas de commande) : réponse D : LEFT OUTER JOIN de Customers vers Orders, qui conserve toutes les lignes de la table de gauche.
- Q5 (clients situés dans des régions sans représentant commercial) : les deux solutions correctes sont A (NOT IN) et B (<> ALL), logiquement équivalentes. On écarte <> ANY et <> SOME, qui signifient « différent d'au moins une valeur » — condition vraie pour presque toutes les lignes, d'où un résultat faux.
- Q6 (stocker des prix avec une précision fixe et une échelle de six chiffres) : réponse C. Numeric (synonyme de Decimal), car il permet de fixer la precision et la scale. Money/Smallmoney ont quatre décimales fixes et Float est approximatif, donc imprécis.
Première partie — Développement web (HTML/JavaScript)
- Q1 (déplacer l'élément image de 5 pixels vers le bas — deux lignes) : réponses A et B : style.position = "relative" puis style.top = "5px". La propriété top est sans effet tant que l'élément n'est pas positionné (relative/absolute), et la valeur s'écrit sous forme de chaîne avec l'unité px.
- Q2 (modifier visiblement l'apparence du paragraphe) : réponse C : style.padding = "15px", qui produit un changement visible net. border = "0" n'affiche aucune bordure, top est sans effet sans positionnement, et position: static est la valeur par défaut.
💡 Règle d'or du QCM technique : lorsque l'énoncé pose une condition négative (« ne doit pas lever d'exception », « sans couper la connexion »), la réponse est la seule option qui respecte cette condition à la lettre ; procédez par élimination en partant de la condition la plus exigeante.
Deuxième partie — Sujet de rédaction (25 points)
L'énoncé du sujet de rédaction n'apparaît pas dans la partie scannée [illisible dans le document], mais les sujets de ce type portent généralement sur une question professionnelle d'informatique (sécurité des données, cycle de vie du développement logiciel, bases de données relationnelles…). La méthode attendue :
- Introduction : définir le sujet et poser la problématique dans une langue technique précise.
- Développement : deux axes équilibrés (par exemple : apports techniques vs risques/limites), illustrés d'exemples concrets tirés du milieu professionnel.
- Conclusion : synthèse, avec une recommandation ou une perspective d'évolution.
- Notation : cette partie est évaluée sur l'organisation, la précision terminologique et la clarté des exemples, et non sur la longueur du texte.
Vous préparez ce concours ?
Modèles similaires
Source : partagé par les candidats sur les forums