Как отвечать на вопросы интервью администратора базы данных SQL Server
11 февраля 2021 г.
Сегодня SQL является одной из наиболее часто используемых баз данных. Если вы проходите собеседование на определенные должности в сфере ИТ, например администратор баз данных (DBA), может потребоваться знание SQL. Важно подумать о том, как продемонстрировать эти знания, чтобы представить себя лучшим кандидатом на эту работу.
В этой статье мы рассмотрим вопросы интервью администратора баз данных SQL Server и примеры ответов.
Чего ожидать от собеседования с базой данных SQL Server?
Администратор базы данных отвечает за широкий спектр задач различной сложности, связанных с данными и их хранением. В бизнес-среде, которая управляется высокой скоростью и большими объемами данных различных типов, квалифицированные администраторы баз данных играют жизненно важную роль в общем успехе компании и пользуются большим спросом.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Вы можете ожидать, что на собеседовании на должность администратора базы данных SQL будет предложено несколько вопросов, которые проверят ваши навыки и опыт. Форматы вопросов включают:
Те, которые связаны с основными знаниями базы данных
Вопросы инфраструктуры
Вопросы по разработке базы данных
Открытые вопросы
Общие вопросы и ответы на интервью с администраторами баз данных SQL Server
Вот пять общих вопросов интервью и примеры ответов:
Какие типы репликации поддерживаются SQL-сервером?
Как вы устраняете проблемы с производительностью на вашем SQL-сервере?
Что такое блокировка и как с ней бороться?
Что такое ДБКК?
Какие модели восстановления существуют в SQL Server?
Какие типы репликации поддерживаются SQL-сервером?
Репликация — это процесс, при котором данные хранятся более чем в одном месте в базе данных. Это общий вопрос, который проверяет ваши знания об обработке данных в системе SQL.
Пример: «В SQL-сервере существует три типа репликации, а именно моментальный снимок, слияние и транзакция.
* Репликация моментального снимка: этот тип репликации включает в себя моментальный снимок базы данных издателя, который затем распространяется среди подписчиков. Репликация моментальных снимков используется редко, так как требует много времени и ресурсов, но может быть применима, например, когда база данных подписчика должна быть полностью перезаписана.*
*Репликация слиянием: эта репликация хорошо подходит, когда и издателю, и подписчику необходимо внести изменения в свои базы данных, и эти изменения необходимо объединить.*
* Репликация транзакций: этот тип репликации имеет место, когда изменения происходят часто. Процесс репликации постоянно отслеживает изменения издателя, а затем соответствующим образом обновляет подписчиков».*
Как вы устраняете проблемы с производительностью на вашем SQL Server?
Как администратор базы данных, устранение проблем с базой данных должно быть вашей специальностью и важной функцией работы. Ответ на этот вопрос позволит вам показать на примере, что вы понимаете, как справляться с проблемами производительности, которые являются частью роли администратора баз данных.
В приведенном ниже примере вы увидите, что метод STAR для ответов на вопросы интервью используется в части ответа. Это метод, который просит вас рассказать о своем опыте, рассмотрев сложную ситуацию, свою роль в ситуации, какие задачи были выполнены для ее решения и какой общий результат был достигнут.
Пример: «Наиболее распространенные проблемы SQL-сервера связаны с процессором, памятью, сетью и узкими местами ввода-вывода. Чтобы разобраться в проблеме, есть несколько инструментов для устранения неполадок, которые вы можете использовать.
* Монитор производительности: это инструмент мониторинга системы Windows, который отображает показатели ключевых компонентов системы, таких как ЦП, память, диски и сеть.*
*План выполнения: это полезный инструмент SQL-сервера, так как планы выполнения запросов можно использовать для установления процессов, которые необходимо точно настроить для ускорения выполнения запроса.*
*SQL Profiler: этот инструмент помогает отслеживать и устранять проблемы в SQL-сервере, например, путем отслеживания и оценки запросов к базе данных.*
* Запросы DMV и DMF: представления и функции динамического управления — это системные представления и функции, которые позволяют администраторам отслеживать производительность экземпляра SQL-сервера, таким образом диагностируя проблемы.*
*SP_WHO2: это определенная хранимая процедура, которая предоставит вам информацию о текущих пользователях, сеансах и процессах в экземпляре SQL-сервера.*
По моему опыту, лучше иметь инструменты мониторинга производительности до возникновения любых проблем, которые могут потребовать мониторинга. Например, когда я был администратором баз данных в ChemCal Corp, мне поручали устранять проблемы по мере их возникновения. Чтобы решить эту проблему, я внедрил программное обеспечение для мониторинга, которое обостряло бы проблемы в порядке их серьезности. С уровнем видимости, обеспечиваемым инструментами мониторинга, я мог наблюдать за системой, даже когда все работало нормально. Это помогло мне лучше подготовиться к проблемам и тому, как с ними справляться».
Узнать больше: Как использовать метод ответа на интервью STAR
Что такое блокировка и как с ней бороться?
Чтобы иметь дело с чтением и записью из нескольких входных данных в базе данных, к фрагменту данных необходимо применить либо блокировку чтения, либо монопольную блокировку. Чтобы предотвратить изменение данных, когда человек их читает, к этим данным применяется блокировка чтения, и, если данные необходимо отредактировать, используется монопольная блокировка, чтобы люди не могли читать данные во время их изменения.
Эти две важные особенности базы данных приводят к преднамеренной блокировке данных. Блокировка важна для администраторов, потому что это функция, которую они могут использовать или устранять неполадки. Ответ на этот вопрос также дает вам возможность объяснить проблему с базой данных простыми и ясными терминами, понятными даже людям, не обладающим таким же уровнем технических знаний.
Пример: «Блокировка происходит, когда одно соединение удерживает блокировку ресурса, в то время как второе соединение хочет прочитать или записать его. Еще более сложная ситуация возникает, когда два соединения удерживают блокировку, но хотят получить доступ к ресурсу друг друга, что называется взаимоблокировкой.
Два эффективных способа обнаружения и решения проблем с блоками:
*SP_WHO2: эта хранимая процедура предоставит вам список запросов, и любой заблокированный процесс будет отображать SPID процесса, вызвавшего блокировку.*
*Набор команд DBCC, а точнее DBCCINPUTBUFFER, также можно использовать для отслеживания «неверного запроса», который блокирует другие процессы.*
* Монитор активности управления SQL Server: этот инструмент также можно использовать для просмотра процессов, чтобы узнать, какие из них находятся в заблокированном состоянии». *
Что такое ДБКК?
DBCC — это центр основных функций для любого администратора баз данных. Чтобы правильно ответить на этот вопрос, вместо того, чтобы повторять значение аббревиатуры, вместо этого предложите своему ответу как определение, так и функциональную ценность.
Пример: «DBCC — это аббревиатура от команд консоли базы данных, и они сгруппированы в четыре категории:
* Команды обслуживания: эти команды позволяют администратору баз данных выполнять действия по обслуживанию базы данных, такие как очистка кэшей, сжатие баз данных и поддержание пространства в базе данных. Примеры команд обслуживания DBCC включают DBCCCLEANTABL, DBCCINDEXDEFRAG и DBCCSHRINKFILE.*
* Информационные команды: предоставляет информацию о базе данных, такую как журналы транзакций, использование пространства и системную информацию. Информационные команды включают DBCCDBINFO, DBCC LOG и DBCCDBTABLE.*
* Команды проверки: эти команды используются для проверки согласованности базы данных. Команды включают DBCCCHECKDB, DBCCCHECKCATALOG и DBCCCHECKCONSTRAINTS.*
*Разные команды: Эти команды не относятся к трем другим категориям. Примерами являются DBCC HELP, DBCCOUTPUTBUFFER и DBCC SHOW_STATISTICS».*
Какие модели восстановления существуют в SQL Server?
Чтобы настроить функциональный план резервного копирования, вам необходимо решить, какую модель восстановления необходимо установить для каждой базы данных. Эта модель восстановления сообщает SQL, какие данные следует хранить в журнале транзакций и какое время. Тип резервного копирования, которое вы будете выполнять, также будет зависеть от выбранной вами модели восстановления и типа восстановления, которое вы можете выполнить.
Для администратора баз данных восстановление является важной функцией, поскольку иногда данные теряются, в них вносятся случайные изменения или они удаляются. Чтобы ответить на этот вопрос, будьте прямолинейными и подробными в своем ответе.
Пример: «Существует три типа моделей восстановления:
*Полное: это наиболее полная модель восстановления, так как все операции с базой данных полностью записываются в файл транзакции, что позволяет восстанавливать данные на любой конкретный момент времени. С помощью этой модели восстановления вы можете делать все виды резервных копий, включая полное, дифференциальное, частичное и восстановление на определенный момент времени. Однако при использовании такой модели необходимо периодически создавать резервные копии журнала транзакций, иначе он будет продолжать расти.*
* Массовое ведение журнала: эта модель восстановления аналогична модели полного восстановления, за исключением того, что некоторые операции с массовыми данными, такие как BULK INSERT, SELECT INTO и CREATE INDEX, не полностью регистрируются, в результате чего они не занимают так много времени. много места. С помощью этой модели восстановления вы по-прежнему можете выполнять восстановление на определенный момент времени, если ваша последняя резервная копия журнала транзакций не включала массовую операцию. Вы также можете выполнять все резервные копии с помощью этой модели восстановления, а также должны убедиться, что вы предотвращаете постоянное расширение файла журнала, планируя регулярное резервное копирование.*
*Простая: эта простая модель восстановления не хранит файлы журналов постоянно, а перезаписывает транзакции после их завершения. Поскольку данные перезаписываются, вы не сможете выполнить восстановление на определенный момент времени. Ваша последняя точка восстановления будет последней полной или дифференциальной резервной копией, которая была завершена. Однако при использовании этой модели восстановления ваш журнал транзакций не будет постоянно расти, как в случае с двумя предыдущими моделями».*