6 общих вопросов на собеседовании по проектированию систем (с примерами ответов)

5 октября 2021 г.

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

Что такое собеседование по системному дизайну?

Собеседование по системному проектированию проводится для того, чтобы дать кандидатам, таким как программисты, дизайнеры, разработчики и инженеры-программисты, достаточную возможность доказать свою компетентность в этой области путем практического применения знаний для решения реальной проблемы, с которой может столкнуться компания.

Собеседование по проектированию системы обычно проводится позже в процессе собеседования. Это испытание предназначено для того, чтобы увидеть, насколько хорошо вы работаете в команде, и ваш подход к решению проблем с использованием открытых вопросов для достижения наилучших возможных решений. Интервью по проектированию системы анализирует ваш процесс решения проблем и создания систем проектирования, чтобы помочь клиентам. Это возможность для вас показать менеджеру по найму и потенциальной команде, что вы являетесь ценным активом, и продемонстрировать свои навыки и опыт конкретным образом.

Вопросы и ответы на собеседовании по системному дизайну

Вопросы по проектированию системы обычно неоднозначны, чтобы дать вам возможность продемонстрировать свою квалификацию. Вы можете задать вопросы, прежде чем ответить, чтобы помочь вам сузить область, дать вам направление и прояснить любые ожидания.

Вот шесть общих вопросов, которые вам могут задать во время собеседования по проектированию системы:

1. Как бы вы спроектировали систему tinyURL?

TinyURL — это служба URL-адресов, которая позволяет пользователям вводить длинный URL-адрес, а затем возвращает более короткий уникальный URL-адрес. Менеджер по найму может попросить об этом, чтобы дать вам возможность продемонстрировать свои прочные основы в дизайне. Вы можете сосредоточиться на других основах, не перечисленных в примере ответа, например, как вы создаете уникальный идентификатор для каждого URL-адреса, как вы обрабатываете перенаправления и как вы удаляете просроченные URL-адреса.

Пример: «Когда я работал на общедоступном сайте обмена мгновенными сообщениями, мне поручили создать простую систему, в которой каждое сообщение было ограничено 140 символами. Это также потребовало сокращения URL-адресов примерно на 30 символов. Эта система крошечных URL-адресов также полезна при вводе гиперссылок. в сообщениях электронной почты или на смартфоне, где есть место для ошибки. TinyURL — прекрасный пример таблицы хэштегов. Эта структура данных связывает ключи со значениями и представляет собой простой код соединения. Используя эту базовую 16-битную хеш-таблицу, Мне удалось оптимизировать удобство использования и удовлетворить потребности системы».

2. Как бы вы разработали поисковую систему?

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

Пример: «До того, как я переехал сюда, я работал над проектом, подобным этому. Поисковая система, которую я должен был создать, должна была работать с поиском по ключевым словам. Я начал с создания индексатора, который представляет собой часть программного обеспечения, которое сканирует и выдает результаты в виде структуры данных. Сканер собирал ссылки на веб-страницы и группировал их или выгружал в наборы. Затем индексатор запускался как часть задания сокращения, чтобы выделить элементы. Для каждого веб-сайта подсчитывалось количество ссылок. и проанализированы для презентации. Я установил сканирование для H1 и H2, а не для H3. Затем я проверил исходящие ссылки, чтобы избежать спамеров. Наконец, я проверил результаты обслуживания, чтобы убедиться, что дизайн работает с оптимальной пропускной способностью и релевантностью».

3. Как вы разрабатываете поисковый робот и когда его следует использовать?

Поисковый робот — это программа, предназначенная для посещения других сайтов и считывания с них информации. Затем эта информация используется для создания записей для индекса поисковой системы. Обычно его называют «ботом» или «пауком». Не забудьте показать в своем объяснении, что вы знаете тонкости веб-сканирования.

Пример: «Несмотря на то, что сканирование Интернета является сложной задачей, мне удалось создать ее для предыдущего проекта. Сканер собирает данные из определенного сектора, в данном случае из индустрии моды. Мне нужно было интегрировать диспетчер URL-адресов, который сервер, в обязанности которого входит распространение начального URL-адреса на множество серверов. Затем руководитель сканирования передает URL-адрес ботам, используя разработанную очередь обмена сообщениями. Паук, основа любого поискового робота, извлекает данные с веб-страницы и загружает их. в мою файловую систему. Затем извлечение, преобразование и загрузка (ETL) очистили содержимое и переформатировали его для сохранения в базе данных. Таким образом, я смог сканировать Интернет в поисках и систематизации необходимой информации. “

4. Как вы проектируете общий диск?

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

Пример: «Эта система работает с дифференциальной синхронизацией. Она поддерживает синхронизацию двух или более копий одного и того же документа друг с другом в режиме реального времени, поэтому, если в одну версию вносится изменение, такое же изменение происходит во всех остальных. сложная задача, но дифференциальная синхронизация является масштабируемой и отказоустойчивой. Три распространенных подхода — владение, передача событий и трехстороннее слияние. В последний раз мне приходилось делать это для поддержки внутреннего обмена документами для одного из наших клиентов. совместная работа во времени, поэтому трехстороннее слияние не было хорошим вариантом, поскольку изменения теряются и не могут вступить в силу, так как серьезные конфликты являются обычным явлением Я использовал передачу событий, чтобы обеспечить совместную работу в реальном времени, поскольку подход блокировки или владения позволил бы только первый открывает документ, чтобы внести какие-либо коррективы. Это хорошо послужило нашему клиенту, поскольку его сотрудники могли работать вместе, даже находясь вне офиса или по разным графикам».

5. Что требуется для проектирования системы сбора мусора?

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

Пример: «Один из моих недавних клиентов нуждался в способе иметь больше памяти, но возникла проблема, связанная с тем, что всегда приходилось входить и заниматься освобождением памяти. Суть сборки мусора заключается в том, чтобы система выглядела так, бесконечное количество памяти. На самом деле происходит то, что система перераспределяет память. Когда система работает медленно, включается сборщик мусора и собирает то, что больше не используется. Я настроил их систему так, чтобы, если объект является ссылкой или рекурсивным по своей природе, он остается.Затем он методично проходит и помечает все, на что не было ссылки, и очищает только это.Использование метода отметки и очистки с командой void помогает переназначить и открыть память, которая больше не используется . Благодаря этому мой клиент получил более быструю систему с меньшими затратами на обслуживание».

6. Как вы разрабатываете систему рекомендаций?

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

Пример: «У одного из моих первых и самых лояльных клиентов возникла проблема, когда его клиенты изо всех сил пытались найти варианты на своем веб-сайте. Их поиск должен был быть точным, чтобы найти продукт. Я предложил внедрить систему рекомендаций, чтобы помочь с клиентами. удовлетворение и, возможно, продажи. Используя наиболее известный подход совместной фильтрации, я разработал систему, чтобы сплести своего рода информационный гобелен, чтобы давать клиентам наших клиентов предложения, основанные на сходстве пользователей. Система стала более удобной для пользователя и увеличила количество клиентов на 10%. продаж для моего клиента».

Советы по прохождению системного дизайна

Размышляя над своими ответами на приведенные выше стандартные вопросы собеседования по проектированию систем, попробуйте воспользоваться следующими советами, которые помогут вам почувствовать себя более уверенно и подготовиться к собеседованию:

Используйте технику ответа STAR

Форматирование ответов с помощью техника ответа на интервью STAR — это стратегия, которая поможет вам составить ответы, иллюстрирующие ваши знания и квалификацию на основе конкретного опыта. STAR — это аббревиатура от «ситуация, задача, действие и результат». Используя метод STAR, обсудите применимую ситуацию, определите задачу, которую вам нужно было выполнить, наметьте действия, которые вы предприняли, и расскажите о результатах ваших усилий, чтобы продемонстрировать свои навыки интервьюеру.

Понять цели

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

Используйте свой опыт как преимущество

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

Практика важна

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

Откройте для себя лучшие ресурсы Indeed для технология таланты, включая советы по карьере, образцы резюме, быстрые ссылки для поиска работы и многое другое.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *