Sunteți pe pagina 1din 50

Programare si proiectare orientata obiect

MULTIPLE CHOICE

1. Un program scris în Java poate rula pe orice platforma deoarece:


a. Limbajul Java e derivat din C++
b. Compilatorul este identic cu cel de C++
c. Masina virtuala interpreteaza programul si translateaza apelurile sistem
d. Api-ul este portabil

2. Un program scris în Java se va compila cu comanda:


a. javac Test c. javac Test.java
b. java Test.java d. javac Test.class

3. Un program scris în Java se va lansa cu comanda:


a. javac Test.java c. java Test.java
b. java Test d. java Test.class

4. Ce este un Applet?
a. Un tip de calculator
b. Un program care ruleaza direct pe orice calculator
c. Un sit web interactiv
d. Un program care ruleaza în contextul unui browser

5. Un applet va rula în orice browser deoarece


a. Serverul are o masina virtuala incorporata
b. Browserul are o masina virtuala incorporata
c. Browserul interpreteaza direct codul sursa
d. Appleturile nu au nevoie de o masina virtuala

6. Care este scopul metodei statice main ?


a. Sa creeze o interfata cu utilizatorul
b. Actioneaza ca un punct de intrare în program
c. Creaza ferestrele si butoanele aplicatiei
d. Actioneaza ca o poarta spe sistemul de operare

7. O clasa Applet furnizeaza:


a. Un browser care să ruleze apletul
b. Metode care definesc aspectul si comportamentul apletului
c. A pagina HTML speciala
d. Permisiunile de a comunica cu serverul

1
8. Ce metoda apeleaza browserul pe un applet nou incarcat?
a. Main c. Paint
b. Start d. Init

9. Care este rolul declaratiilor import?


a. Permite referirea claselor fara utilizarea de prefixe
b. Elimina necesitatea declararii variabilelor
c. Permite importul imaginilor folosite
d. Elimina apelurile directe a functiilor fara clase

10. In cazul implementarii unei interfete trebuie să definim in mod obligatoriu :


a. Doua metode ale interfetei c. Orice metoda a interfetei
b. Numai anumite metode ale interfetei d. Toate metodele interfetei

11. Aplicatiile Java ruleaza pe urmatorul sistem de operare:


a. Windows c. UNIX
b. Linux d. Toate cele trei

12. Urmatorul cod sursa Java se află într-un fişier. Cum se numeste fişierul?
class Foo {
public static void println() { System.out.println("Foo"); }
}

public class FooDemo {


public static void main(String[] argv) {
System.out.println("FooDemo");
Foo.println();
}
}
a. Foo.java c. FooDemo.java
b. Foo.class d. FooDemo.class

13. Daca bo este boolean, număr este int, sir este string atunci care din următoarele linii este incorecta?
a. If(bo) c. If(numar<=1)
b. If(numar<0) d. If(sir==”Java”)

2
14. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:
int a = 1, b = -2;
a = a + b;
b = a – b;
a = a – b;
a. a=1, b=2 c. a=2, b=-3
b. a=0, b=1 d. a=-2, b=1

15. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:


int a = -1, b = 2;
a += b;
b = a- b;
a -= b;
a. a=-1, b=2 c. a=-2, b= 1
b. a=2, b=-1 d. a=-2, b=-1

16. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:

int a = 1, b = -2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
a. a=-2, b=1 c. a=-1, b=1
b. a=2, b=-2 d. a=1, b=-2

17. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:

int a = -1, b = 2;
a ^= b;
b = a ^ b;
a ^= b;
a. a= -1, b=2 c. a=2, b=-1
b. a= 1, b=-2 d. a=-2, b=1

18. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:

int a = -1, b = 2;
a = (a > b ? a : b);
b = (a < b ? a : b);
a. a= 2, b=-1 c. a=1, b=2
b. a= -1, b= 2 d. a= 2, b= 2

3
19. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:

int a = 1, b = 2;
if (a < b ) a = b;
if (a < b) b = a;
a. a= 1, b=1 c. a=2, b=2
b. a= 1, b= 2 d. a= 2, b= 1

20. Clasa BorderLayout contine campuri statice pentru:


a. Adaugarea unor componente in anumite zone ale containerul
b. Introducerea unor metode noi
c. Specificarea culorii si a fontului
d. Afisarea ferestrei unui applet

21. Constructorul are foloseste la:


a. Eliberarea memoriei c. Initializeaza masina virtuala
b. Importa pachete d. Initializeaza noile obiecte create

22. System.out.println este


a. O variabila c. Un obiect
b. O clasa d. O metoda

23. Ce valori poate lua o variabila de tip boolean?


a. 1 c. “true”
b. 0 d. false

24. Ce valori nu poate lua o variabila de tip boolean?


a. 1 c. true
b. a==b (a şi b sunt variabile de tip int) d. false

25. Ce valori nu poate lua o variabila de tip boolean?


a. a=b (a şi b sunt variabile de tip c. false
boolean)
b. true d. 0

26. Ce valori nu poate lua o variabila de tip boolean?


a. a=b (a şi b sunt variabile de tip int)
b. true
c. false
d. false==x (x este o variabila de tip boolean)

4
27. Ce valori nu poate lua o variabila de tip boolean?
a. a=b (a şi b sunt variabile de tip boolean)
b. a==b (a şi b sunt variabile de tip int)
c. “true”
d. false==x (x este o variabila de tip boolean)

28. Care din următoarele tipuri de date poate retine valori de la -32.768 la 32.767 ?
a. char c. byte
b. short d. int

29. Ce valoare va avea variabila x dupa executarea operaŃiilor?


int x = 0;
x = (5*4) % 7;
x = x / 5;
a. 6 c. 1
b. 1.2 d. 0

30. Ce valoare va avea variabila numar la finalul buclei?


int numar = 1;
for (int x = 0; x < 4; x++)
{
numar = numar << 1;
}
a. 1 c. 16
b. 4 d. 32

31. Ce valoare va avea variabila numar la finalul buclei?


int numar = -1;
for (int x = 0; x < 4; x++)
{
numar = numar << 1;
}
a. 0 c. 16
b. -4 d. -16

32. Un vector se instanŃiază astfel?


a. int vector[100]; c. float [] numere={1.1, 1.2};
b. String [100]sir; d. byte [] buffer;

33. Un vector se instanŃiază astfel?


a. int vector[100]; c. float [] numere;
b. String [100]sir; d. byte [] buffer = new byte[100];

5
34. Ce efect are următoarea secvenŃade cod?
char a[] = {’a’, ’b’, ’c’};
char [] b = new char[3];
a=b;
a. b se va copia în a
b. a se va copia în b
c. a şi b se referă la aceiaşi zona de memorie
d. se va genera o excepŃie

35. Ce efect are următoarea secvenŃă de cod?


char a[] = {’a’, ’b’, ’c’};
String b = new String(data);
if(a==b)
System.out.println(“egale”);
else
System.out.println(“inegale”);
a. Se afisează egale c. Eroare la compilare
b. Se afişează inegale d. Se va genera excepŃie la rulare

36. Ce efect va avea intrucŃiunea următoare?


System.out.println("The answer is: "+17+3);
a. Programul nu se compileaza c. Se va afisa: The answer is 173
b. Se va afisa: The answer is 20 d. Se va genera o excepŃie

37. Care este efectul liniilor de cod urmatoare?


if("String".toString() == "String")
System.out.println("Equal");
else
System.out.println("Not Equal");
a. Programul nu se compileaza c. Afiseaza Not Equal
b. Afiseaza Equal d. Genereaza o excepŃie

38. O clasa care implementeaza interfata urmatoare …


public interface AQuestion
{
public abstract void someMethod() throws Exception;
}
a. Va fi in mod necesar o clasa abstracta
b. Ar trebui sa defineasca metoda public abstract void someMethod();
c. Ar trebui să defineasca o metoda public void someMethod() care va emite exceptii
d. Ar trebui să defineasca o metoda public void someMethod() care nu va emite exceptii

6
39. O clasă care implementează interfaŃa următoare va implementa în mod obligatoriu
public interface AQuestion
{
void someMethod();
}
a. o metoda public void someMethod();
b. o metoda void someMethod();
c. o metoda public void someMethod(); care obligatoriu va emite exceptii
d. o metoda public abstract void someMethod();

40. Care din liniile din codul de mai jos prezintă o problemă de încapsulare ?
1. class BadCode {
2. int num;
3. public int getNum() {
4. return num;
5. }
6. public void setNum(int num) {
7. this.num = num;
8. }
9. ...
10. }
a. Linia 1 c. Linia 4
b. Linia 2 d. Linia 7

41. Care din liniile următoare va genera o excepŃie ?


1. class BadCode {
2. private Foo foo;
3. public BadCode (Foo f) {
4. foo = f;
5. }
6. public BadCode() {}
7. protected void useFoo() {
8. int num = foo.num;
9. String name = foo.name;
10. ....
11. }
12. ....
13. }
a. Linia 2 c. Linia 6
b. Linia 4 d. Linia 8

7
42. Dorim să implementam o clasă total protejată şi care să nu mai fie extensibilă, care din liniile
urmatoare ar trebui modificata?
1. class Test {
2. private int key = 1234;
3. //...
4. protected void setKey(int privateKey) {
5. this.key = privateKey;
6. }
7. protected int getKey() {
8. return this.key;
9. }
10. //...
11. }
a. Linia 1 c. Linia 4
b. Linia 2 d. Linia 8

43. Functia Clone() are ca scop:


class Test {
private int key = 1234;
//...
public Test () {}
public Test (int k) { this.key = k; }
protected int getKey(){return this.key; }
public final Object clone() throws java.lang.CloneNotSupportedException {
throw new java.lang.CloneNotSupportedException();
}
//...
}
a. definirea unei clase clonabile
b. definirea unei clase extensibile
c. definirea unei clase care nu poate fi extinsa
d. clasa si orice derivare a acesteia va fi neclonabila

44. Pentru a bloca serializarea unei clase trebuie sa:


a. Definim clasa ca fiind finala c. Definim o metoda readObject
b. Definim clasa ca fiind statica d. Definim o metoda writeObject

45. Codul sursa urmator ne spune ca:


public boolean match(Object o) {
return this.getName() == ((SomeClass)o).getName();
}
a. obiectele sunt identice c. obiectele fac parte din aceiasi clasa
b. obiectele sunt egale d. nici una

8
46. Pentru a defini un camp care sa stocheze informatii sensibile (conturi, nr. de card) se va folosi:
a. String c. Char array
b. StringBuffer d. Char

47. Ce efect va produce urmatorul program Java?


public class Test
{
public void method(Object o)
{
System.out.println("Object Version");
}
public void method(String s)
{
System.out.println("String Version");
}
public static void main(String args[])
{
Test t = new Test();
t.method(null);
}
}
a. Programul nu se compileaza
b. Se compileaza dar produce o exceptie la rulare
c. Afiseaza “Object Version”
d. Afiseaza “String Version”

9
50. Ce efect are urmatorul program Java?
public class Test{
public static void main(String args[]){
System.out.println("Before Try");
try{ }
catch(IOException t){ System.out.println("Inside Catch"); }
System.out.println("At the End");
}
}
a. Nu se complieaza: nici un obiect IOException nu a fost emis in blocul try
b. Nu se compileaza: nu pot fi prinse obiecte IOException, ci numai Exception
c. Afiseaza “Before try” si “At the End”
d. Afiseaza “Before try” , “Inside Catch” si “At the End”

51. Care din urmatoarele afirmatii este adevarata?


a. O metoda statica nu poate returna un obicet Exception
b. O metoda statica nu poate emite un obiect Exception
c. O metoda statica nu poate returna o variabila statica a clasei
d. O metoda statica nu poate returna o variabila nestatica a clasei

11
52. Cum se va comporta urmatorul program?
public class A
{
private void method1() throws Exception
{
throw new RuntimeException();
}
public void method2()
{
try
{
method1();
}
catch(RuntimeException e)
{
System.out.println("Caught Runtime Exception");
}
catch(Exception e)
{
System.out.println("Caught Exception");
}
}
public static void main(String args[])
{
A a = new A();
a.method2();
}
}
a. Programul nu se compileaza c. Afiseaza “Caught Runtime Exception”
b. Afiseaza “Caught Exception” d. Afiseaza ambele mesaje

12
53. Cum se va comporta urmatorul program?
class Base
{
public void aMethod() throws ClassNotFoundException
{
}
}
public class Derived extends Base
{
public void aMethod() throws RuntimeException
{
}
}
a. Programul nu se compileaza deoarece RuntimeException nu este derivata din
RuntimeException
b. Se lanseaza o exceptie ClassNotFoundException la compilare
c. Se lanseaza o exceptie RuntimeException la rulare
d. Se compileaza corect

13
54. Cititi cu atentie urmatorul co sursa:
import java.awt.*;
public class TestFrame extends Frame
{
Button bNorth = new Button("North");
Button bSouth = new Button("South");
Button bEast = new Button("East");
Button bWest = new Button("West");
Button bCenter = new Button("Center");
public TestFrame()
{
setLayout(new BorderLayout());
add(bSouth,BorderLayout.SOUTH);
add(bWest,BorderLayout.WEST);
add(bEast,BorderLayout.EAST);
add(bNorth,BorderLayout.NORTH);
add(bCenter);
setLayout(new FlowLayout());
validate();
pack();
setVisible(true);
}
public static void main(String args[])
{
TestFrame tf = new TestFrame();
}
}
a. Programul nu se compileaza
b. Se compileaza si afiseaza butoanele pe o singura linie
c. Se compileaza dar genereaza o exceptie
d. Se compileaza si afiseaza butoanele sub forma de grid

55. O clasa care are totii constructorii privati :


a. Trebuie declarata clasa finala c. Poate fi mostenita
b. Poate fi instantiata d. Nu poate fi mostenita

14
56. Urmariti cu atentie codul urmator:
public class NiceThreads implements Runnable
{
public void run()
{
while(true) { }
}
public static void main(String args[])
{
NiceThreads nt1 = new NiceThreads();
NiceThreads nt2 = new NiceThreads();
NiceThreads nt3 = new NiceThreads();
nt1.run();
nt2.run();
nt3.run();
}
}
a. Programul se compileaza si lanseaza trei fire care vor rula la infinit
b. Programul se compileaza si se lanseaza un singur fir
c. Programul nu se compileaza
d. Se compileaza dar genereaza o exceptie la rulare

57. Pentru a preveni executarea unei metode simultan de către mai multe fire de execuŃie folosim:
a. public c. native
b. final d. syncronized

58. Pentru a excuta o procedura în mod atomic delarăm metoda ca fiind:


a. syncronized c. final
b. public d. native

59. Managerul de aşezare implicit pentru o fereastră este:


a. LayoutManager c. BorderLayout
b. null d. FlowLayout

60. Managerul de aşezare implicit pentru un panel este:


a. BorderLayout c. null
b. GridLayout d. FlowLayout

61. Constructorul clasei de bază se apelează prin intermediul cuvântului cheie:


a. this c. super
b. base d. interface

15
62. În Java o clasa poate extinde
a. cel mult o interfaŃă c. oricâte clase
b. cel mult o clasă d. oricâte interfeŃe

63. În Java o interfaŃă poate extinde


a. cel mult o interfaŃă c. oricâte clase
b. cel mult o clasă d. oricâte interfeŃe

64. În Java o clasa poate implementa cel mult


a. o clasă c. oricâte clase
b. o interfaŃă d. oricâte interfeŃe

65. Pentru a bloca utilizarea directa a unei clase aceasta se va declara folosind specificatorul:
a. abstract c. protected
b. final d. private

66. Pentru a bloca derivarea unei clase aceasta se va declara folosind specificatorul:
a. abstract c. protected
b. final d. private

67. Clasa Menu este derivata din:


a. MenuComponent c. PopupMenu
b. MenuItem d. MenuBar

68. Lansarea unei excepŃii se face cu ajutorul cuvântului cheie:


a. throws c. catch
b. throw d. try

69. Prinderea unei excepŃii se face cu ajutorul cuvântului cheie:


a. throws c. catch
b. throw d. try

70. Ce cuvânt nu face parte din limbaj:


a. volatile c. dispose
b. transient d. native

71. Ce cuvânt nu face parte din limbaj:


a. const c. final
b. bool d. finally

16
72. Ce cuvânt nu face parte din limbaj:
a. const c. break
b. continue d. delete

73. Ce cuvânt nu face parte din limbaj:


a. short c. awt
b. long d. do

74. Ce cuvânt nu face parte din limbaj:


a. class c. interface
b. struct d. enum

75. Ce cuvânt nu face parte din cuvintele cheie ale limbajului:


a. int c. goto
b. true d. enum

76. Ce cuvânt nu face parte din cuvintele cheie ale limbajului:


a. class c. null
b. const d. boolean

77. Ce cuvânt cheie al limbajului nu este folosit:


a. strictfp c. instanceof
b. const d. transient

78. Ce afişează următorul program:


public class Main {
int x=0;
int f() { return x+1; }
public static void main(String[] args) {
System.out.println("x este " + f());
}
}
a. x este 0 c. Eroare la compilare
b. x este 1 d. Exceptie la rulare

17
79. Ce afişează următorul program:
public class Main {
int x=0;
static int f() { return x+1; }
public static void main(String[] args) {
System.out.println("x este " + f());
}
}
a. Eroare la compilare c. x este 0
b. Exceptie la rulare d. x este 1

80. Ce afişează următorul program:


public class Main {
static int x=0;
static int f() { return x--; }
public static void main(String[] args) {
System.out.println("x este " + f() + " acum este "+ f() );
}
}
a. Eroare la compilare c. x este 0 acum este 0
b. Exceptie la rulare d. x este 0 acum este -1

81. Ce afişează următorul program:


public class Main {
static int x=0;
static int f() { return ++x; }
public static void main(String[] args) {
System.out.println("x este " + f() + " acum este "+f());
}
}
a. x este 0 acum este 1 c. x este 0 acum este 1
b. x este 1 acum este 2 d. x este 0 acum este -1

82. Ce afişează următorul program:


public class Main {
static int x=0;
static int f() { return (++x)*(x--); }
public static void main(String[] args) {
System.out.println("x este " + f() + " acum este "+f());
}
}
a. x este 0 acum este 0 c. x este 1 acum este 2
b. x este 1 acum este 1 d. x este 2 acum este 4

18
83. Ce afişează următorul program:
class Element{
public Element(){ System.out.print(" Element "); }
}
class Carte extends Element{
public Carte(){ System.out.print(" Carte "); }
}
class Revista extends Carte{
public Revista(){ System.out.print(" Revista "); }
}
public class Main {
public static void main(String[] args) { Element revista = new Revista(); }
}
a. Element c. Element Carte Revista
b. Revista d. Revista Carte Element

84. Ce afişează următorul program:


interface Element{
public void Print();
}
class Carte implements Element{
public void Print(){ System.out.print(" Carte "); }
}
class Revista implements Element{
public void Print(){ System.out.print(" Revista "); }
}
class Biblioteca extends ArrayList<Element>{
public void Print (){
Iterator<Element> it = iterator() ;
while(it.hasNext()){ it.next().Print(); }
}
}
public class Main {
public static void main(String[] args) {
Biblioteca b = new Biblioteca();
b.add(new Carte());
b.add(new Revista());
b.Print();
}
}
a. Nu afiseaza nimic
b. Nu se compileaza, eroare la compilare
c. Se compileaza dar lanseaza exceptie la rulare
d. Carte Revista

19
85. Ce afişează următorul program:
interface Element{
public void Print();
}
class Carte implements Element{
public void Print(){ System.out.print(" Carte "); }
}
class Revista implements Element{
public void Print(){ System.out.print(" Revista "); }
}
class Biblioteca extends ArrayList<Element> implements Element{
public void Print (){
Iterator<Element> it = iterator() ;
while(it.hasNext()){ it.next().Print(); }
}
}
public class Main {
public static void main(String[] args) {
Biblioteca b = new Biblioteca();
b.add(new Carte());
b.add(new Revista());
b.add(b); b.Print();
}
}
a. Nu afiseaza nimic
b. Nu se compileaza, eroare la compilare
c. Se compileaza dar lanseaza exceptie la rulare
d. Carte Revista Carte Revista

20
86. Ce afişează următorul program:
interface Element{
public void Print();
}
class Carte implements Element{
public void Print(){ System.out.print(" Carte "); }
}
class Revista implements Element{
public void Print(){ System.out.print(" Revista "); }
}
class Biblioteca extends ArrayList<Element> implements Element{
public void Print (){
Iterator<Element> it = iterator() ;
while(it.hasNext()){ it.next().Print(); }
System.out.println();
}
}
public class Main {
public static void main(String[] args) {
Biblioteca b1 = new Biblioteca();
Biblioteca b2 = new Biblioteca();
b2.add(b1); b1.add(b2);
b1.Print();
}
}
a. Nu afiseaza nimic
b. Se compileaza dar lanseaza exceptie la rulare
c. Carte Revista Carte Revista
d. Nu se compileaza, eroare la compilare

87. Cititi cu atentie urmatorul cod sursa:


class Memory{ }
public class Main {
public static void main(String[] args) {
while(true){ Memory m = new Memory(); }
}
}
a. Programul se compileaza dar se blocheaza
b. Se compileaza, consuma toata memoria şi se opreste
c. Se compileaza si ruleaza la infinit deoarece nu se aloca nimic
d. Se compileaza si ruleaza la infinit deoarece nu se poate consuma toata memoria

21
88. Cititi cu atentie urmatorul cod sursa:
class Memory{
int [ ] matrice;
public Memory(){ matrice = new int[100]; }
}
public class Main {
public static void main(String[] args) {
while(true){ Memory m = new Memory(); }
}
}
a. Ruleaza la infinit deoarece memoria se eliberează automat
b. Programul se compileaza dar se blocheaza
c. Consuma toata memoria şi se opreşte
d. Ruleaza dar emite o exceptie

89. Cititi cu atentie urmatorul cod sursa:


class Memory implements Serializable{
int [] matrice;
public Memory(){ matrice = new int[100]; }
}
a. Clasa Memory extinde clasa Serializable
b. Clasa Memory moşteneste clasa Object
c. Clasa Memory implementează interfaŃa Object
d. Clasa Memory implementează clasa Serializable

90. În corpul unui constructor se poate apela un alt constructor?


a. Doar constructorul clasei de bază prin intermediul cuvântului super
b. Doar un constructor al clasei derivate prin intermediul cuvântului super
c. Un constructor cu alŃi parametri
d. Un constructor cu aceiaşi parametri

91. Obiectul curent se poate transmite ca parametru prin intermediul cuvântului:


a. super c. class
b. this d. object

92. În prezenŃa firelor de execuŃie multiple incrementarea atomică a unei variabile partajate se obŃine
prin intermediul specificatorului:
a. X++ c. synchronized
b. final d. static

22
93. În prezenŃa firelor de execuŃie multiple decrementarea atomică a unei variabile partajate se obŃine
prin intermediul specificatorului:
a. const c. x--
b. synchronized d. thread

94. Un fir de execuŃie se obŃine prin extinderea clasei:


a. Runnable c. Object
b. Thread d. Frame

95. Un fir de execuŃie se obŃine prin implementarea interfeŃei:


a. Runnable c. Object
b. Thread d. Serializable

96. Un fir de execuŃie se porneste prin apelarea directa a metodei:


a. run c. start
b. new d. init

97. Un fir de execuŃie se porneste prin apelarea directa a metodei:


a. run c. start
b. new d. init

98. Urmatorul specificator are efect doar în prezenta firelor de execuŃie:


a. run c. start
b. synchronized d. static

99. O clasă care implementează interfaŃa Runnable în mod obligatoriu trebuie:


a. să fie publică c. să fie declarată synchronized
b. să implementeze metoda run d. să fie declarată ca fiind abstractă

100. O interfaŃă care extinde interfaŃa Runnable în mod obligatoriu trebuie:


a. să fie publică c. să implementeze metoda run
b. să fie declarată synchronized d. nici una

101. Codul următor nu se compilează, lipseşte specificatorul:


class NewThread implements Runnable{ }
a. public c. abstract
b. private d. run

23
102. Diagrama UML următoare reprezintă

a. O diagramă de caz c. O diagramă de secvenŃă


b. O diagramă de clase d. O diagramă de obiecte

103. Care din diagramele UML următoare reprezintă interacŃiunea actorilor asupra sistemui modelat:
a. O diagramă de clase c. O digramă de caz
b. O diagramă de secvenŃă d. O diagramă de obiecte

104. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de secvenŃă


b. O diagramă de caz d. O diagramă de obiecte

24
105. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de caz


b. O diagramă de secvenŃă d. O diagramă de obiecte

106. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de caz


b. O diagramă de secvenŃă d. O diagramă de obiecte

107. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de colaborare


b. O diagramă de secvenŃă d. O diagramă de obiecte

25
108. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de comunicare


b. O diagramă de stări d. O diagramă de obiecte

109. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de comunicare


b. O diagramă de stări d. O diagramă de obiecte

110. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de activităŃi


b. O diagramă de stare d. O diagramă de obiecte

26
111. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de activităŃi


b. O diagramă de stare d. O diagramă de obiecte

112. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de activităŃi


b. O diagramă de stare d. O diagramă de colaborare

27
113. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de activităŃi


b. O diagramă de stare d. O diagramă de colaborare

114. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de activităŃi


b. O diagramă de stare d. O diagramă de colaborare

28
115. Diagrama UML următoare reprezintă

a. O diagramă de clase c. O diagramă de activităŃi


b. O diagramă de stare d. O diagramă de colaborare

116. Diagrama UML următoare reprezintă

a. RelaŃia de asociere c. RelaŃia de generalizare


b. RelaŃia de dependenŃă d. RelaŃia de agregare

29
117. Diagrama UML următoare reprezintă

a. RelaŃia de asociere c. RelaŃia de generalizare


b. RelaŃia de implementare/realizare d. RelaŃia de agregare

118. Fiecare student are un profesor coordonator, fiecare profesor poate coordona oricâŃi studenŃi,
inclusiv niciunul. Care din diagramele de mai jos reflectă în mod corect situaŃia descrisă?

a. c.

b. d.

30
120. Diagrama UML următoare reprezintă

a. Diagrama de clase şi relaŃia agregare c. RelaŃia de generalizare


b. RelaŃia de implementare d. Diagrama de clase şi relaŃia de asociere

121. Diagrama UML următoare reprezintă

a. Diagrama de componente c. RelaŃia de generalizare


b. RelaŃia de implementare d. Diagrama de clase şi relaŃia de asociere

122. Diagrama UML următoare reprezintă

a. Diagrama de componente şi relaŃia de asociere


b. RelaŃia de implementare
c. RelaŃia de generalizare
d. Diagrama de clase şi relaŃia de inglobare

31
123. Diagrama UML următoare reprezintă

a. Diagrama de componente şi relaŃia de asociere


b. Diagrama de clase şi relaŃia de implementare
c. Diagrama de clase şi relaŃia de asociere
d. Diagrama de clase şi relaŃia de înglobare

124. Diagrama UML următoare reprezintă

a. Diagrama de componente şi relaŃia de asociere


b. Diagrama de clase şi relaŃia de implementare
c. Diagrama de clase şi relaŃia de asociere
d. Diagrama de clase şi relaŃia de înglobare

32
125. Diagrama UML următoare reprezintă

a. Diagrama de componente şi relaŃia de asociere


b. Diagrama de clase şi relaŃia de asociere
c. Diagrama de clase şi relaŃia de comunicare
d. Diagrama de desfăşurare şi relaŃia de asociere

126. Diagrama UML următoare reprezintă

a. Diagrama de componente şi relaŃia de asociere


b. Diagrama de clase şi relaŃia de asociere
c. Diagrama de clase şi relaŃia de comunicare
d. Diagrama de desfăşurare şi relaŃia de asociere

33
127. Diagrama UML următoare reprezintă

a. Diagrama de caz c. Diagrama de stari


b. Diagrama de activităŃi d. Diagrama de secventa

34
128. Diagrama UML următoare reprezintă

a. Diagrama de caz c. Diagrama de stari


b. Diagrama de activităŃi d. Diagrama de secventa

129. Diagrama UML următoare reprezintă

a. Diagrama de caz c. Diagrama de stari


b. Diagrama de activităŃi d. Diagrama de secventa

35
130. Diagrama UML următoare reprezintă

a. Diagrama de caz c. Diagrama de stări


b. Diagrama de activităŃi d. Diagrama de secventă

131. Obiectul A din diagrama de secvenŃă trimite mai multe mesaje obiectului B numite msg:

a. c.

b. d.

132. Cum arată simbolul unei componente într-o diagramă de desfăşurare?


a. Diagrama de desfăşurare nu poate conŃine componente
b. Un dreptunghi rotunjit ca în diagrama de stări
c. Un box 3D
d. Un dreptunghi cu o etichetă în partea stângă superioară

133. Trei elemente principale apar în diagrama de caz:


a. Obiecte, activităŃi şi comunicaŃii c. Obiecte, cazuri de utilizare şi activităŃi
b. Actori, mesaje şi activităŃi d. Actori, cazuri de utilizare şi comunicaŃii

36
134. Care din următoarele afirmaŃii este corectă?
a. Clasele din diagrama de clase pot fi grupate în pachete
b. Daca pachetul A depinde de pachetul atunci orice schimbare în B obligă la schimbări în A
c. Diagrama de clase şi diagrama de obiecte sunt complet interschimbabile
d. Diagrama de stări şi diagrama de activităŃi sunt complet interschimbabile

135. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Visitor c. State
b. Observer d. Strategy

136. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Visitor c. State
b. Proxy d. State

37
137. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Visitor c. Bridge
b. Decorator d. State

138. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Visitor c. Strategy
b. Composite d. Bridge

38
139. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Composite c. Flyweight
b. Proxy d. Bridge

140. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Prototype c. Observer
b. Interpreter d. Iterator

39
141. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Decorator c. Observer
b. Prototype d. Proxy

142. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Prototype c. Bridge
b. Adapter d. Chain of responsability

40
143. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Facade c. Adapter
b. Prototype d. Decorator

144. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Bridge c. Adapter
b. Proxy d. Decorator

41
145. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Proxy c. Adapter
b. Mediator d. Decorator

146. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Builder c. Command
b. Mediator d. Facade

42
147. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Composite c. State
b. Memento d. Visitor

148. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Iterator c. Observer
b. Compozite d. Visitor

43
149. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Adapter c. Facade
b. Proxy d. Mediator

150. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Decorator c. Observer
b. Proxy d. Template Method

44
151. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Bridge c. Proxy
b. Template Method d. Decorator

45
152. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Visitor c. Observer
b. Iterator d. Interpreter

46
153. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Bridge c. Factory Method


b. Facade d. Decorator

47
154. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Bridge c. Facade
b. Prototype d. Decorator

48
155. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Bridge c. Decorator
b. Facade d. Abstract Factory

49
156. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Factory Method c. Bridge


b. Builder d. Decorator

157. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Bridge c. Singleton
b. Facade d. Decorator

158. Ce sablon de proiectare nu este un sablon creational ?


a. Builder c. Decorator
b. Prototype d. Abstract Factory

50