JavaRush /Blog Jawa /Random-JV /15 pitakonan kanggo wawancara teknis kanggo programmer Ja...
dio
tingkat
Москва

15 pitakonan kanggo wawancara teknis kanggo programmer Jawa kanthi pengalaman 5-6 taun

Diterbitake ing grup
Nalika pengalaman programmer mundhak saka tingkat pangembang pemula (saka 2 nganti 4 taun pengalaman) nganti tingkat pangembang senior (saka 5 nganti 7 taun), pitakonan wawancara ing Jawa Inti uga owah. 15 pitakonan kanggo wawancara teknis kanggo programmer Jawa kanthi pengalaman 5-6 taun - 1Mesthi, dhasar kaya struktur data, algoritma, lan pemrograman berorientasi obyek tetep, nanging pitakonan lan jawaban dadi luwih rinci. Aku kerep nampa pitakonan babagan pitakonan Jawa inti apa sing dijaluk saka pangembang senior, utawa pitakonan apa sing bakal dikarepake ing wawancara kanggo posisi pangembang Jawa senior. Iki teka-teki aku sedhela amarga yen sampeyan dadi pangembang senior, sampeyan kanthi otomatis mulai melu wawancara lan sampeyan kudu duwe ide babagan apa sing bakal dikarepake saka wawancara, nanging ing wektu sing padha, aku ngerti yen ngerti wawancara kasebut. pitakonan, Iku bakal luwih gampang kanggo sampeyan nyiyapake iku. Mesthi, sampeyan ora bakal njaluk pitakonan sing dijaluk kanggo programer karo 2-3 taun pengalaman karo Jawa, sanajan iki ora tilar ing wiwitan Interview. Aku ora weruh beda antarane wawancara telpon lan wawancara langsung. Sawetara pitakonan tetep padha, sawetara pitakonan mbutuhake jawaban sing luwih rinci. Ing artikel iki, aku bakal nuduhake 15 pitakonan teknis Jawa Inti sing ditakoni ing wawancara pangembang senior sajrone wawancara telpon. Aku ora ngirim kabeh jawaban, nanging sampeyan bisa nemokake ing blog saiki utawa ing Javarevisited blog .

15 pitakonan ing Jawa Inti kanggo programer karo 5-6 pengalaman pembangunan

Kabeh pitakonan ditampa saka pangembang senior sing duwe pengalaman luwih saka 5 taun. Pangembang nemoni pitakonan kasebut ing macem-macem tahapan kerja, kalebu wawancara telpon lan pasuryan.
  1. Kepiye cara metode getkelas HashMaping basa Jawa?

    Ya, iki isih dadi salah sawijining pitakonan sing paling populer kanggo pangembang senior, sampeyan kudu nyana ing wawancara telpon, mesthine bakal ana akeh pitakonan sing gegandhengan sawise iku, priksa jawaban kasebut ing kene .

  2. 2 metode apa sing kudu ditindakake obyek utama HashMap?

    equalslanhashcode

  3. Napa obyek sing digunakake minangka kunci kudu ora bisa diganti?

    Supaya kode hash tansah ngasilake nilai sing padha.

  4. Kepiye ConcurrentHashMapskalabilitas entuk?

    Kadhangkala pitakonan iki muni kaya iki ing wawancara: beda antarane ConcurrentHashMaplan Hashtableing Jawa, goleki jawaban ing kene .

  5. Kepiye carane nggawe obyek sing dienggo bareng ing antarane benang sing beda-beda? Utawa carane ngirim obyek saka siji thread menyang liyane?

    Ana akeh cara kanggo ngleksanakake iki, kayata antrian, exchanger, nanging mblokir antrian karo pola desain Produser / Konsumen minangka cara paling gampang kanggo ngirim obyek saka siji thread menyang liyane.

  6. Kepiye sampeyan ngerti yen program sampeyan duwe deadlock?

    (Получив дамп потока, используя kill -3, применяя JConsole or VisualVM). Я предлагаю подготовиться к этому вопросу на интервью очень тщательно, так How интервьюеры любят детали, они спрашивают бывали ли в вашем проекте подобные проблемы и How вам удалось их решить.

  7. Как избежать взаимных блокировок при codeировании?

    What бы разобраться с блокировками и получить полную информацию о теме, прочтите это.

  8. What такое ожидание занятости ("Busy spinning")? Почему вы должны использовать его?

    Один из интереснейших вопросов многопоточности для старшего разработчика Java, Busy spinning это стратегия ожидания, когда поток выполняет ожидание в цикле, при этом не используя ресурсы процессора и How бы засыпая. Эту стратегию используют когда время ожидания очень мало, при этом не нагружается процессор и не останавливается поток, сохраняются все данные, которые могут быть потеряны при запуске потока на другом ядре процессора. Этот вопрос популярен у программистов создающих высоко нагруженные проекты, где программисты добиваются чрезвычайно низких задержек в работе, в диапазоне микро- и мor- секунд.

  9. What такое блокировка Чтения и Записи (ReadWriteLock)? Использует ли ConcurrentHashMap ReadWrite блокировки?

    Блокировка Чтения и Записи это такая реализация блокировки, когда несколько разных потоков пытаются произвести операцию чтения и записи с одним an objectом. сама по себе операция чтения не изменяет an object, что допускает многопоточные операции чтения без блокировок. Java предоставляет реализацию ReadWriteLock с которой стоит ознакомиться. Например ConcurrentHashMap не применяет ReadWriteLock, instead of этого он делит Hash на отдельные части и блокирует их отдельно, таким образом в любой момент времени заблокирована только часть хеша, а не он весь. Этот вопрос популярен у опытных разработчиков, обычно просят ответить подробнее, спрашивают разные реализации ReadWriteLock для разных случаев.

  10. Как сделать an object иммутабельным (не изменяемым) в Java? Зачем делать an object иммутабельным?

    Иммутабельность предполагает несколько преимуществ включая потокобезопасность, возможность кеширования, а так же делает многопоточный code более читаемым.

    Посмотрите это и научитесь делать an objectы иммутабельными. На собеседовании по этому вопросу возможны дополнительные уточнения, в зависимости от полноты вашего ответа. Например когда вы говорите, что Spring иммутабельный, будьте готовы ответить почему строки так же иммутабельны в Java.

  11. Какие шаблоны проектирования в используете?

    Всегда ожидайте вопрос о шаблонах проектирования на собеседовании к вакансии старшего разработчика. Лучше отметить любой GOF шаблон, а не Singleton or MVC который использует каждый второй Java программист. Лучший ответ может быть шаблон Декоратор or шаблон Внедрение зависимости, которые довольно популярны в Spring Framework. Так же хорошо если называемые вами шаблоны проектирования вы действительно использовали и знаете к Howому компромиссу ведет их применение. Как только вы произнесете название шаблона проектирования, например: "Фабрика", интервьюер тут же спросит: "Вы использовали это в своих проектах ?" Поэтому будьте готовы привести примеры и рассказать почему вы выбрали в своем проекте именно этот шаблон.

  12. Знаете ли вы о принципе Открытости/Закрытости or Принцип подстановки Барбары Лисков?

    Шаблоны проектирования основаны на принципах an objectно-ориентированного проектирования.

    Настоятельно рекомендую посмотреть мою статью 10 принципов an objectно ориентированного дизайна, которые должен знать программист Java, по крайней мере иметь представление о том How эти принципы помогут вам писать an objectно ориентированный code. Если у вас нет ответа на этот вопрос, вы можете вежливо ответить "нет" , никто не ожидает от вас знания ответов на все вопросы. Однако зная ответ на вопрос, который вызывает затруднения у большинства разработчиков, вы делаете свою кандиdateру на собеседовании очень сильной.

  13. Какой шаблон проектирования будете использовать, что бы защитить ваш code от сторонней библиотеки, которая будет заменена через пару лет ?

    Это всего лишь один из возможных вариаций вопроса о шаблонах проектирования, которые могут быть заданы вам в зависимости от того о чем вы говорите сейчас на собеседовании. Один из способов How оградить свой code от сторонней библиотеки, это зависимость от интерфейса, а не от реализации и использование зависимостей что бы обеспечить конкретную реализацию. Подобные вопросы часто задают старшим разработчикам с 5-7 годами опыта работы.

  14. Как предотвратить SQL инъекцию в codeе на Java?

    Этот вопрос чаще задают Java EE разработчикам, чем обычным Java программистам, тем не менее это отличный повод узнать о PreparedStatement. PreparedStatement — это an object, который представляет предварительно скомпorрованный SQL-оператор. PreparedStatement не только обеспечивает более высокую производительность, но и защищает от SQL инъекций. Если вы работаете по большей части с Java EE or J2EE, вы должны быть знакомы с некоторыми вопросами безопасности, в том числе "атака Фиксации Сессии" or "межсайтовый скриптинг", так же вам нужно уметь избегать этих атак.

  15. Расскажите об отличиях типов ссылок в Java, таких How WeakReference, SoftReference и PhantomReference? И почему вы должны их использовать?

    Ing kasunyatan, mung ana siji beda antarane kabeh jinis referensi - prilaku Java Garbage Collector karo obyek sing dirujuk. Ing Jawa, obyek sing digawe nggunakake operator anyar digawe kanthi referensi sing kuat. Penagih sampah ngrusak obyek kasebut mung nalika ora ana referensi sing kuwat maneh. Paket java.lang.ref wis 3 kelas sing njlèntrèhaké 3 jinis pranala, mungguh SoftReference, WeakReference, PhantomReference. Obyek sing digawe liwat SoftReference bakal diklumpukake yen JVM mbutuhake memori. Yaiku, ana jaminan yen kabeh obyek SoftReference bakal diklumpukake sadurunge JVM mbuwang pengecualian OutOfMemoryError. SoftReference asring digunakake kanggo cache intensif memori. WeakReference ora nyimpen obyek supaya ora rampung, sanajan ana memori gratis sing cukup. Sanalika ora ana referensi sing kuwat lan alus kanggo obyek kasebut, bisa dirampungake. Digunakake kanggo caches lan kanggo nggawe rentengan obyek interconnected. Obyek sing digawe liwat PhantomReference bakal dirusak nalika GC nemtokake manawa obyek sing dirujuk bisa dialokasikan. Referensi jinis iki digunakake minangka alternatif kanggo finalisasi (kanggo rilis sumber daya sing luwih fleksibel).

    Iki minangka dhaptar pitakonan wawancara pangembang senior Jawa. Aku wis ora klebu akeh pitakonan penting bab nangani istiméwa, kolektor uwuh, konfigurasi JVM kang banget populer ing antarane pangembang senior, Mungkin aku bakal kalebu ing bagean sabanjure. Nanging yen sampeyan ora nemokake jawaban kanggo pitakonan apa wae, kabari aku lan aku bakal nganyari kiriman iki kanggo para pembaca biasa.

Artikel asli: 15 Pitakonan Wawancara Jawa Inti Teknis Jawaban kanggo Pangembang Berpengalaman
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION