1. B – git init
2. D – git add
3. C – Pobiera i łączy zmiany ze zdalnego repozytorium.
4. B – Pokazuje stan repozytorium.
5. B – DECIMAL
6. B – PRIMARY KEY jest unikalny i NOT NULL.
7. C – Aktualizuje wszystkie rekordy.
8. C – ALTER TABLE ADD COLUMN
9. B – Usuwa powiązane rekordy podrzędne.
10. B – Zwraca pasujące rekordy z obu tabel.
11. C – WHERE zamowienia.id IS NULL
12. A – Kolumny nieobjęte funkcją agregującą muszą być w GROUP BY.
13. B – Wyłącza kontrolę typów dla danej wartości.
14. C – Wymaga sprawdzenia lub zawężenia typu.
15. B – Pending, Fulfilled, Rejected.
16. C – Uruchamia operacje równolegle i czeka na wszystkie.
17. A – private tylko w klasie, protected także w klasach dziedziczących.
18. B – Automatyczne tworzenie właściwości przez parametry konstruktora.
19. A – Nie można bezpośrednio utworzyć instancji klasy abstrakcyjnej.
20. B – Interface definiuje strukturę i kontrakt.
Zadanie 1 – MySQL
SELECT
klienci.imie,
klienci.nazwisko,
COUNT(zamowienia.id) AS ilosc_zamowien,
COALESCE(SUM(zamowienia.kwota), 0) AS suma_wydatkow
FROM klienci
LEFT JOIN zamowienia
ON klienci.id = zamowienia.klient_id
GROUP BY
klienci.id,
klienci.imie,
klienci.nazwisko
ORDER BY suma_wydatkow DESC;
Zadanie 2 – TypeScript
export class BankAccount {
constructor(
public readonly accountNumber: string,
private _balance: number = 0
) {}
get balance(): number {
return this._balance;
}
deposit(amount: number): void {
if (amount > 0) {
this._balance += amount;
}
}
withdraw(amount: number): boolean {
if (amount > 0 && this._balance >= amount) {
this._balance -= amount;
return true;
}
return false;
}
}⚠️Content was pasted as plain text and auto-formatted as a code block. Use the Code Block button in the editor for proper formatting.