2016-09-07 1 views
0

Надеюсь, это нормально, если вы разместите это здесь. Мне было интересно, может ли кто-нибудь поделиться образцом дизайна системы и вопросов и вопросов об интервью с архитектурой, в частности с интенсивной клиентской стороной/веб-фокусом и некоторой обработкой сервера. (например, палач с сервером, который просто хранит высокие баллы и предоставляет текущее слово угадывания) У меня появилось интервью, и с тех пор, как его полный рулетник по программному обеспечению стека, по 3, 45 минут каждый, вопрос проектирования системы и архитектуры будет попросив разработать приложение с тяжелым клиентским компонентом, а также посмотреть на отношения клиент/сервер.Нужна тяжелая клиентская сторона. Дизайн и архитектура дизайна. Идеи и ответы/советы

Кроме того, любая информация, которую вы можете поделиться о том, как подойти к ней/как она должна выглядеть на белой доске, будет отличной. Мне нравится создавать более насыщенный сервер проект, но я немного запутался в том, как вытащить архитектуру/систему на стороне клиента.

СПАСИБО!

ответ

0

Существовало несколько очень интересные вопросы, которые меня попросили и дискуссию, проведенную в течение более часа :)

  1. Design программного обеспечения для редактирования музыки, но улов несколько людей будут работать на одной и той же песне/дорожке одновременно. Он также должен поддерживать автономное редактирование и автоматическое обнаружение и разрешение столкновений (в то время я не очень хорошо знал Операционную трансформацию, используемую в Документах Google, но мне действительно было интересно это время)

  2. Как вы проектируете система объединения автомобилей? (Как вы можете догадаться, это было предложено в знаменитой поездки по обмену компании интервью)

Я не хочу, чтобы выплеснуть конструктивные идеи здесь подробно, но то, что помогло мне решить проблемы, как это является знайте, что нет идеального ответа, и вы имеете дело с множеством двусмысленностей. Вы должны действовать поэтапно, чтобы подробно описать требования и попытаться решить эту проблему с помощью общих шаблонов, таких как кеширование, горизонтальное масштабирование и т. Д. Большинство компаний даже ищут такие черты, как не делать преждевременных оптимизаций, получая слишком много обобщений и т. Д.

+0

carpooling вероятно, будет тяжелым сервером, а клиент - простое окно для логики решения группировки пула сервера. – BYC

+0

Не совсем верно, вам нужно отслеживать, где находятся автомобили, независимо от того, подходит ли водитель для размещения большего количества людей и т. Д. Если вы читаете архитектуру Uber, они используют телефон водителя как резервный центр обработки данных, когда первичный DC не работает или происходит переход на другой ресурс. Это проблема предложения спроса, и обе стороны уравнения одинаково сложны (хотя я согласен с тем, что фактическая работа по планированию происходит на стороне сервера) –