Golang
Խոսեք մոդերացիայի/օրգանիզատորի համակարգի նախագծման մասին — ինչպես նախագծվեց, ինչ որոշումներ ընդունվեցին?
Ի՞նչ ռազմավարություն կեշավորել՝ cache-aside կամ write-through՝ հաշվի առնելով օգտվողների վարքի ձևը պատվերի կարգավիճակը ստուգելիս։
Ի՞նչ կանոններ պետք է իմանալ ալիքների հետ աշխատելու ժամանակ (փակ, բաց, երբ ինչ կարելի է անել):
Գրեք խնդիր Go լեզվով — պրակտիկ բաժին (ծրագրավորողի կյանքի խնդիրներ, առանց ալգորիթմների): Ծախսը — 1,5 ժամ։
Եթե օգտվողները դժգոհում են մոնետիզացիայի մոդելի փոփոխությունից, բայց բիզնեսը ունի հստակ պլան, ինչ անել?
Կապի ուղիղ կոդավորում: սեմաֆոր — ինչպես է աշխատում և իրագործումը բուֆերային ալիքային հիման վրա։
Ի՞նչ մեթոդաբանություն եք օգտագործում՝ Scrum, Kanban կամ խառնուրդ?
Ի՞նչ սահմանափակում ունի սեմաֆորը և բուֆերային ալիքը՝ որպես լուծումներ՝ հոսքերի սահմանափակման համար։
Դու լսել ես արդեն [կազմակերպություն] կամ մեր արտադրանքների մասին?
Ի՞նչ են գնահատումները։
Ի՞նչ բանի հետ չես ուզում արդեն բախվել աշխատանքի ժամանակ։
Ի՞նչ է ձեր աստիճանը՝ middle, middle+, senior։
Կոդի վերլուծություն Go-ով՝ ինչ է անում կոդը, ինչ խնդիրներ կան?
Ի՞նչ խմբի (փոփոխական/անփոփոխ) է պատկանում Go-ի ինտերֆեյսը։
Իրավատու տոքենները ինչ են և ինչպիսի՞ն են:
Ի՞նչն է տարբերությունը ռելացիոն տվյալների բազաների և NoSQL-ի միջև։
Մասին՝ 150 միլիոն օգտվողների աջակցությամբ, 75 միլիոն DAU, 225 միլիոն MAU, 1.2M ընթերցում / 300k գրառումներ բարձր QPS, 5 միլիոն միաժամանակյա օգտվող, տարեկան 60 PB նոր տվյալներ, տարեկան 30% աճ, SLA 99.95%, p99 <200 ms ընթերցման համար, <300 ms գրառման համար: ԿԵՆՏԱԿՍՏ Պետք է նախագծել բաշխված հաղորդագրությունների համակարգ, որը նման է WhatsApp-ին, որը աջակցում է 1:1 և խմբային զրույցներ, ապահովում է հաղորդագրությունների առաքումը, ցուցադրում է օգտվողների առցանց վիճակները և թույլ է տալիս մուլտիմեդիա ֆայլերի (նկարներ, տեսանյութեր, ձայն) փոխանցում։ Համակարգը պետք է ապահովի բարձր հասանելիություն և ցածր ուշացում, աջակցի բարձր պարալելիզմ և գլոբալ մակարդակում ընդլայնվի։ Ֆունկցիոնալ պահանջներ - Աջակցություն անձնական (1:1) և խմբային զրույցների, մասնակիցների ավելացման/հեռացման հնարավորությամբ - Տեքստային հաղորդագրությունների և մուլտիմեդիա ֆայլերի ուղարկում և ստացում Անհայտ է end-to-end կոդավորումների մեխանիզմի հստակ իրականացումը ծառայությունների կամ հաճախորդների մակարդակով, բացի ընդհանուր նշումից։ - Չկա հստակ նկարագրություն sharding և ռեպլիկացիայի մասին chat_id կամ user_id հիման վրա՝ ընդլայնելիության և սխալի դիմակայության համար։ - Չկա հստակ բաղադրիչ կամ մեխանիզմ 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 { }