Golang
Модерация/оркестратор системасын долбоорлоо жөнүндө айтып бериңиз — кандайча долбоорлонду, кайсы чечимдер кабыл алынды?
Кайсы кэш стратегиясын тандап алуу керек — cache-aside же write-through — заказдын абалын текшерүүдө колдонуучулардын жүрүм-турум үлгүсүн эске алуу менен?
Жасалма иштеп чыгууда каналдар менен иштөө эрежелерин билүү керек (жабык, ачык, качан эмне кылса болот)?
Go тилинде тапшырма жазуу — практик бөлүм (дастурчунун жашоосунан көйгөйлөр, алгоритмдерсиз): кызматты жакшыртуу же оңдоо. Убакыт — 1,5 саат.
Эгер колдонуучулар монетизация моделинин өзгөрүшүнө наразы болуп жатса, бирок бизнестин так планы болсо, эмне кылуу керек?
Түз эфир коддоо: семафор — кантип иштейт жана буферленген каналга негизделген ишке ашыруу.
Кай методологияны колдонуп жатасыз: Scrum, Kanban же аралашма?
Параллел суранычтарды чектөө үчүн чечим катары семафор жана буферленген каналдын чектөөлөрү эмнеде?
Эми сиз [компания] же биздин өнүмдөрүбүз жөнүндө мурда уккансызбы?
Эстимейттер деген эмне?
Эмне менен иштешүүнү каалабайсың?
Сиздин деңгээлиңиз кандай: middle, middle+, senior?
Go тилинде кодду талдоо: код эмне кылып жатат, кандай көйгөйлөр бар?
Goда интерфейс кай группага (өзгөрүлмө/өзгөрүлмө эмес) кирет?
Авторизациялык токендер эмне жана кандай түрлөрү бар?
Реляциялық маалыматтар базалары менен NoSQL арасындагы айырма эмне?
150 миллион колдонуучуну колдоо менен масштабдуу билдирүү системасын долбоорлоо, 75 миллион DAU, 225 миллион MAU, 1.2М окулуш / 300k жазуу чеги QPS, 5 миллион бир убакта колдонучулар, жылына 60 PB жаңы маалымат, жылдык 30% өсүш, SLA 99.95%, p99 <200 ms окуу үчүн, <300 ms жазуу үчүн. КОНТЕКСТ WhatsApp сыяктуу, 1:1 жана топ чаттарды колдогон, билдирүүлөрдү жеткирүүнү камсыздаган, колдонуучулардын онлайн абалын көрсөтүүчү жана мультимедиалык файлдарды (сүрөттөр, видеолор, аудио) өткөрүүчү бөлүштүрүлгөн билдирүү системасын долбоорлоо керек. Система жогорку жеткиликтүүлүк жана төмөн кечигүү менен камсыз кылышы керек, жогорку параллелизмди колдошу жана глобалдык масштабда кеңейиши керек. Функционалдык талаптар - жеке (1:1) жана топ чаттарды колдоо, катышуучуларды кошуу/алып салуу мүмкүнчүлүгү менен - тексттик билдирүүлөрдү жана мультимедиалык файлдарды жөнөтүү жана кабыл алуу Кызматтар же кардарлар деңгээлинде end-to-end шифрлөө механизми так ишке ашырылганы көрүнбөйт, жалпы эскертүү менен гана. - chat_id же user_id боюнча базалардын sharding жана репликациясынын так сүрөттөмөсү жок, масштабдуулук жана каталарга туруктуулук үчүн. - Offline билдирүүлөрдү жана жеткирүү тастыктарынын синхрондоштуруу үчүн так компонент же механизми жок. - Жүктүн балансын базалар жана кызматтар арасында, өзгөчө чокулук учурунда, кантип жүргүзүлөрү так эмес. **Көз караштар жана эскертүүлөр:**
Go-догу негизги стекти тизмелеңиз
Кайда бир убакытты жазуу, убакытты кайсы бир системада көзөмөлдөө керек болдуңузбу?
""" Кинотеатрдагы орундар бир сапта жайгашкан. Жаңы келген көрүүчү орун тандайт, системеден эң алыс отуруу үчүн. Демек, отурган орундан, аларга эң жакын көрүүчүгө чейинки аралык максималдуу болушу керек. Ар дайым орун бош экендиги жана кеминде бир көрүүчү отургандыгы кепилденет. Берилген орундар саптары (нөлдөр жана бирлердин массиви) үчүн, тандалган орундан эң жакын көрүүчүгө чейинки аралыкты (орундар арасындагы аралык санын) кайтарган функция жазгыла. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }