|
|
Zveřejněno 08.01.2019 9:17:25
|
|
|

Letos se hledání práce téměř končí, vlastně už měsíc nebo dva nebyl žádný pohovor, přemýšlel jsem o tom nebo jsem si zaznamenal následující firmy, pamatuji si jen ty, na které si vzpomínám. Moje pozice je Java R&D inženýr, takže zahrnuje všechny znalosti v této oblasti.
Stáž
1. Morgan Stanley
První rozhovor byl Morgan... Tazatel je velmi milý a hlavní otázky: (1) Představte projekt a povězte o části, kterou jste udělali (po úvodu jsem si uvědomil, že to, co jsem udělal, bylo příliš nízké, a stále se musím připravit) (2) Polymorfismus. V C++, ve virtuálních funkcích, přepisování virtuálních funkcí v odvozených třídách, jak poznám za běhu, ve které podtřídě běžím. (3) Jaké jsou běžně používané kolekce v Javě? Odpověď: Seznam, včetně ArrayList a LinkedList. ArrayList je implementován interně pomocí polí, která mohou měnit délku. LinkedList je implementace propojeného seznamu a nelze jej měnit na délku. Otázka: Myslíte tím, že obecně definujete délku LinkedListu, například 10, a pak ji překročíte? Odpověď: Ne, není nutné specifikovat délku LinkedListu, pokud není definován, měl by to být stroj, který určuje, kolik místa může váš LinkedList maximálně uvolnit. Prostě přidávám data v míře, kterou potřebuji. Otázka: Pokud je tam mnoho, mnoho operací s přidáváním, na jaké problémy narazíte, je nemožné pro vás přidat neomezený prostor Odpověď: Ano... Takže existuje určitý rozsah, myslím, že by měl stroj určovat, kolik místa může mít maximální LinkedList, 32bitové a 64bitové stroje by měly být odlišné (Meng, vlastně nevím). Otázka: Používáte i jiné sbírky pravidelně? Odpověď: Nastavit, hlavně HashSet, TreeSet, LinkedHashSet, a pak vysvětlit rozdíly mezi těmito třemi Otázka: Analyzujte složitost hashsetů a stromových sad, insertů, vyhledávání atd. Odpověď: HashSet by měl být spojen se svým hashem, pokud je to jen obyčejný hash kód, může způsobit mnoho konfliktů, takže propojený seznam bude delší a procházení propojeného seznamu při vyhledávání bude pomalejší, ale používáte optimalizační metody k řešení konfliktů, například sekundární detekci nebo něco podobného, snižujete konflikty, mělo by to být rychlejší, červeno-černý strom použitý uvnitř TreeSetu, pořadí vyhledávání a vkládání by mělo být O(log(N))... Pak je tu další otázka... Už jsem se neptal.
|
|