50 najpopularniejszych pytań i odpowiedzi podczas rozmów kwalifikacyjnych z Oracle (2024 r.)
Pytania do rozmowy kwalifikacyjnej Oracle SQL dla nowicjuszy i doświadczonych
Przygotowanie się do rozmów kwalifikacyjnych w Oracle może wydawać się przytłaczające, niezależnie od tego, czy jesteś nowicjuszem, czy doświadczonym profesjonalistą. Ten przewodnik po pytaniach i odpowiedziach na rozmowy kwalifikacyjne w Oracle zapewnia niezbędną wiedzę i podstawowe koncepcje potrzebne do odniesienia sukcesu. Od podstawowych pytań na rozmowy kwalifikacyjne w Oracle po bardziej zaawansowane tematy, naszym celem jest wsparcie Twojej podróży. Zanurz się, aby wyostrzyć swoje umiejętności i zwiększyć pewność siebie przed nadchodzącą rozmową kwalifikacyjną. Znajdziesz cenne spostrzeżenia zarówno dla kandydatów początkujących, jak i doświadczonych.
Pytania na rozmowie kwalifikacyjnej w Oracle dla osób rozpoczynających pracę
1) Różnica między typami danych varchar i varchar2?
Varchar może przechowywać do 2000 bajtów, a varchar2 może przechowywać do 4000 bajtów. Varchar zajmie miejsce dla wartości NULL, a Varchar2 nie zajmie żadnego miejsca. Obydwa różnią się przestrzenią.Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych Oracle
2) W jakim języku opracowano Oracle?
Oracle został opracowany przy użyciu języka C.3) Co to jest typ danych RAW?
Typ danych RAW służy do przechowywania wartości w formacie danych binarnych. Maksymalny rozmiar pliku surowego w tabeli wynosi 32767 bajtów.4) Jakie jest zastosowanie funkcji NVL?
Funkcja NVL służy do zastępowania wartości NULL inną lub daną wartością. Przykładem jest – NVL(Wartość, zamień wartość)5) Czy do obliczania miesięcy używane są jakieś polecenia? Jeśli tak, jakie one są?
W Oracle funkcja months_between jest używana do znalezienia liczby miesięcy między podanymi datami. Przykładem jest – Months_between(Date 1, Date 2)6) Co to są tabele zagnieżdżone?
Tabela zagnieżdżona to typ danych w Oracle używany do obsługi kolumn zawierających atrybuty wielowartościowe. Zawiera również całą podtabelę.7) Co to jest funkcja COALESCE?
Funkcja COALESCE służy do zwracania wartości, która na liście jest ustawiona na różną od null. Jeśli wszystkie wartości na liście mają wartość null, funkcja łączenia zwróci wartość NULL.Coalesce(value1, value2,value3,…)
8) Co to jest typ danych BLOB?
Typ danych BLOB to ciąg binarny o różnej długości, który służy do przechowywania pamięci o pojemności dwóch gigabajtów. Długość należy określić w bajtach dla obiektu BLOB.9) Jak reprezentujemy komentarze w Oracle?
Komentarze w Oracle można reprezentować na dwa sposoby –- Dwa myślniki(–) przed początkiem linii – Pojedyncza instrukcja
- /*—— */ służy do reprezentowania tego jako komentarzy do bloku instrukcji
10) Co to jest DML?
Język manipulacji danymi (DML) służy do uzyskiwania dostępu do danych w istniejących obiektach i manipulowania nimi. Instrukcje DML służą do wstawiania, wybierania, aktualizowania i usuwania i nie powodują niejawnego zatwierdzenia bieżącej transakcji.Pytania na rozmowie kwalifikacyjnej dotyczące Oracle SQL dla doświadczonych
11) Jaka jest różnica między TRANSLATE i REPLACE?
Translate służy do zastępowania znaku po znaku, a Zamień służy do zastępowania pojedynczego znaku słowem.12) Jak wyświetlić wiersze z tabeli bez duplikatów?
Zduplikowane wiersze można usunąć, używając słowa kluczowego DISTINCT w instrukcji Select.13) Jakie jest zastosowanie instrukcji scalania?
Instrukcja scalania służy do wybierania wierszy z jednego lub większej liczby źródeł danych w celu aktualizacji i wstawienia do tabeli lub widoku. Służy do łączenia wielu operacji.14) Jaka jest wartość NULL w Oracle?
Wartość NULL reprezentuje brakujące lub nieznane dane. Jest używany jako symbol zastępczy lub jest reprezentowany jako wpis domyślny, aby wskazać, że nie ma żadnych rzeczywistych danych.15) Co to jest klauzula USING i podaj przykład?
Klauzula USING jest używana do określenia kolumny, która ma zostać przetestowana pod kątem równości w przypadku łączenia dwóch tabel. [sql]Wybierz * z employee join wynagrodzenie używając identyfikatora pracownika[/sql] Tabele pracowników łączą się z tabelami wynagrodzeń za pomocą identyfikatora pracownika.16) Co to jest kluczowy stół?
Tabela jest tabelą z zachowaniem klucza, jeśli każdy klucz tabeli może być również kluczem wyniku złączenia. Gwarantuje zwrócenie tylko jednej kopii każdego wiersza z tabeli podstawowej.17) Co to jest OPCJA SPRAWDZANIA?
Klauzula opcji WITH CHECK określa poziom kontroli, jaki należy wykonać w instrukcjach DML. Służy do zapobiegania zmianom widoku, które generowałyby wyniki nieuwzględnione w zapytaniu podrzędnym.18) Jakie jest zastosowanie funkcji agregujących w Oracle?
Funkcja agregująca to funkcja, w której wartości z wielu wierszy lub rekordów są łączone w celu uzyskania pojedynczej wartości wyjściowej. Typowe funkcje agregujące to -- Średni
- Liczyć
- Suma
19) Co rozumiesz przez klauzulę GROUP BY?
Klauzuli GROUP BY można użyć w instrukcji Select, która zbiera dane z wielu rekordów i grupuje wyniki według jednej lub większej liczby kolumn.20) Co to jest zapytanie podrzędne i jakie są jego rodzaje?
Podzapytanie jest również nazywane zagnieżdżonym zapytaniem lub wewnętrznym zapytaniem, które służy do pobierania danych z wielu tabel. Podzapytanie jest dodawane w klauzuli where głównego zapytania. Istnieją dwa różne typy podzapytań:- Skorelowane zapytanie podrzędne
- Podzapytanie nieskorelowane
Pytania na rozmowie kwalifikacyjnej na stanowisko inżyniera mechanika zaawansowanego dla doświadczonych
21) Co to jest łączenie krzyżowe?
Łączenie krzyżowe definiuje się jako iloczyn kartezjański rekordów z tabel występujących w połączeniu. Łączenie krzyżowe da wynik, który łączy każdy wiersz z pierwszej tabeli z każdym wierszem z drugiej tabeli.22) Jakie są tymczasowe typy danych w Oracle?
Oracle udostępnia następujące tymczasowe typy danych:- Typ danych daty — różne formaty dat
- Typ danych TimeStamp — różne formaty znacznika czasu
- Typ danych interwałowych — odstęp między datami i godzinami
23) Jak tworzymy uprawnienia w Oracle?
Przywilej to nic innego jak prawo do wykonania jakiegoś zadania SQL zapytanie lub uzyskać dostęp do innego obiektu użytkownika. Uprawnienie może być nadane jako uprawnienie systemowe lub uprawnienie użytkownika.[sql]GRANT user1 TO user2 WITH MANAGER OPTION;[/sql]
24) Co to jest VArray?
VArray to typ danych Oracle używany do kolumn zawierających atrybuty wielowartościowe i może przechowywać ograniczoną tablicę wartości.25) Jak uzyskać szczegółowe informacje o polach tabeli?
Opisać służy do uzyskania szczegółów pól określonej tabeli.26) Jaka jest różnica między zmianą nazwy a aliasem?
Zmień nazwę to stała nazwa nadana tabeli lub kolumnie, natomiast Alias to tymczasowa nazwa nadana tabeli lub kolumnie. Zmiana nazwy to nic innego jak zastąpienie nazwy, a Alias to alternatywna nazwa tabeli lub kolumny.27) Czym jest widok?
Widok to tabela logiczna oparta na jednej lub większej liczbie tabel lub widoków. Tabele, na których opiera się widok, nazywane są tabelami podstawowymi i nie zawierają danych.28) Co to jest zmienna kursora?
Zmienna kursora jest powiązana z różnymi instrukcjami, które w czasie wykonywania mogą przechowywać różne wartości. Zmienna kursora jest rodzajem typu referencyjnego.29) Jakie są atrybuty kursora?
Każdy kursor w Oracle ma zestaw atrybutów, które umożliwiają aplikacji przetestowanie stanu kursora. Atrybutów można używać do sprawdzania, czy kursor jest otwarty, czy zamknięty, znaleziony czy nie, a także do sprawdzenia liczby wierszy.30) Czym są operatory SET?
Operatory SET są używane z dwoma lub większą liczbą zapytań, a tymi operatorami są Union, Union All, Intersect i Minus.Pytania na rozmowie kwalifikacyjnej w Oracle dla osób z 5-letnim doświadczeniem
31) Jak możemy usunąć zduplikowane wiersze w tabeli?
Zduplikowane wiersze w tabeli można usunąć za pomocą ROWID.32) Jakie są atrybuty Kursora?
Atrybuty kursora to- %UZNANY
- %NIE ZNALEZIONO
- %JEST OTWARTE
- % ROWCOUNT
33) Czy w bazie danych można przechowywać zdjęcia i jeśli tak to w jaki sposób?
Tak, możemy przechowywać zdjęcia w bazie danych według typu Long Raw Data. Ten typ danych służy do przechowywania danych binarnych o długości 2 gigabajtów. Ale tabela może mieć tylko typ danych Long Raw.34) Co to jest ograniczenie integralności?
Ograniczenie integralności to deklaracja zdefiniowana jako reguła biznesowa dla kolumny tabeli. Ograniczenia integralności służą do zapewnienia dokładności i spójności danych w bazie danych. Istnieją typy – integralność domeny, integralność referencyjna i integralność domeny.35) Co to jest ALERT?
Alert to okno pojawiające się na środku ekranu, zakrywające część bieżącego ekranu.36) Co to jest klaster mieszający?
Hash Cluster to technika używana do przechowywania tabeli w celu szybszego wyszukiwania. Zastosuj wartość skrótu w tabeli, aby pobrać wiersze z tabeli.37) Jakie są różne ograniczenia stosowane w Oracle?
Poniżej przedstawiono stosowane ograniczenia:- NULL – wskazuje, że dana kolumna może zawierać wartości NULL
- NOT NULL – wskazuje, że dana kolumna nie może zawierać wartości NULL
- SPRAWDŹ – Sprawdź, czy wartości w danej kolumnie spełniają określone kryteria
- DOMYŚLNE – wskazuje, że wartość jest przypisana do wartości domyślnej
38) Jaka jest różnica między SUBSTR i INSTR?
SUBSTR zwraca określoną część ciągu, a INSTR podaje pozycję znaku, w którym wzorzec został znaleziony w ciągu. SUBSTR zwraca ciąg, natomiast INSTR zwraca wartość numeryczną.39) Jaki jest tryb parametrów, który można przekazać do procedury?
IN, OUT i INOUT to tryby parametrów, które można przekazać do procedury.40) Jakie są różne obiekty Oracle Database?
W Oracle istnieją różne obiekty danych –- Tabele – zbiór elementów zorganizowanych w pionie i poziomie
- Widoki – wirtualna tabela wywodząca się z jednej lub większej liczby tabel
- Indeksy – metoda dostrajania wydajności w celu przetwarzania rekordów
- Synonimy – nazwa aliasu dla tabel
- Sekwencje – wielu użytkowników generuje unikalne liczby
- Przestrzenie tabel – logiczna jednostka pamięci w Oracle
Pytania na rozmowie kwalifikacyjnej w Oracle dla osób z 10-letnim doświadczeniem
41) Jakie są różnice między LOV a pozycją na liście?
LOV jest właściwością, podczas gdy elementy listy są traktowane jako pojedynczy element. Lista elementów jest ustawiona jako zbiór list elementów. Pozycja listy może mieć tylko jedną kolumnę, LOV może mieć jedną lub więcej kolumn.42) Czym są przywileje i dotacje?
Uprawnienia to uprawnienia do wykonywania instrukcji SQL – czyli Prawo do łączenia się i łączenia. Do obiektu nadawane są dotacje, aby umożliwić odpowiedni dostęp do obiektów. Dotacji może udzielić właściciel lub twórca obiektu.43) Jaka jest różnica pomiędzy $ORACLE_BASE i $ORACLE_HOME?
Baza Oracle jest głównym lub głównym katalogiem Oracle, natomiast ORACLE_HOME znajduje się w folderze podstawowym, w którym znajdują się wszystkie produkty Oracle.44) Jaka jest najszybsza metoda zapytania w celu pobrania danych z tabeli?
Wiersz można pobrać z tabeli za pomocą ROWID. Korzystanie z identyfikatora ROW jest najszybszą metodą zapytania umożliwiającą pobranie danych z tabeli.45) Jaka jest maksymalna liczba wyzwalaczy, które można zastosować do pojedynczej tabeli?
12 to maksymalna liczba wyzwalaczy, które można zastosować do pojedynczej tabeli.46) Jak wyświetlić numery wierszy z rekordami?
Wyświetl numery wierszy z numerami rekordów –Select rownum, <fieldnames> from table;To zapytanie wyświetli numery wierszy i wartości pól z podanej tabeli.
47) Jak możemy zobaczyć ostatnio dodany rekord do tabeli?
Ostatni rekord można dodać do tabeli, można to zrobić poprzez –Select * from (select * from employees order by rownum desc) where rownum<2;
48) Jaki jest typ danych tabeli DUAL?
Opona DUAL table to jednokolumnowa tabela występująca w bazie danych Oracle. Tabela zawiera pojedynczą kolumnę VARCHAR2(1) o nazwie DUMMY, która ma wartość „X”.49) Jaka jest różnica między łączeniem kartezjańskim a łączeniem krzyżowym?
Nie ma różnic między łączeniem. Łączenie kartezjańskie i krzyżowe jest takie samo. Łączenie krzyżowe daje iloczyn kartezjański dwóch tabel – wiersze z pierwszej tabeli są mnożone przez inną tabelę, co nazywa się iloczynem kartezjańskim. Łączenie krzyżowe bez klauzuli where daje iloczyn kartezjański.50) Jak wyświetlić ewidencję pracowników, którzy zarabiają więcej niż średnia pensja w dziale?
Można to zrobić za pomocą tego zapytania –Select * from employee where salary>(select avg(salary) from dept, employee where dept.deptno = employee.deptno);
Podsumowanie
Opanowanie pytań i odpowiedzi na rozmowy kwalifikacyjne Oracle jest niezbędne do osiągnięcia sukcesu, niezależnie od tego, czy jesteś kandydatem początkującym, czy doświadczonym. Ćwicząc te pytania, możesz zbudować pewność siebie i wyostrzyć swoje umiejętności. Możesz swobodnie dzielić się wszelkimi wyjątkowymi lub trudnymi pytaniami w komentarzach. Przygotuj się dokładnie i powodzenia na rozmowach kwalifikacyjnych! Te pytania do rozmów kwalifikacyjnych pomogą Ci również w Twoim viva (ustnym)
– Istnieją 3 duże pliki, 1 GB (plik_a.txt), 10 GB (plik_b.txt) i 1 TB (plik_c.txt);
– Format tych 3 plików: każda linia z losowym ciągiem znaków w pliku;
– Można wykorzystać tylko 100MB pamięci, wykorzystanie dysku nie jest ograniczone;
- Założenie:
JEŚLI I TYLKO JEŚLI ciąg A pojawia się we wszystkich 3 plikach, musimy policzyć całkowity czas pojawienia się tego A. Na przykład A pojawia się 2 razy w pliku_a.txt, pojawia się 10 razy w pliku_b.txt, pojawia się 100 razy w pliku_c. txt, wówczas liczymy całkowity czas pojawienia się A jako 2 + 10 + 100 = 112 razy.
Pytanie: proszę napisać program, który wygeneruje ciągi znaków z TOP 10 i OSTATNIMI 10 pojawiającymi się czasami w kolejności malejącej. ktoś może odpowiedzieć, proszę.
złe pytanie. Nie rozumiem.
CZĘŚĆ PIERWSZA – SCENARIUSZ
Nazwa schematu: Śledzenie problemów
Opis problemu:
Musisz zaprojektować i wdrożyć bazę danych dla oprogramowania do śledzenia problemów. Śledzenie problemów z oprogramowaniem jest integralną częścią cyklu życia każdego oprogramowania dla przedsiębiorstw. The
Issue Tracking Toolkit jest odpowiedzialny za tworzenie, przechowywanie, śledzenie i zarządzanie problemami (np
błędy lub prośby o nowe funkcje). Każde wydanie jest reprezentowane przez bilet, który musi zawierać
następująca informacja
• faktyczny problem
• komponenty lub projekty, których dotyczy problem
• programiści/klienci, którzy jako pierwsi zidentyfikowali problem
• programiści/menedżerowie odpowiedzialni za rozwiązanie problemu
• stan problemu
• inne powiązane kwestie (bilety)
Szczegółowe wymagania:
Tutaj przedstawiamy minimalne wymagania dotyczące zestawu narzędzi do zarządzania zmianami w przedsiębiorstwie. Jesteś
zachęcamy do modyfikowania, dodawania i (jeśli jest to wyraźnie uzasadnione) usuwania wymagań według własnego uznania
niezbędny. Bilet – możliwe atrybuty: właściciel, tytuł, opis, stan (np. otwarty, oceniający, działający,
testowanie, odroczenie, odrzucenie, zamknięcie itp.), priorytet (np. niski, średni, wysoki, pilny), planowany
data zakończenia, jeden lub więcej powiązanych projektów, jedno lub więcej powiązanych zgłoszeń, kategoria (zadanie,
cecha, pytanie, wada, kamień milowy), status kamienia milowego, zgłaszający, data przesłania, eskalacja
osoba, wpis na blogu (forum dyskusyjne dotyczące zgłoszeń), powiązane zasoby i powiązane artefakty (np. diagramy i dokumenty pomagające w rozwiązaniu problemów), dziennik pracy (liczba przepracowanych godzin)
każdego dnia, który może być inny dla każdego dnia i dla każdego użytkownika)
3
Projekt – Możliwe atrybuty: tytuł, opis, planowana data zakończenia, rzeczywista data zakończenia, kierownik projektu, twórca, data utworzenia, dziennik pracy (liczba godzin przepracowanych każdego dnia, które
może być inny dla każdego dnia i dla każdego użytkownika)
Użytkownik – Możliwe atrybuty: imię i nazwisko, tytuł (np. programista, menedżer, administrator systemu), bezpieczeństwo (nazwa użytkownika
i hasło)
Artefakt – Możliwe atrybuty: tytuł, opis, kategoria, wersja, rozmiar, dane
Komentarz – możliwe atrybuty: zgłoszenie, zgłaszający, data zgłaszającego, tekst -Twoja rola jako Ucznia
Celem tego ćwiczenia jest zdobycie praktycznego doświadczenia jako projektanta baz danych i
administrator. Przygotuj scenariusz i udokumentuj go. W rzeczywistości możesz używać narzędzi takich jak SQL Developer
w celu wdrożenia projektu bazy danych. W stosownych przypadkach używaj przykładów.
4
CZĘŚĆ DRUGA – PYTANIA
Wszystkie pytania są obowiązkowe. Odpowiedz na wszystkie pytania po kolei. Upewnij się, że wskazujesz każdy
zadawaj pytania i podążaj za odpowiedziami. Tam, gdzie to konieczne, używaj składni i przykładów. Odpowiedzi należy udzielić na podstawie scenariusza. Liczby na końcu pytań
wskaż pełne oceny. Pytania:
1. Utwórz schemat użytkownika (IssueTracking) i nadaj uprawnienia wszystkim obiektom. [5]
2. Utwórz w Oracle możliwą tabelę DB, która powinna reprezentować podane scenariusze. [10]
3. Zdefiniuj i wyjaśnij zależności pomiędzy tabelami [10]
4. Zdefiniuj odpowiednie struktury tabeli (np. kolumna daty może być polem daty, polem danych Kwota).
powinno być polem danych numerycznych) [10]
5. Wyjaśnij bezpieczeństwo obiektu DB i bezpieczeństwo systemu. Utwórz DBReader i DBWriter
użytkownicy, użytkownik DBWriter powinien uzyskać dostęp do wykonywania poleceń DDL i DML, użytkownik DBReader może uzyskać dostęp tylko do odczytu wszystkich tabel [4+4+2+6+4]
6. Co to jest mechanizm blokujący? Dlaczego jest to konieczne? Zademonstruj wspólną blokadę i
Ekskluzywna sytuacja blokady w dowolnym stole [2+4+6+6]
7. Co to jest zakleszczenie i jak sobie z nim poradzić w systemie DB? Stwórz
Sytuacja zakleszczenia w tabeli „Ticket”. [5+10]
8. Straty biznesowe ABC Inc. Dane za ubiegły tydzień spowodowane awarią systemu, Właścicielem firmy
nie chce nic stracić dla biznesu. Zwykle DBA wykonuje codzienną kopię zapasową
Koniec dnia. Jesteś administratorem danych ABC Inc.; Jak zarządzasz danymi z tego tygodnia i
jakie byłoby najlepsze wyjście? [10]
Możesz mi pomóc ?
dobre pytanie…
To nie powinno być zbyt trudne.
Przeglądałbym najmniejszy plik, ponieważ jeśli nie ma w nim ciągu znaków, nie obchodzi nas, czy istnieje w innych plikach.
W przypadku mojej struktury danych zachowałbym listę zawierającą linię dla każdej linii w najmniejszym pliku i zapisałbym w tej linii moją liczbę. Jeśli linia występuje w pliku wiele razy, możesz policzyć kolejne jej wystąpienia jako zera lub oznaczyć je jako X, aby nie liczyć ich dwa razy.
Następnie czytam ten plik, aby załadować tablicę z 10 najczęstszymi wystąpieniami, umieściłbym pierwszy indeks w tej tablicy i liczbę.
Następnie użyłbym indeksu, aby przejść do pliku, przeczytać rzeczywistą linię i wyświetlić ją wraz z liczbą.
Następnie wykonaj podobny proces dla OSTATNICH 10, powinno to być jeszcze łatwiejsze.
czy możesz napisać scenariusz zamiast mówienia po angielsku?
DZIĘKI!!
Dzięki Ci
Bardzo dziękujemy za możliwość podsumowania wiedzy na temat Oracle DB
W odpowiedzi 50 jest błąd.
Podane jest to
Wybierz * od pracownika, gdzie wynagrodzenie>(wybierz śr.(wynagrodzenie) z działu, pracownika, gdzie dział.deptno = pracownik.działno;
Błąd polega na tym, że nie podano ostatniego nawiasu.
Cześć, dzięki, że napisałeś. Jest sprawdzany i aktualizowany.
jest to kompletne szkolenie instruktażowe z pakietem wiedzy
Wybierz nie jest poleceniem DML, a raczej poleceniem DRL. Proszę zapoznać się z pytaniem 10 powyżej.
Tak, Damodar, jesteś ri8
Cześć,
Pytanie nr 47. o uzyskanie ostatniego zapisu tabeli
Wybierz * z (wybierz * z zamówienia pracowników według identyfikatora pracownika desc) gdzie rownum<=1;
zamiast powyższego zapytania możemy użyć poniższego.
wybierz * spośród pracowników, gdzie rownum<=1 zamówienie według id_pracownika desc;
Dzięki,
kotwica
nie możemy użyć klauzuli Order By jest przetwarzana przez silnik SQL po przetworzeniu zestawu wyników, więc Twoje zapytanie zajmuje pierwszy rekord w tabeli
Programista SQL
Dobre pytanie
45. Jaka jest maksymalna liczba wyzwalaczy, które można zastosować dla pojedynczej tabeli?
poprawna odpowiedź:
Możemy mieć N wyzwalaczy na tabeli, ale maksymalny typ wyzwalaczy na pojedynczej tabeli może wynosić 3*2*2=12, co oznacza, że podział odbywa się w następujący sposób
Wstaw/Aktualizuj/Usuń= 3
Przed/Po = 2
Poziom wiersza/poziom instrukcji=2
Jeśli wybrane zapytanie zwróci 6 lakh rekordów z 10 lakh rekordów z jednej tabeli, wówczas optymalizator użyje skanowania INDEX lub pełnego skanowania tabeli. kiedy indeks się nie powiedzie i jaki jest maksymalny procent INDEKSU umożliwiający pobranie rekordu z tabeli?
Podziękowania
Dziękujemy za pomoc w postaci pytań do wywiadu.