|
|
Geplaatst op 08-01-2019 09:17:25
|
|
|

De zoektocht naar een baan dit jaar is bijna voorbij, er is zelfs een maand of twee geen sollicitatiegesprek geweest, ik heb erover nagedacht of de volgende bedrijven geregistreerd, alleen herinner ik me degenen die ik me kan herinneren. Mijn functie is Java R&D-engineer, dus het omvat alle kennispunten op dit gebied.
Stage
1. Morgan Stanley
Het eerste interview was Morgan... De interviewer is erg vriendelijk, en de belangrijkste vragen die gesteld werden: (1) Introduceer het project en vertel over het deel dat je hebt gedaan (na de introductie realiseerde ik me dat wat ik deed te laag was, en dat ik me nog moet voorbereiden) (2) Polymorfisme. In C++, virtuele functies, het herschrijven van virtuele functies in afgeleide klassen, hoe weet ik tijdens runtime in welke subklasse ik draai? (3) Wat zijn de meest gebruikte collecties in Java? A: Lijst, inclusief ArrayList en LinkedList. ArrayList wordt intern geïmplementeerd door arrays, die van lengte kunnen veranderen. LinkedList is een gekoppelde lijstimplementatie en kan niet in lengte worden veranderd. V: Bedoelt u dat u over het algemeen de lengte van een LinkedList definieert, zeg 10, en die vervolgens overschrijdt? A: Nee, het is niet nodig om de lengte van de LinkedList te specificeren; als deze niet gedefinieerd is, moet de machine bepalen hoeveel ruimte je LinkedList maximaal kan openen. Ik voeg gewoon data toe voor zover ik dat nodig heb. V: Als er veel, heel veel add-operaties zijn, tegen welke problemen kun je dan te maken krijgen? Het is onmogelijk om onbeperkte ruimte voor jou toe te voegen A: Ja... Er is dus een bepaald bereik, ik denk dat het door de machine bepaald moet worden hoeveel ruimte de maximale LinkedList kan hebben, 32-bit en 64-bit machines zouden verschillend moeten zijn (Meng, eigenlijk weet ik het niet). V: Zijn er nog andere collecties die u regelmatig gebruikt? Antwoord: Set, voornamelijk HashSet, TreeSet, LinkedHashSet, en leg vervolgens de verschillen uit tussen deze drie V: Analyseer de complexiteit van HashSets en TreeSets, inserts, lookups, enzovoort. Antwoord: HashSet moet gerelateerd zijn aan zijn hash, als het gewoon een gewone hashcode is, kan dat veel conflicten veroorzaken, waardoor de gekoppelde lijst langer wordt en het langzamer is om de gekoppelde lijst te doorlopen tijdens het zoeken, maar je gebruikt optimalisatiemethoden om conflicten op te lossen, zoals secundaire detectie of iets dergelijks, verminder conflicten, het zou sneller moeten zijn, de rode en zwarte boom die in TreeSet wordt gebruikt, de volgorde van zoeken en invoegen moet O(log(N)) zijn... Dan is er nog een vraag... Ik heb niet meer gevraagd.
|
|