[ start | index | login or register ]
jug > test

test

Created by test. Last edited by valerio_hf, 5 years and 29 days ago. Viewed 1,332 times. #13
[diff] [history] [edit] [rdf]
labels
attachments

Domande

Le risposte sono in fondo alla pagina

1. Quale delle seguenti affermazioni sugli array è vera?

  1. Un array può contenere solo primitivi
  2. Un array può contenere tipi primitivi ed oggetti
  3. Gli array non possono essere iterati con il nuovo ciclo for (java 5)
  4. Gli array non possono contenere riferimenti ad oggetti

2. Che cosa è esattamente la signature di un metodo?

  1. Il nome del metodo
  2. Il nome del metodo, più la lista dei parametri
  3. Il nome del metodo, più la lista dei parametri, più il tipo di ritorno
  4. Il nome del metodo, più la lista dei parametri, più le eccezioni sollevate
  5. Il nome del metodo, più la lista dei parametri, più il tipo di ritorno, più le eccezioni sollevate

3.Quale delle seguenti affermazioni riguardanti i costruttori è vera

  1. I costruttori sono metodi
  2. I costruttori sono metodi statici
  3. Una classe eredita anche i costruttori dalla sua superclasse
  4. I costruttori possono essere overloaded

4.Il codice che segue è corretto?

interface Bar {
  void doIt();
}

public class Foo { public Bar getBar() { return new Bar() { public void doIt() { System.out.println("Hello, World"); } }; } }

  1. No, perché è possibile avere delle 'inner class' ma non delle 'inner interface'
  2. No, perché non si possono istanziare direttamente delle interfacce, ma solo oggetti appartenenti ad una classe che le implementi
  3. No, ma lo sarebbe se il metodo doIt() fosse final
  4. Si

5.Quale è l'output del seguente codice?

public class LiteralStrings {
  public static void main(String[] args) {
    String a = "Test";
    String b = "Test";
    a.toUpperCase();
    if (a==b){
      System.out.println("Equal");
    }
    else {
      System.out.println("Not Equal");
    }
  }
}
  1. Non compila
  2. Equal
  3. Not Equal

6.I costruttori possono essere synchronized?

  1. No
  2. Si
  3. Solo i 'no-args constructor'
  4. Solo i costruttori di classi che non siano nested

7.Il codice nel riquadro è corretto?

1  public class Foo {
2    public synchronized void doThis() {}
3  }

4 public class FooBar extends Foo { 5 public synchronized void doThis() { 6 System.out.println(this + “calling doThis”); 7 super.doThis(); 8 } 9 }

  1. Si, perchè i lock sono rientranti
  2. No, c'è un deadlock alla riga 7
  3. No, c'è un deadlock alla riga 2
  4. Si, ma solo per Java 5 in cui è stato revisionato il Memory Model

8.Cos'è un ThreadLocal?

  1. Un oggetto che raggruppa diversi thread
  2. Un oggetto che implementa la tecnica del Thread Confinement, ossia dell'associazione di particolari dati a particolari thread: in alcune situazioni permette di evitare la sincronizzazione esplicita
  3. Una classe helper per gestire thread
  4. Un oggetto che permette il passaggio di valori fra thread

9.Il codice nel riquadro rappresenta un buon esempio di incapsulamento?

public class Foo {

public Bar getIt() { return bar; }

public void putIt(Bar bar) { this.bar = bar; }

private Bar bar = new Bar(); }

  1. Si
  2. No
  3. Dipende da come è implementata la classe Bar

10.Il codice nel riquadro è corretto?

1 public class Foo {

2 protected String toString() { 3 return super.toString(); 4 }

5 }

  1. Si
  2. No, errore a runtime
  3. No, poiché la riga 2 non compila
  4. No, poiché la riga 3 non compila

11.Quale delle seguenti affermazioni è vera?

  1. Il tipo di ritorno di un metodo può essere covariante (per JDK >= 1.5)
  2. Il tipo di ritorno di un metodo può essere controvariante (per JDK >= 1.5)
  3. Le eccezioni sollevate da un metodo sono controvarianti

12.E' possibile ottenere dei “memory leaks” in Java?

  1. Non più, poiché la revisione del Memory Model effettuata con Java 5 lo impedisce
  2. No, per via della Garbage Collection
  3. Si, ma solo con alcuni particolari algoritmi di Garbage Collection
  4. Si, tutti i linguaggi dotati di Garbage Collection possono comunque soffrire del problema degli “unintentional object references”

13.Il codice nel riquadro è corretto?

public class Indecisa {
    public static void main(String[] args) {
        System.out.println(decisione());
    }

static boolean decisione() { try { return true; } finally { return false; } } }

  1. No, non compila
  2. No, errore a runtime
  3. Si, stampa truefalse
  4. Si, stampa true
  5. Si, stampa false

14.Il codice nel riquadro è corretto?

import java.io.IOException;
public class TestJug {
    public static void main(String[] args) {
        try {
            System.out.println("Ciao, JUG Roma!");
        } catch (IOException e) {
            System.out.println("Ma le println falliscono!?!?!?!");
        }
    }
}
  1. No, non compila
  2. No, errore a runtime
  3. Si, stampa ambedue le stringhe
  4. Si, stampa “Ciao, JUG Roma!”

15.Qual'è l'output del seguente codice?

class Counter {
    private static int count;
    public static void increment() { count++; }
    public static int getCount()   { return count; }
}

class Dog extends Counter { public Dog() { } public void bau() { increment(); } }

class Cat extends Counter { public Cat() { } public void miao() { increment(); } }

public class Test { public static void main(String[] args) {

Dog dogs[] = { new Dog(), new Dog() }; for (Dog d: dogs) { d.bau(); } Cat cats[] = { new Cat(), new Cat(), new Cat() }; for (Cat c: cats) { c.miao(); } System.out.print(Dog.getCount() + " Bau e "); System.out.println(Cat.getCount() + " Miao"); } }

  1. 5 Bau e 5 Miao
  2. 2 Bau e 3 Miao
  3. 3 Bau e 2 Miao
  4. 10 Bau e 10 Miao
  5. Non compila

16.Qual'è l'output del seguente codice?

1 class Base {
2    public String className = "Base";
3 }

4 class Derivata extends Base { 5 private String className = "Derivata"; 6 }

7 public class QuestioniPrivate { 8 public static void main(String[] args) { 9 System.out.println(new Derivata().className); } }

  1. Errore di compilazione alla riga 9
  2. Errore di compilazione alla riga 5
  3. Stampa “Base”
  4. Stampa “Derivata”
  5. Errore a runtime

17.Qual'è l'output del seguente codice?

public class Multicast {
    public static void main(String[] args) {
        System.out.println((int) (char) (byte) -1);
    }
}
  1. -1
  2. 65535
  3. 255
  4. 1

18.Qual'è il problema di questa Servlet?

public class Fattorizzatore implements Servlet {
    private long count = 0;

public long getCount() { return count; }

public void service(ServletRequest req, ServletResponse resp) { BigInteger i = extractFromRequest(req); BigInteger[] factors = factor(i); ++count; encodeIntoResponse(resp, factors); }

}

  1. Nessuno, la manderei subito in produzione!
  2. Bisognava fare l'override di doGet() o doPost() e non di service()
  3. Non è thread-safe
  4. E' impossibile fattorizzare un numero primo
  5. Fattorizzare un numero è operazione troppo dispendiosa, si rischia un TCP timeout

19.Qual'è il possibile output di questo codice?

public class Infame {
    static int x = 0, y = 0;
    static int a = 0, b = 0;

public static void main(String[] args) throws InterruptedException {

Thread uno = new Thread(new Runnable() { public void run() { a = 1; x = b; } });

Thread due = new Thread(new Runnable() { public void run() { b = 1; y = a; } });

uno.start(); due.start(); uno.join(); due.join(); System.out.println("( "+ x + "," + y + ")"); } }

  1. (1,0) oppure (0,1)
  2. (1,0) oppure (0,1) oppure (1,1)
  3. (1,0) oppure (0,1) oppure (1,1) oppure (0,0)
  4. Non compila
  5. Nessun output, non termina mai

20.Qual'è il problema di questo codice?

public class MioThread extends Thread {
    private boolean hofatto;

public void fermati() { hofatto = true; }

public void run() { while (!hofatto) { // fai qualcosa… } }

}

  1. Nessuno, anzi è il modo corretto di fermare un Thread poiché stop() è stato deprecato ormai dalla 1.0
  2. Potrebbe non fermarsi mai, nessuno assicura che che il ciclo veda il valore di 'hofatto'
  3. Nessuno, ma nella classe Thread c'è già implementato il metodo stop() per cui è inutile

21.I due metodi nell'esempio sono fra loro sincronizzati?

public class Esempio {

public synchronized static void metodo1() { //… }

public synchronized void metodo2() { //… } }

  1. No, perchè il primo usa il lock dell'istanza, il secondo il lock dell'oggetto Esempio.class
  2. Si
  3. No, i metodi statici non possono essere sincronizzati perchè non hanno il this
  4. Si, ma è una cattiva pratica perchè i metodi statici usano uno qualsiasi dei lock delle istanze create

22.Quale delle seguenti affermazioni è vera?

  1. Le asserzioni sono un meccanismo sostitutivo per gestire le eccezioni, presente da java 1.4
  2. Le asserzioni sono utili per testare gli invarianti (condizioni che devono essere vere)
  3. Le asserzioni sono una novità di Java 5

23.Quale delle seguenti affermazioni è vera?

  1. I deadlock in Java non sono possibili perchè la gestione è in time-slicing
  2. La gestione dei Thread è dipendendente dalla piattaforma
  3. Per usare i Thread è obbligatoria la classe java.util.Thread

24.Quale delle seguenti affermazioni su HashMap è vera?

  1. Non permette chiavi nulle
  2. Non permette valori nulli
  3. Registra informazioni come coppie (chiave, valore)
  4. Gli elementi sono tornati nello stesso rodine in cui sono inseriti

25.Quale delle seguenti istruzioni assicura l'esecuzione del Garbage Collector?

  1. System.gc()
  2. Object.gc()
  3. Runtime.gc()
  4. System.free()
  5. Nessuna

26.Quale delle seguenti affermazioni su hashCode() ed equals() è vera?

  1. hashCode() deve restituire lo stesso valore di equals()
  2. se due oggetti hanno lo stesso hashCode(), equals() deve restituire true
  3. se per due oggetti equals()==true, allora devono avere lo stesso hashCode
  4. hashCode() ed equals() non hanno nessuna relazione

27.Come è possibile evitare la serializzazione di alcuni campi di un oggetto?

  1. Tramite la parola chiave synchronized
  2. Tramite la parola chiave volatile</risposta>
  3. Tramite la parola chiave transient
  4. Non è possibile


Risposte

Domanda 1 • La risposta esatta è la n. 2

Domanda 2 • La risposta esatta è la n. 2

Domanda 3 • La risposta esatta è la n. 4

Domanda 4 • La risposta esatta è la n. 4

Domanda 5 • La risposta esatta è la n. 2

Domanda 6 • La risposta esatta è la n. 1

Domanda 7 • La risposta esatta è la n. 1

Domanda 8 • La risposta esatta è la n. 2

Domanda 9 • La risposta esatta è la n. 2

Domanda 10 • La risposta esatta è la n. 3

Domanda 11 • La risposta esatta è la n. 1

Domanda 12 • La risposta esatta è la n. 4

Domanda 13 • La risposta esatta è la n. 5

Domanda 14 • La risposta esatta è la n. 1

Domanda 15 • La risposta esatta è la n. 1

Domanda 16 • La risposta esatta è la n. 1

Domanda 17 • La risposta esatta è la n. 2

Domanda 18 • La risposta esatta è la n. 3

Domanda 19 • La risposta esatta è la n. 3

Domanda 20 • La risposta esatta è la n. 2

Domanda 21 • La risposta esatta è la n. 1

Domanda 22 • La risposta esatta è la n. 2

Domanda 23 • La risposta esatta è la n. 2

Domanda 24 • La risposta esatta è la n. 3

Domanda 25 • La risposta esatta è la n. 5

Domanda 26 • La risposta esatta è la n. 3

Domanda 27 • La risposta esatta è la n. 3

Please login to post a comment.
Cerca nel Wiki:

Twitter JugRona

Main Menu:
>>Home
>>Chi Siamo
>>Modalità d'iscrizione
>>Gruppo di discussione/Mailing list
>>Eventi
  >>Proposte Talk
  >>Talk Settimanali
  >>Archivio Eventi
  >>Sedi
>>Sconti SUN Educational
>>Sconti metodiagili.it
>>Lista Jug Italiani
>>Annunci Lavoro
>>Weblinks
>>Contatti


>>Menu/snipsnap-portlet-1
>>Help

Sottoscrivi il calendario del JUG!

Campagna Anti-IF

Logged in Users: (1)
… and 2 Guests.

< February 2012 >
SunMonTueWedThuFriSat
1234
567891011
12131415161718
19202122232425
26272829

Statistiche:
Utenti registrati: 922
Numero snip: 1052

Snipsnap.org

www.k-tech.it

XHTML 1.0 validated
CSS validated
RSS 2.0 validated
RSS Feed

jugroma.it | Copyright 2005-2006 - Java User Group Roma