Sari la conținut
GrileANP.ro
Ofițeri de specialitate · 2025

Subiectul oficial – Ofițer tehnologia informației – concursul pentru 4 posturi (ANP București, Penitenciarul Iași, ULACPP), centrul de concurs ULACPP, 2025, varianta 1

Subiecte cu răspuns deschis

Proba scrisă pentru postul de ofițer tehnologia informației (Unitatea de Logistică și Achiziții Centralizate a Poliției Penitenciare (unitate organizatoare pentru posturile de la Administrația Națională a Penitenciarelor, Penitenciarul Iași și ULACPP)): 38 subiecte cu răspuns deschis (9 puncte + 1 din oficiu), transcrise din baremul publicat, cu răspunsul așteptat din barem. Barem definitiv de evaluare și notare, după soluționarea contestațiilor, afișat la 01.08.2025; timp de lucru 3 ore; subiectul 1 – 35 de grile cu un singur răspuns corect (0,20 puncte fiecare, 7 puncte); subiectul 2 – 3 cerințe (2 puncte); se acordă 1 punct din oficiu.

Structura testului

Subiecte cu răspuns deschis
38
Punctaj
9 + 1 din oficiu
Timp de lucru
180 de minute
Nota minimă
7

Subiectele sunt în ordinea din testul original. Baremul oficial, cu răspunsul așteptat pentru fiecare subiect, îl vezi în aplicație, la studiu.

Subiectele

  1. Subiectul 1.1 · 0,2 puncte

    Care dintre următoarele este o instrucțiune validă T-SQL?

    a) GET * FROM Employees
    b) SELECT ALL FROM Employees
    c) SELECT * FROM Employees
    d) FETCH * FROM Employees

  2. Subiectul 1.2 · 0,2 puncte

    Pentru a combina două tabele și a obține toate combinațiile posibile între ele, ce tip de JOIN se folosește?

    a) INNER JOIN
    b) LEFT JOIN
    c) FULL JOIN
    d) CROSS JOIN

  3. Subiectul 1.3 · 0,2 puncte

    Ce clauză se folosește pentru a sorta rezultatele în ordine descrescătoare?

    a) ORDER BY DESC
    b) SORT BY DESC
    c) ORDER WITH DESCENDING
    d) GROUP BY DESC

  4. Subiectul 1.4 · 0,2 puncte

    Care funcție returnează numărul total de rânduri dintr-un tabel?

    a) SUM()
    b) COUNT()
    c) TOTAL()
    d) ROWCOUNT()

  5. Subiectul 1.5 · 0,2 puncte

    Care clauză este necesară pentru a agrega date pe categorii?

    a) AGGREGATE BY
    b) ORDER BY
    c) GROUP BY
    d) ORDER WITH

  6. Subiectul 1.6 · 0,2 puncte

    Ce instrucțiune T-SQL marchează începutul unei tranzacții?

    a) BEGIN TRAN
    b) BEGIN WITH TRAN
    c) INIT TRANSACTION
    d) START TRAN

  7. Subiectul 1.7 · 0,2 puncte

    Care variantă returnează numărul total de comenzi pentru fiecare client?

    a) SELECT ClientId, SUM(OrderId) FROM Orders
    b) SELECT ClientId, TOTAL(*) GROUP BY ClientId
    c) SELECT ClientId, SUM(OrderId) FROM Orders GROUP BY ClientId
    d) SELECT ClientId, COUNT(OrderId) FROM Orders GROUP BY ClientId

  8. Subiectul 1.8 · 0,2 puncte

    Ce rezultat produce interogarea SELECT 1 INTERSECT SELECT 1 UNION SELECT 2?

    a) 1, 2
    b) 1
    c) 1, 1, 2
    d) 1 și 2 în ordine aleatoare

  9. Subiectul 1.9 · 0,2 puncte

    Ce afirmație este corectă despre procedurile stocate?

    a) Pot fi apelate doar din aplicații externe
    b) Nu pot include tranzacții
    c) Pot accepta parametri de intrare și ieșire
    d) Pot accepta doar parametri de intrare

  10. Subiectul 1.10 · 0,2 puncte

    Ce efect are un ROLLBACK într-o tranzacție?

    a) Confirmă toate modificările
    b) Revine la punctul de salvare sau anulează întreaga tranzacție
    c) Salvează starea curentă a bazei de date
    d) Închide conexiunea la server

  11. Subiectul 1.11 · 0,2 puncte

    Ce returnează funcția ISNULL(column, 0)?

    a) Întotdeauna valoarea 0
    b) Elimină toate valorile nule din column
    c) Aruncă eroare dacă există NULL
    d) Înlocuiește valoarea NULL din column cu 0

  12. Subiectul 1.12 · 0,2 puncte

    Care este comanda corectă pentru a executa o procedură stocată cu parametri?

    a) EXEC ProcedureName(Param1, Param2)
    b) CALL ProcedureName Param1, Param2
    c) RUN ProcedureName WITH Param1, Param2
    d) START ProcedureName USING Param1, Param2

  13. Subiectul 1.13 · 0,2 puncte

    Ce se va afișa la rularea următorului script T-SQL?

    IF NULL < 100  
        PRINT 'OK'  
    ELSE  
        PRINT 'Not OK'  
    

    a) Se afișează OK
    b) Se afișează Not OK
    c) Nu se afișează nimic
    d) Se generează o eroare de execuție

  14. Subiectul 1.14 · 0,2 puncte

    Ce rezultat are următorul script?

    DECLARE @a INT = 5;  
    DECLARE @b INT = 2;  
    PRINT @a / @b;  
    

    a) 2.5
    b) 2
    c) 3
    d) 2.00

  15. Subiectul 1.15 · 0,2 puncte

    Ce clasă este folosită pentru a stabili conexiunea la o bază de date SQL Server în ADO.NET?

    a) SqlDataReader
    b) SqlCommand
    c) SqlConnection
    d) SqlDbConnection

  16. Subiectul 1.16 · 0,2 puncte

    Ce rol are metoda Page_Load într-o aplicație ASP.NET Web Forms?

    a) Rulează cod JavaScript
    b) Se execută o singură dată, la prima încărcare
    c) Se execută de 3 ori la prima încărcare
    d) Se execută la fiecare încărcare/postback a paginii

  17. Subiectul 1.17 · 0,2 puncte

    Cum adaugi un buton într-o pagină ASP.NET care execută cod C# pe server?

    a) <input type="button">
    b) <asp:button runat="server" />
    c) <asp:button ExecuteOn="server" />
    d) <asp:button RunOnServer="True" />

  18. Subiectul 1.18 · 0,2 puncte

    În C#, ce operator este folosit pentru tratarea valorilor nule și oferirea unei valori de rezervă (fallback)?

    a) ??
    b) ::
    c) &&
    d) //

  19. Subiectul 1.19 · 0,2 puncte

    Cum se definește o constantă în C#?

    a) let pi = 3.14;
    b) final double pi = 3.14
    c) const double pi = 3.14
    d) static double pi = 3.14;

  20. Subiectul 1.20 · 0,2 puncte

    Ce rol are fișierul web.config într-o aplicație ASP.NET?

    a) Stochează codul C# compilat
    b) Definește structura paginilor
    c) Conține setări de configurare ale aplicației
    d) Gestionează fișierele statice

  21. Subiectul 1.21 · 0,2 puncte

    Ce instrucțiune C# oprește imediat executarea unei bucle foreach?

    a) exit
    b) continue
    c) stop
    d) break

  22. Subiectul 1.22 · 0,2 puncte

    Care dintre următoarele variante de cod C# realizează corect interschimbarea valorilor dintre două variabile întregi a și b, fără a folosi o a treia variabilă?

    a) a = b; b = a;
    b) a = a + b; b = a - b; a = a - b;
    c) b = b - a; a = b + a;
    d) a = a * b; b = b / a; a = a / b;

  23. Subiectul 1.23 · 0,2 puncte

    Ce afișează codul de mai jos?

    int x = 1;  
    int y = x++ + ++x + x;  
    Console.WriteLine(y);  
    

    a) 4
    b) 5
    c) 6
    d) 7

  24. Subiectul 1.24 · 0,2 puncte

    Ce afișează codul de mai jos?

    int n = 0;  
    while (n < 5 || n == 7)  
    {  
        Console.Write(n);  
        n += 2;  
    }  
    

    a) 0 2 4 6
    b) 0 2 4
    c) 0 2 4 6 8
    d) Buclă infinită

  25. Subiectul 1.25 · 0,2 puncte

    Ce afișează codul de mai jos?

    static int F(int n)  
    {  
        if (n == 0) return 0;  
        if (n % 2 == 0) return F(n - 1) + 1;  
        return F(n - 1) * 2;  
    }  
    Console.WriteLine(F(4));  
    

    a) 3
    b) 4
    c) 6
    d) 8

  26. Subiectul 1.26 · 0,2 puncte

    Ce afișează codul de mai jos?

    bool a = false;  
    bool b = true;  
    Console.WriteLine(a && (10 / 0 == 0) || b);  
    

    a) True
    b) False
    c) Eroare execuție
    d) Depinde

  27. Subiectul 1.27 · 0,2 puncte

    Ce afișează codul de mai jos?

    int[] v = {1, 2, 3, 4, 5};  
    int s = 0;  
    for (int i = 0; i < v.Length; i += 2)  
        s += v[i];  
    Console.WriteLine(s);  
    

    a) 6
    b) 9
    c) 12
    d) 15

  28. Subiectul 1.28 · 0,2 puncte

    Ce afișează codul de mai jos?

    string s1 = "test";  
    string s2 = "te" + "st";  
    Console.WriteLine(object.ReferenceEquals(s1, s2));  
    

    a) True
    b) False
    c) Depinde
    d) Eroare

  29. Subiectul 1.29 · 0,2 puncte

    Ce afișează codul de mai jos?

    object a = 5;  
    object b = 5;  
    Console.WriteLine(a == b);  
    

    a) True
    b) False
    c) Eroare
    d) 1

  30. Subiectul 1.30 · 0,2 puncte

    Ce afișează codul de mai jos?

    int[] v = {1, 2, 3};  
    foreach (var x in v)  
        x++;  
    Console.WriteLine(v[0]);  
    

    a) 1
    b) 2
    c) 3
    d) Eroare

  31. Subiectul 1.31 · 0,2 puncte

    Ce afișează codul de mai jos?

    int F(string name, int value)  
    {  
        Console.Write(name);  
        return value;  
    }
    
    int result = F("A", 1) + F("B", 2) * F("C", 3);  
    Console.WriteLine(result);  
    

    a) ABC7
    b) ACB7
    c) BAC7
    d) CAB7

  32. Subiectul 1.32 · 0,2 puncte

    Ce afișează codul de mai jos?

    int F(int n)  
    {  
        if (n <= 1) return 1;  
        return n * F(n - 1);  
    }  
    Console.WriteLine(F(4));  
    

    a) 6
    b) 12
    c) 24
    d) 120

  33. Subiectul 1.33 · 0,2 puncte

    Ce cuvânt cheie este folosit pentru a defini o constantă în C#?

    a) var
    b) const
    c) readonly
    d) static

  34. Subiectul 1.34 · 0,2 puncte

    Ce cuvânt cheie este folosit pentru a defini o interfață în C#?

    a) class
    b) interface
    c) abstract
    d) contract

  35. Subiectul 1.35 · 0,2 puncte

    Potrivit HG nr. 585/2002, modurile de operare în care vor fi certificate și acreditate să opereze SPAD și RTD – SIC care stochează, procesează sau transmit informații clasificate sunt:

    a) secret de stat sau secret de serviciu
    b) dedicat, de nivel înalt, multinivel
    c) clasificat sau neclasificat
    d) secret, strict secret, strict secret de importanță deosebită

  36. Subiectul 2.1 · 0,6 puncte

    Cunoscând Legea nr. 145/2019, art. 141, enunțați sancțiunile disciplinare care pot fi aplicate polițiștilor de penitenciare.

  37. Subiectul 2.2 · 0,6 puncte

    Cunoscând Legea nr. 145/2019, art. 120, enunțați ceea ce le este interzis ofițerilor și agenților din sistemul administrației penitenciare.

  38. Subiectul 2.3 · 0,8 puncte

    Codul următor încearcă să sorteze un șir de numere în C#. Are o greșeală logică. Identificați eroarea și corectați codul.

    int[] arr = { 5, 2, 4, 1 };  
    bool ok = true;
    
    while (ok)  
    {  
        for (int i = 0; i < arr.Length - 1; i++)  
        {  
            if (arr[i] > arr[i + 1])  
            {  
                // schimbăm elementele  
                int temp = arr[i];  
                arr[i] = arr[i + 1];  
                arr[i + 1] = temp;
    
                ok = true; // am făcut un schimb  
            }  
        }  
    }  
    

    Enunț reconstituit din barem: baremul publică doar codul corectat.

Documente și rezultate

Sursă: Barem de evaluare și notare – proba scrisă, Unitatea de Logistică și Achiziții Centralizate a Poliției Penitenciare (unitate organizatoare pentru posturile de la Administrația Națională a Penitenciarelor, Penitenciarul Iași și ULACPP) · Unitatea de Logistică și Achiziții Centralizate a Poliției Penitenciare (unitate organizatoare pentru posturile de la Administrația Națională a Penitenciarelor, Penitenciarul Iași și ULACPP)
Verificat: 5 noiembrie 2026

Publicat pe platformă: 5 noiembrie 2026

Începe pregătirea chiar azi

Rezolvă grile pe capitole, repetă greșelile și urmărește-ți progresul până în ziua examenului.