Вопросы каждый хороший разработчик Базы данных/SQL должны смочь ответить [закрытый]

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

Что делают вопросы Вы думаете, что хорошая БАЗА ДАННЫХ/SQL-ПРОГРАММИСТ должна смочь ответить на?

66
задан 4 revs, 3 users 73% 23 May 2017 в 10:30
поделиться

22 ответа

Различные типы присоединений:

  • Внутреннее соединение
  • Левый и правый Внешний присоединение
  • Полное присоединение
  • Cross Access

См. Джефф Атвуд Визуальное объяснение присоединений

  • Что такое ключ? Ключ кандидата? Первичный ключ? Альтернативный ключ? Иностранный ключ?
  • Какой индекс и как он помогает вашей базе данных?

  • Какие типы данных доступны и когда использовать какие из них?

31
ответ дан 24 November 2019 в 15:01
поделиться

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

-121--4460315-

Знание не использовать, а почему не использовать:

SELECT *
4
ответ дан 24 November 2019 в 15:01
поделиться

Вот несколько:

  • Что такое нормализация и почему это важно?
  • Каковы некоторые ситуации, где вы будет де-нормализовать данные?
  • Что такое транзакция и почему это важно?
  • Что такое ссылочная целостность и почему это важно?
  • Какие шаги будут предпринять к Исследуйте отчеты о медленной базе данных Производительность?
12
ответ дан 24 November 2019 в 15:01
поделиться

Приведите пример, где предпочтительна денокрарализация.

(Мне нравится этот, потому что люди приходят из колледжа, которые хотят поставить все в 3-й нормальную форму)

1
ответ дан 24 November 2019 в 15:01
поделиться

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

2
ответ дан 24 November 2019 в 15:01
поделиться

Какая разница между кластерный индекс и не разбитый Индекс?

Другой вопрос, который я бы спросил, это не для конкретного сервера:

Что такое тупик?

5
ответ дан 24 November 2019 в 15:01
поделиться

Почему мы должны нанимать вас, когда у нас есть сложное приложение, используя правильно оптимизированные системы кэширования ORM и реализации, такие как memcached ?

Это серьезный вопрос, Они должны быть в состоянии оправдать свое существование. Как любит Джефф Этвуд, чтобы сказать « аппаратное обеспечение дешево, программисты дорогие »

2
ответ дан 24 November 2019 в 15:01
поделиться

В нашей компании, вместо того, чтобы просить много вопросов SQL, которые могут ответить кому-либо с хорошей памятью, мы создали тест разработчиков SQL. Тест спроектирован, чтобы кандидата собрал твердую схему с нормализацией и соображениями RI и RI, проверки ограничениями и т. Д., А затем иметь возможность создавать некоторые запросы для получения наборов результатов, которые мы ищем. Они создают все это против краткого спецификации дизайна, которую мы даем им. Им разрешено делать это дома и занять столько времени, сколько им нужно (в пределах разума).

5
ответ дан 24 November 2019 в 15:01
поделиться

Я бы дал плохо написанный запрос и спросить их, как они поступят о настройке производительности.

Я бы спросил о набор теории. Если вы не понимаете, работающие в наборах, вы не можете эффективно запросить реляционную базу данных.

Я бы дал им некоторые примеры курсора и спросить, как они переписывают их, чтобы они сделали их на основе.

Если работа задействовала импорт и экспорт, я бы задать вопросы о SSIS (или других инструментах, участвующих в этом, используемых другими Datbases). Если он задействовал, что написание отчетов, я хотел бы знать, что они понимают агрегаты и группировки (а также Crystal Reports или SSRS или любой экспортирующий инструмент, который вы используете).

Я бы задал разницу в результатах между этими тремя запросами:

select  a.field1
        , a.field2
        , b.field3
from table1 a
join table2 b
    on a.id = b.id
where a.field5 = 'test'
    and b.field3 = 1

select  a.field1
        , a.field2
        , b.field3
from table1 a
left join table2 b
    on a.id = b.id
where a.field5 = 'test'
    and b.field3 = 1

select  a.field1
        , a.field2
        , b.field3
from table1 a
left join table2 b
    on a.id = b.id and b.field3 = 1
where a.field5 = 'test'
5
ответ дан 24 November 2019 в 15:01
поделиться

Что такое впрыск SQL и как вы его не мешаете?

Что такое курсор и когда бы вы использовали его (или нет) и почему?

8
ответ дан 24 November 2019 в 15:01
поделиться

Я поместил этот ответ, потому что Erwin Smout разместил A Ответ , который был настолько неправильно, он подчеркнул, что, вероятно, надо специально охранять его.

Эрвин предложил:

«Почему каждый выбор всегда включает в себя отличное?»

Более подходящий вопрос: если кто-то должен был сделать утверждение, что: «Каждый выбор всегда включает в себя отличное»; Как бы вы прокомментировали претензию?

Если кандидат не может снимать претензию в огне, они либо:

  • не понимают проблему с требованием.
  • отсутствие в критических навыках мышления.
  • Не хватает способности передавать технические вопросы.

Для записи

  1. предположим, что ваш запрос является правильным , и не возвращает никаких дубликатов, а затем, в том числе различные, просто заставляет RDBMS проверить ваш результат (нулевую пользу и много дополнительной обработки).
  2. Предположим, что ваш запрос неверный , а делает дубликаты , затем, включая различные просто проблема (снова с дополнительной обработкой). Было бы лучше обнаружить проблему и исправить ваш запрос ... это будет так быстрее.
8
ответ дан 24 November 2019 в 15:01
поделиться

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

Вопрос становится страхом из этой ссылки .

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

create table PilotSkills (
  pilot_name char(15) not null,
  plane_name char(15) not null
)

create table Hangar (
  plane_name char(15) not null
)

Выберите имена пилотов, которые могут летать на каждом самолете в ангаре.

Ответ:

select distinct pilot_name
from PilotSkills as ps1 
where not exists (
  select * from hangar
  where not exists (
    select * from PilotSkills as ps2 where 
      ps1.pilot_name = ps2.pilot_name and 
      ps2.plane_name = hangar.plane_name
  )
)

или ...

Выберите все пользователи переполнения стека, которые приняли ответы на вопросы, помеченные с помощью 10 самых популярных языков программирования .

Ответ (возможный) (возможный) (предполагающий View_answers View and A Target_Language_tags Таблица с нужными тегами):

select distinct u.user_name
from Users as u
join Accepted_Answers as a1 on u.user_id = a1.user_id
where not exists (
  select * from Target_Language_Tags t
  where not exists (
    select * 
      from Accepted_Answers as a2
      join Questions as q on a2.question_id = q.question_id
      join Question_Tags as qt on qt.question_id = q.question_id 
    where 
      qt.tag_name = t.tag_name and
      a1.user_id = a2.user_id
  )
)
3
ответ дан 24 November 2019 в 15:01
поделиться

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

Основы


  1. Выбрать колонны от таблицы
  2. Агрегаты Часть 1: Количество , SUM , MAX / Мин
  3. Агрегаты Часть 2: Отчетность , , , , , , имеющих промежуточное соединение


  1. Присоединение S, ANSI-89 и синтаксис ANSI-92
  2. Союз В.С. Союз Союз All
  3. NULL Обработка: Coalesce & NULL DANGLING
  4. подзапросы: в , существует , И встроенные виды
  5. подзапросы: коррелированные
  6. С помощью Синтаксис Синтаксис Синтаксис: подзаконный факторинг / CTE
  7. Виды

Расширенные темы


  • Функции, хранимые процедуры, пакеты
  • . Синтаксис корпуса и поворота
  • иерархические запросы
  • Курсоры: неявный и явный
  • Триггеры
  • Динамический SQL
  • Материализированные виды
  • Оптимизация запросов: Индексы
  • Оптимизация запросов: Объясните планы
  • Запрос Оптимизация: профилирование
  • Моделирование данных: нормальные формы, 1-3
  • Моделирование данных: первичный и зарубежный Клавиши
  • Моделирование данных: ограничения таблиц
  • Моделирование данных: таблицы ссылки
  • Полный текст Поиск
  • XML
  • Уровни изоляции
  • Диаграммы соотношения сущности (ERDS), логические и физические
  • Транзакции: Commit , Откат , обработка ошибок
28
ответ дан 24 November 2019 в 15:01
поделиться
  • Объясните возможные ограничения на таблицы
  • Объяснить представления (и материализованные)
  • Объяснить последовательности
  • Объясните триггеры
0
ответ дан 24 November 2019 в 15:01
поделиться
  • Как вы обнаружите и разрешаете проблемы параллелизма в слое приложений?
  • Какие блокирующие парадигмы обычно доступны и обсуждают свои плюсы и минусы.
  • Обсудить нулевые значения и связанные с ними вопросы.
  • Какова самая большая система баз данных, на которой вы работали с точки зрения: # Таблицы, # строки, # пользователи.

Также следующие вопросы, специфичные платформы (SQL Server):

  • Обсудить столбцы идентичности.
  • Для чего используется Timestamp DataType для?
1
ответ дан 24 November 2019 в 15:01
поделиться

«Почему каждый выбор всегда включает в себя отличное?»

-2
ответ дан 24 November 2019 в 15:01
поделиться
  • Объясните разницу между Внутреннее и внешнее соединение.
  • Что такое картезианский продукт?
  • Объясните 3-й нормальную форму
0
ответ дан 24 November 2019 в 15:01
поделиться

Приложение используется 24 часа в день. Ваше окно обслуживания / обновления 2 часа каждый месяц, как вы планируете минимизировать нарушение?

1
ответ дан 24 November 2019 в 15:01
поделиться
  • Каковы значения с использованием операторов SQL Adhoc / On-Fly и что бы Вместо этого вы делаете?

Эта область может оказать огромное влияние на производительность и безопасность БД. Получите это неправильно, и вы могли бы в конечном итоге в мире боли.

  • В каких ситуациях вы будете использовать операторы SQL Adhoc / On-Fly?

, потому что всегда есть исключение из правила :)

0
ответ дан 24 November 2019 в 15:01
поделиться

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

Вопрос был - как бы вы описали базу данных вашему 5-летнему ребенку?

1
ответ дан 24 November 2019 в 15:01
поделиться
  • Какие типы баз данных привели вам, как разработчик, больше проблем, чтобы понять и отлаживать? Ожидаемый ответ, ИМХО, опыт работы с проблемами с использованием разных типов даты / Timestamp и Blob .

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

1
ответ дан 24 November 2019 в 15:01
поделиться

Что Plan объясняет и насколько интерпретировать результаты, которые вы получаете от нее.

1
ответ дан 24 November 2019 в 15:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: