Увод у питања дизајна и питања за интервјуе система
Дизајн система је поступак дефинисања елемената система као што су архитектура, компоненте и модули, различита сучеља тих компоненти и статистика која пролази кроз тај систем. Инжењерингом логичног и ефикасног система предвиђено је да задовољи специфичне захтеве и потребе предузећа или организације. То подразумева организован приступ дизајнирању система. Приступ одоздо према горе или одоздо је потребан да би се узеле у обзир све повезане варијабле система. Дизајнери користе моделе за пренос података и знања у структури система која је дефинисана компатибилним сетом правила и дефиниција. Дизајни се могу описати на језицима текстуалног или графичког моделирања.
Неки од примера језика графичког моделирања су:
- Обједињени језик моделирања (УМЛ): Описује софтвер и бихевиорално и структурално са графичким нотацијама.
- Нотација за моделирање пословних процеса (БПМН): Користи се за моделирање процеса
- Језик моделирања система (СисМЛ): Користи се за инжењеринг система.
- Дијаграм тока: Симболички или поступни приказ алгоритма.
Шта треба очекивати у интервјуу за системски дизајн?
Такав интервју обично започиње врло отвореним проблемом као што је дизајнирање сопствене друштвене мреже (попут Фацебоока, Твиттера). Како дискусија напредује, анкетар ће додати додатна ограничења или претпоставке да би смањио обим проблема.
Да бисте се ухватили у коштац са тим питањима, ствари које вам помажу су вежбање и структуриран приступ.
Сада, ако тражите посао који је повезан са дизајном система, тада се требате припремити за питања о дизајну система за 2019. годину. Тачно је да је сваки разговор другачији према различитим профилима посла. Овде смо припремили важна Дизајн система за питања и одговоре који ће вам помоћи да постигнете успех у свом интервјуу.
У овом чланку о питању дизајна система за 2019. годину представићемо 10 најважнијих и најчешће постављаних питања о дизајну система за систем. Ова питања су подељена у два дела:
Први део - Дизајн система Интервјуи (основни)
Овај први део покрива основни дизајн система Интервјуи и питања
К1) Дизајнирајте ТиниУРЛ или бит.ли (услуга за скраћивање УРЛ-ова)?
Одговор:
Осмислите функције које би систем требало прво да подржи. Друго, смислите процењени број скалабилности система.
Током дизајнирања услуге треба узети у обзир три ствари:
- АПИ (РЕСТ АПИ) - Клијентов комуникацијски приступ са услугом заједно са балансом оптерећења који је предњи крај услуге.
- Апликацијски слој - радничке нити или домаћини који узимају УРЛ и генеришу малени УРЛ за њега и обоје их похрањују у постојани слој.
- Персистент Лаиер - база података
Ствари које треба анализирати:
- Генерирајте јединствени ИД за сваки УРЛ и генерирајте ИД-ове у скали од 1000 захтјева за скраћивање УРЛ-ова долази сваке секунде.
- Преусмеравања управљачке ручице.
- Подршка прилагођених УРЛ адреса.
- Праћење статистике кликова
- Избришите истечене УРЛ-ове
2) Дизајнирајте ИоуТубе / Нетфлик (глобални сервис за стриминг видео записа)?
Одговор:
Ствари које треба анализирати:
- Услуга ће у видео записима чувати и преносити огромну количину података коју велики број корисника може истовремено гледати и делити.
- Снимите статистике о видео записима, на пример, укупан број прегледа, повећаних гласова / гласова доле и сл.
- Додавање коментара на видео снимке у реалном времену.
Компоненте:
- ОЦ - Облаци попут АВС, ОпенЦоннецт који делују као мрежа за испоруку садржаја.
- Бацкенд - База података
- Клијент - било који уређај (Десктоп, Андроид, иПхоне) са којег репродукујете видео на ИоуТубе / Нетфлик.
Идемо на следећа питања о интервјуу за дизајн система.
3) Дизајн Куора / Реддит / ХацкерНевс (друштвена мрежа + услуга огласне плоче)?
Одговор:
Ствари које треба анализирати:
Људи који користе услуге могу делити линкове или постављати питања. Други корисници могу одговарати на питања или коментарисати дељене везе. Дакле, услуга треба да уради следеће:
- Биљежи се статистика за сваки одговор, нпр. Укупан број прегледа, прегласавања / спуштања гласова итд.
- Корисници би требали бити у стању да прате друге кориснике или теме
- Листа главних питања о временској траци свих корисника и теме које прате (слично као генерација невсфеед-а).
4) Дизајнирајте Фацебоок Мессенгер или ВхатсАпп (глобални сервис за ћаскање)?
Одговор:
Ово су основна питања о дизајну система која су постављена у интервјуу. Ствари које треба анализирати:
- Дизајнирајте један по један разговор између корисника.
- Проширење вашег дизајна на групне четове.
- Шта се може учинити када корисник није повезан на Интернет?
- Када послати пусх обавештења?
- Како осигурати енкрипцију од краја до краја?
Структура:
Клијент> Учитавање равнотеже> Чворови> Кеш (Редис)> База података (Цасандра)
5) Дизајнерска претрага Типеахеад (Аутоматско довршавање)?
Одговор:
Ствари које треба анализирати:
- Треба да се доставе предлози типа.
- Критеријуми за избор предлога.
- Да ли систем треба бити у стварном времену?
- Подржите персонализацију са предлозима.
- Упити у секунди које треба обрадити од стране система.
- Количина података за складиштење.
Део 2 - Питања о интервјуу за дизајн система (напредно)
Погледајмо сада напредна питања везана за дизајн система.
6) Дизајнирајте Дропбок / Гоогле диск / Гоогле Пхотос?
Одговор:
Ствари које треба анализирати:
- Како преносити / прегледати / претраживати / делити датотеке или фотографије?
- Пратите дозволе за дељење датотека.
- Допуштање више корисника да уређују исти документ.
7) Дизајнирајте Фацебоок, Твиттер или Инстаграм?
Одговор:
Карактеристике које треба узети у обзир:
- Неке од Твиттер / Фацебоок / Инстаграм функција које треба подржати.
- Морате подржати одговоре на твеетове / групирање твеетова у разговорима.
- Контрола приватности око сваког твита.
- Подржавају трендинг твеетс
- Директно слање порука
- Споменице / таговање
Ствари које треба анализирати:
- Број корисника и саобраћај којим ће се руковати систем.
- Број пратилаца које корисник има.
- Број фаворита твита.
Компоненте неопходне за пројектовање:
- Невсфеед генератион
- Социјални графикон
- Систематско претраживање и складиштење за постове / твеетове.
Идемо на следећа питања о интервјуу за дизајн система.
8) Дизајнирате веб претраживач?
Одговор:
Потребна је скалабилна услуга која може претраживати читав веб и прикупити стотине милиона веб докумената.
Ствари које треба анализирати:
- Проналажење нових веб страница.
- Предност приоритета веб страница које се динамички мењају.
- Осигурати да алат за индексирање не може безгранично бити повезан на исту домену.
9) Дизајн Убер:
Одговор:
Ово су често постављана питања о дизајну система у интервјуу. Архитектура: Монолитне / Микро услуге (Реалтиме сервис, Фронт-енд (Апликација) и база података)
- Помоћни сервис сервисује мобилни промет и клијенти се повезују с подупирачем преко мобилних података.
- Клијенти се повезују са системом отпреме који одговара возачима и возачима.
- Отпрема се скоро у целости пише у ноде.јс.
- Мапе / ЕТА: Да би се шпедиција одлучила на интелигентан избор, важно је набавити мапе и податке о усмеравању.
- Услуге: Услуге пословне логике углавном написане у питхон-у.
- Базе података: Постгрес, Редис, МиСКЛ.
Ствари које треба анализирати:
- Купац захтева вожњу и како их економски ускладити са возачима у близини.
- Складиштење тона географских локација за возаче и возаче који су увек у покрету.
- Руковање исправкама локацијама возача.
10) Дизајнирајте АПИ ограничење брзине (Гитхуб)?
Одговор:
Ствари које треба анализирати:
- Ограничавање броја захтева које ентитет може послати АПИ-ју у временском прозору, на пример, десет захтева у секунди.
- Ограничавање брзине требало би да ради за распршено подешавање, јер су АПИ-ји доступни путем групе сервера.
Препоручени чланци
Ово је водич за листу питања и одговора за интервју за дизајн дизајна система како би кандидат могао лако да разбије ова питања у вези са дизајном система. Овде у овом посту проучили смо врхунска питања о дизајну система која се често постављају у интервјуима. Такође можете погледати следеће чланке да бисте сазнали више -
- АутоЦАД питања за интервју
- Питања о интервјуу за Пхотосхоп
- Адобе Иллустратор за почетнике
- Помоћник графичког дизајнера