Man bija intervija ar GS viņu Bengaluru birojā. Man ir 4 gadu pieredze pilna steka izstrādē, izmantojot Java. Man zvanīja konsultants.
1. kārta
Kādi jēdzieni jums patīk Java? Es teicu kolekcijas. Viņš jautāja, kuras kolekcijas nodarbības esat izmantojis? Es teicu HashMap ArrayList un HashSet.
Kad jūs izmantotu Set un kad sarakstu? Es teicu, ka Set atbalsta unikālus elementus, kas nav nulles, un sarakstam nav šī ierobežojuma. Tātad, ja es vēlos unikālus elementus, es izmantošu komplektu. Viņš prasīja kādu citu apsvērumu? Es norādīju kolekcijai veicamo vaicājumu veidu. Tāpat kā meklēšana. Viņš jautāja kādu piemēru? Teicu – darbinieku datu bāze. Darbiniekiem ir jābūt unikāliem, lai mēs varētu izmantot sarakstu un meklēt, izmantojot bināro meklēšanu vai līdzīgu paņēmienu, jo parasti tie tiek sakārtoti noteiktā secībā. Bet es domāju, ka viņš bija gaidījis O(1) uzmeklēšanas laika atbildi vai Set. Es izskaidroju HashMap un HashSet darbību un to, kā tas palīdzētu izstrādātājam viegli sasniegt elementu unikalitāti, taču intervētājs nebija pārliecināts ar manu atbildi uz viņa sākotnējo jautājumu.
Kas ir vienādības() un hashCode() līgums? Ko darīt, ja viens tiek ignorēts, bet otrs nav?
Atrodiet otro minimumu dotajā masīvā .
Atrodiet pagrieziena punktu sakārtotā un pagrieztā masīvā.
Vai man ir kāds jautājums?
2. kārta
Sniedziet īsu ievadu par savu darba pieredzi.
Sniedziet pārskatu par sava nesenā projekta dizainu.
Pieņemsim, ka man ir lietotāja saskarne, kurā ir preču saraksts vai tabula, un katrai precei ir peļņas atribūts, atlaides atribūts utt. Kā nodrošināt, lai vairāki lietotāji nevienas preces stāvokli neatstātu pretrunīgi. Lietotājs var atjaunināt atribūtus vai to var izdarīt kāds cits tīmekļa pakalpojums. Es ierosināju sinhronizēt vienuma iestatītās metodes. Viņš jautāja, kā sašķirot preces. Es teicu, ka vienumi atradīsies masīvu sarakstā, un ieviesu salīdzināmo saskarni. Viņš prasīja darba kodu. Kad es uzrakstīju izteiksmi salīdzinātTo () metodē, viņš teica, ka dizains nav elastīgs, jo pastāv stingra kārtošanas kritēriju kodēšana. Viņš teica, ka, ja kāds vēlas kārtot pēc cita atribūta, kļūtu neiespējami pārvaldīt tik daudz dublētus objektus. Es teicu, ka mēs to varam izdarīt ar rūpnīcas metodes modeli. Pēc tam viņš faktiski pārtrauca intervijas kārtu. Kaut kur pa vidu viņš bija pieminējis Comparator saskarni, un es viņam paskaidroju, kā tā darbojas. Es teicu, ka tā ir laba izvēle, ja nevēlaties mainīt esošās klases. Es domāju, ka viņš gaidīja metodes salīdzināt () ieviešanu, jo tam nebūs nepieciešami dublēti objekti, un kārtošanu pēc dažādiem kritērijiem var veikt, vienkārši ieviešot Comparator dažādās klasēs vienu klasi katram šķirošanas kritērijam un pēc tam izsaucot kolekcijas klases sort() metodi ar šo Comparator implementāciju.
Vai man ir kāds jautājums?
Lika aizbraukt uz dienu. Padoms: mēģiniet neizcelt dizaina modeļus, ja vien jums tas nav lūgts vai jums ir pieredze dizaina modeļu problēmu risināšanā. Klausieties intervētāju un esiet modrs. Viņi sniedz padomus. Arī 1. kārtā es kļūdījos pagrieztā masīva jautājumā. Viņš sniedza testa gadījumu, kad mans kods neizdosies. Es izlaboju slazdu. Pirms intervijas dienas pietiekami gulēt. Visas Goldman Sachs prakses problēmas ! Izveidojiet viktorīnu