JavaRush /Java блогу /Random-KY /Интервью учурундагы техникалык суроолор
Roman Beekeeper
Деңгээл

Интервью учурундагы техникалык суроолор

Группада жарыяланган
Ошентип, маек ушул план боюнча өттү
  1. JavaCore
  2. OOP
  3. ЭС АЛУУ
  4. Маалыматтар базасы
  5. Сиз колдонгон куралдар.
Интервью учурундагы техникалык суроолор - 1

JavaCore

  • Биринчиден, менден Коллекциялар үчүн интерфейстердин иерархиясын тартууну суранышты (бул кыйын болгон жок, алардын бир нечеси гана бар (Жыйнак, Тизме, Коюу, Кезек, Карта).
  • ArrayList менен LinkedListтин ортосунда кандай айырма бар (бул интернеттеги эң татаал суроолордун жана жооптордун бири, жөн гана караңгылык).
  • Биз аларда сурамдарды аткаруунун ылдамдыгын жана барактардын ортосунда кандай айырма бар экенин талкууладык.
  • Объект классы жөнүндө суроо. Анын ыкмалары кандай, алар эмне кылышат?
  • Рефлексия. getClass() ыкмасы эмне кылат? Абдан кызыктуу суроо, аны карап көрүңүз. Айрыкча, класстын жеке ыкмаларын же өзгөрмөлөрүн камтыса дагы, баарын кантип алуу керектиги жөнүндө.
  • Алар multithreading жөнүндө сурашты. Бул алсыз, менимче, сизге multithreading эмне экенин кантип түшүнөөрүңүздү айтып берүү. Жаңы тема баштоо үчүн эмне керек. Чынында, эгер сиз 20+ деңгээлиңиз болсо, анда бул суроолор сизге күлкүлүү көрүнөт.
  • Stream жөнүндө эмне айта аласыз. Бул Java 8 жөнүндө эмес. Бул киргизүү жана чыгаруу агымдары жөнүндө. Негизги интерфейстер сыяктуу эле, алар эмне (символ жана byte). Түшүнүү үчүн, эч кандай конкреттүү.
  • Өзгөчө учурлар. Бул жерде дагы бизден бөтөнчөлүктөрдүн иерархиясын, кандай түрлөрү бар, кайсылары текшерилет жана кайсылары текшерилбейт. Runtime өзгөчөлүктөр менен эмне кылуу керек. Эң көп жолукканды атаңыз (NullPointerException). Текшерилген өзгөчөлүктөр менен эмне кылуу керек деген суроо туулат (алга же процесс - экөө тең түшүнүктүү).

OOP

  • Кыскача айтканда OOP деген эмне?
  • Дагы кандай программалоо парадигмалары бар? Алар OOPден эмнеси менен айырмаланат?
  • ООПтун негизги принциптери кандай (мурас, полиморфизм жана инкапсуляция)? Алардын ар бири жөнүндө айтып бериңизчи. Азырынча баары абстрактуу, эч кандай тилге байланган эмес.
  • Системанын дизайнын түшүнүү тапшырмасы: Ат менен Канаттуу бар. Биз Pegasus алышыбыз керек. принциби "бар" жана "бир"

ЭС АЛУУ

  • REST деген эмне. Wikipedia бул жөнүндө абдан салкын сүйлөшөт. Негизи таанышуу үчүн Википедиядан алынган макала жетиштүү.
  • HTTP. Бул жерде жалпы сөз айкаштары да бар. Анын ыкмалары, алардын ар бири эмне үчүн.
  • HTTP статус codeдору. Кайсы беш бөлүккө бөлүнүшү керек?Эң белгилүүлөрү жөнүндө айтып бериңиз (200,204,404,500,501). Эмне үчүн алар? Алар 401 жана 403 жөнүндө да сурашты. Бирок мен аларды таанычу эмесмин. Алар маанилүү экенин айтышты.

Маалыматтар базасы

Бул жерде мен сизге MySQLди билем деп айттым. Ал мага үч нормалдуу форма жөнүндө айтып берди. Ал кошулмалар жөнүндө айтып берди, алар эмнелер жана ар кандай кошулмалар колдонулган аймактардын кесorшин тартты. Мен реляциялык маалымат базасын кантип түшүнөм деп сүйлөштүм. Мен MongoDB жөнүндө унуткан жокмун - бул NoSQL маалымат базасы. Бир аз убакыт өткөндөн кийин мен да бул жөнүндө жазам. Транзакция деген эмне экенин билүү жана түшүнүү абдан жакшы. ACID деген эмне? Изоляция деңгээли кандай? Бул бorм кандай деңгээлде экенин ачык көрсөтүп турат.

Башка аспаптар

Бул жерде биз менин резюмемди карап чыктык. Мен Maven/Gradleди чогултуу үчүн колдоном деп жазылган, мен JIRA тапшырмаларды, git, Docker, Swaggerди колдоном. Үзгүлтүксүз интеграция үчүн - Stash, бамбук, куурчак. JUnit, Mockito, JMeterди сыноо үчүн. Мен бир нерсени унутуп калгандырмын, андыктан сизди кызыктырсаңыз, комментарийлерде сураңыз, мен жооп бергенге аракет кылам. Макаланы жактырган жана аны пайдалуу деп тапкан ар бир адам - ​​аны баалаңыз жана комментарийге жазыңыз. Ошондой эле, менин github аккаунтума жазылыңыз romankh3 Башка макалаларымды да караңыз: - Кантип жумуш тапса болот? Резюме жөнөтүү боюнча кеңештер. Random тобунан алынган макала - Ийгorк баяны. Жумасына 20 саат программалоо, магистр даражасы жана жеке жашоо - Кесиптик күйүп кетүү. Кантип каршы туруу керек?
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION