Sunteți pe pagina 1din 6

ACADEMIA DE STUDII ECONOMICE Facultatea de Cibernetic, Statistic si Informatic Economic Catedra de Informatic Economic Master Informatic Economic

Subiecte de examen pentru disciplina Dezvoltarea Aplicaiilor Distribuite


GRILA 2
NOTA: Toate programele de Java din aceast gril au fost testate utiliznd compilatorul furnizat de Sun Microsystem, JDK 1.5.0. 1. In urma rulrii programului urmtor: package eu.ase; public class Certificate { private int uid; private String issuerName; public Certificate() { this.uid = 0; this.issuerName = null; } public Certificate(int uidp, String issuerNamep) { this.uid = uidp; this.issuerName = issuerNamep; } public void setUid(int c) { this.uid = c; } public void setIssuerName(String n) { this.issuerName = n; } public String toString() { return new String("\tUid = "+this.uid+" , Issuer ="+this.issuerName); } } //end class Certificate public class ProgMain { public static void main(String args[]) { Certificate a = new Certificate(234, "Ion"); Certificate b = new Certificate(355, "Vasile"); b = a; b.setUid(888); b.setIssuerName("WWW"); System.out.print("\n a="+a.toString()); System.out.print("\n b="+b.toString()); } } ce mesaje sunt afiate pe ecran? a. a= Uid = 888, Issuer = WWW si b=

Uid = 888, Issuer = WWW Uid = 888, Issuer = WWW Uid = 355, Issuer = WWW Uid = 888, Issuer = WWW

b. c. d.

a= a= a=

Uid = 234, Issuer = WWW si b= Uid = 234, Issuer = Ion Uid = 234, Issuer = Ion si b= si b=

2.

Se consider clasele

class Baza{ public int[] valori1; public Baza(){ System.out.println("Apel CBI"); valori1 = new int[5]; } public Baza(int n){ valori1 = new int[n]; System.out.println("Apel CB"); } } class Derivat extends Baza{ public int[] valori2; public Derivat(int n){ valori2 = new int[n]; System.out.println("Apel CD"); } } Execuia programului urmtor are ca efect public class subiect2{ public static void main(String args[]){ Baza b = new Baza(5); Derivat d = new Derivat(6); } } a. Se obin mesajele Apel CBI; Apel CB; Apel CD; b. Se obin mesajele Apel CB; Apel CBI; Apel CD; c. Se obin mesajele Apel CD; Apel CB; d. Se obin mesajele Apel CB; Apel CD;

3. Conceptul de polimorfism se implementeaza prin: a. Supraincarcare de functii si prin virtualizare b. Supraincarcare si derivare/mostenire de clase c. Supradefinire si virtualizare de functii d. Supraincarcare si supradefinire de functii

4.

Se considera programul

Raf.seek(argument) -> argument este byte-ul de la care incepe citirea. Va afisa 56. Argument = 0 -> afiseaza 10 Argument = 4 -> afiseaza 15 Arguemnt = 8 -> afiseaza 2 Argument = 12 -> afiseaza 56 public class subiect4{ public static void main(String args[]){ int sir_valori[] = {10,15,2,56,67,5}; try{ RandomAccessFile raf = new RandomAccessFile("test.dat", "rw"); for (int i = 0; i < sir_valori.length; i++) raf.writeInt(sir_valori[i]); raf.seek(12); System.out.println("Valoare gasita:" + raf.readInt()); raf.close(); } catch (IOException e){ System.out.println("Eroare acces fisier");

} } } Prin compilarea si executia programului se obtine: a. Se afiseaza valoarea 2; b. Se afiseaza valoarea 56; c. Se afiseaza valoarea 67; d. Se afiseaza valoarea 15; e. Niciuna din valorile de mai sus

5.

Stiind ca de la deplasament 0x43 in urmatoarea analiza de trafic de protocol SNMP (pentru gestiunea nodurilor de retea a unui sistem distribuit) incepe singurul obiect (identificabil prin OID) si stiind ca in ASN.1 DER tag-ul pentru definirea OID-urilor este 0x06:

Sa se precizeze daca OID-ul este: a. 1.3.6.1.2.1.1.3;

b. c. d.
e.

1.3.6.1.2.1.1.3.5; 1.3.6.1.2.1.1.3.5.0; 1.2.6.1.2.1.1.3; Niciuna din valorile de mai sus

Tag e 06 dupa care urmeaza 07 2b 06 01 02 01 01 03 05 00 Se iau in considerare 7 byte pt ca primul e 07 => 2b 06 01 02 01 01 03 Primul arat primele 2 numere 2b=2*16 +11= 43 = 40*1+3 =>1.3 . Resul se calculeaza normal => 1.3.6.1.2.1.1.3 (slide 99 100)

6) ce campuri se serializeaza: Non statice, non stransient, signatura metodelor Default serialization mechanism for an object writes the class of the object, the class signature, and the values of all non-transient and non-static fields http://download.oracle.com/javase/1.4.2/docs/api/java/io/ObjectOutputStream.html 7) Singleton = numele clasei, poate fi oricare

Clasa singleton: private singleton instance = null; private singleton() {} public singleton getinstance() { if (instance == null) instance = new singleton(); return instance; } Singleton s1 Este o singura instanta apare in curs 5

class ProgMain3 { //test clasa singleton public static void main(String[] args) { ClassicSingleton s1 = ClassicSingleton.getInstance(); ClassicSingleton s2 = ClassicSingleton.getInstance(); s1.setMembru(9); s2.setMembru(7); System.out.println("s1="+s1.getMembru()+" s2="+s2.getMembru()); Va afisa s1=7 s2=7
8) runnable state Un thread e runnable daca s a aplelat start si este obicet al unei clsee derivate din Thread sau care implementaeaza Runnable. Slide 66 9) stub skeleton ordinea operatiilor 7 operatii din slide 199 204 cred ca sunt alea sau 275 10) 131,136 FTP server poate sa trimita in active mode si pasive mode In active mode trimite PORT command cu argumetele IP si PORT The format for the IP and port is "h1,h2,h3,h4,p1,p2". Unde IP este trimis la fel si poartul este de forma x*256+y = port de trimis si trimite x si y care vor fi p1 si p2 The FTP client will be TCP server in port 5001 and the FTP server became TCP client from port 20 In pasive mode FTP server opens a dynamic port (4915265535) si trimite aceiasi parametrii encoded ca ma sus . To use passive mode, the client sends the PASV command to which the server would reply with something similar to "227 Entering Passive Mode (127,0,0,1,192,52)". The syntax of the IP address and port are the same as for the argument to the PORT command. HERE server port is 49204. In extended passive mode, the FTP server operates exactly the same as passive mode, however it only transmits the port number (not broken into high and low bytes) and the client is to assume that it connects to the same IP address that was originally connected to. Extended passive mode was added by RFC 2428 in September 1998. 11) pag 115 Base64. De transformat un cod din litere in cod Base64. Transformi in ASCI A= 65 si a=97 Dupa ce ai in hexa ce obtii transformi in binar, din binar pui 00 si un grup de 6 biti dupa iar 00 si iar 6 biti....dupa care transformi in hexa dupa in cod ascii si dupa in format binar64.... De ex de la FTP => 70 84 80 =>46 54 50=> ....RIRA

Mai sa stii k nu prea le mai stiu, dar incearca sa faci seminariile pt k de acolo o sa dea...si din cursu ala mare... Stiu k o fost grile din:

o intrebare din definitia polimorfismului


4

Polimorfismul abilitatea de a lua mai multe forme se asigura prin: _ Supra-incarcare metodelor unei clase _ methods overloading _ Varianta pura: _ Mecanism de mostenire/derivare extends is the key word _ Metodelor virtuale in Java by default _ Supradefinirea metodelor virtuale _ Utilizarea obiectelor de tip pointer/referinta in Java by default Interfata contract intre clasa care implementeaza interfata si programatorul in calitate de utilizator al interfetei poate contine: Doar campuri statice Doar prototip de metode statice si non-statice In implementare se utilizeaza cuvant cheie implements Se pot declara obiecte de tip interfata dar nu si instantia

una din clase abstracte Clasa abstracta o clasa care are cel putin o metoda abstracta poate contine: Macar o metoda abstracta cuvant cheie abstract Poate contine metode statice si non-statice Se pot declara DAR NU se pot instantia obiecte dintr-o clasa abstracta *ATENTIE la: Obiecte si vectori de obiecte + null pointer exception

din generics - era ceva cu un cast la string...nu mai stiu daca din object faci interger si dupa din ala iar obiectul din noul object nu mai poti face altceva decat iar integer ca nu da eroarea la compilare dar da la rulare. una din clonare b=a se copiaza referinta tre sa faci b=a.clone una din clase singleton am dat exemolu mai sus una din threaduri - din sincronizare parca, sa stii seminarul cu threaduri k de acolo da sa stii iteratori si parcurgerea colectiei cu iteratori k o sa fie o intrebare si din aia - vezi k e in seminarul 4 sau 5 parca o iteratie cu mere, pe aia o da enumetation merge doar pe Vector si HashTable in rest doar Iterator

parca mai era una cu IO din fisiere, cu BufferedReader si PrintWriter nu stiu exact la ce se poate referi

neaparat sa cauti care campuri se salveaza si se restaureaza in procesul de serializare(parca non-statice, non-transiente,si prototipul metodelor, dar sa CAUTI PE NET!!) rasp mai sus o intrebare din ASN1-OID, tre sa stii cum e encodat OID
5

rasp mai sus o intrebare din cookies, vezi seminarul lui cu cookie ION, sa stii diferenta intre post si get, iti da un request header si tu tb sa iti dai seama k e un cookie slide 147 una din JRMI, sa stii care e stub si care skeleton si ordinea operatiilor rasp mai sus din CORBA, chestia k permite comunicarea intre platforme diferite una din web services - din exemplul ala din seminar - cu metodele alea doua una din wsdl slide 224 cred cum arata un wsdl

S-ar putea să vă placă și