|
|
Publicerad på 2019-01-08 09:17:25
|
|
|

Årets jobbsökande är nästan över, faktiskt har det inte varit någon intervju på en eller två månader, jag har funderat på det eller registrerat följande företag, bara minns de jag kan minnas. Min tjänst är Java-forsknings- och utvecklingsingenjör, så det involverar alla kunskapspunkter inom detta område.
Praktik
1. Morgan Stanley
Den första intervjun var Morgan... Intervjuaren är mycket trevlig, och huvudfrågorna som ställdes: (1) Introducera projektet och berätta om den del du gjorde (efter introduktionen insåg jag att det jag gjorde var för lågt, och att jag fortfarande behöver förbereda mig) (2) Polymorfism. I C++, virtuella funktioner, omskrivning av virtuella funktioner i härledda klasser, hur vet jag vid körning vilken underklass jag kör i? (3) Vilka är de vanligaste samlingarna i Java? S: Lista, inklusive ArrayList och LinkedList. ArrayList implementeras internt av arrayer, som kan ändra längd. LinkedList är en länkad list-implementation och kan inte ändras i längd. F: Menar du att ni generellt definierar längden på en LinkedList, säg 10, och sedan överskrider den? S: Nej, det är inte nödvändigt att specificera längden på LinkedList, om den inte är definierad bör det vara maskinen som avgör hur mycket utrymme din LinkedList kan öppna upp som mest. Jag lägger bara till data i den utsträckning jag behöver. F: Om det finns många, många add-operationer, vilka problem kommer du att stöta på? Det är omöjligt att lägga till obegränsat utrymme för dig S: Ja... Så det finns ett visst intervall, jag tror att maskinen ska bestämma hur mycket utrymme den maximala LinkedList kan ha, 32-bitars och 64-bitars maskiner borde vara olika (Meng, faktiskt vet jag inte). F: Finns det några andra samlingar du använder regelbundet? Svar: Set, främst HashSet, TreeSet, LinkedHashSet, och förklara sedan skillnaderna mellan dessa tre F: Analysera komplexiteten hos HashSets och TreeSets, inserts, uppslag, etc. Svar: HashSet bör vara relaterat till sin hash, om det bara är en vanlig hashkod kan det orsaka många konflikter, så att den länkade listan blir längre och det blir långsammare att gå igenom länkade listan vid sökning, men du använder optimeringsmetoder för att lösa konflikter, som sekundär detektering eller liknande, minska konflikter, det ska gå snabbare, det röda och svarta trädet som används i TreeSet, ordningen för sökning och insättning bör vara O(log(N))... Sedan är det en annan fråga... Jag frågade inte mer.
|
|