... , посвященного вопросам на
для программистов. Точная ...
Продолжаю размещать переводы с англоязычного сайта www.techinterviews.com, посвященного вопросам на собеседовании для программистов. Точная ссылка вот
вот . Ответы в основном переведены с сайта. В общем, ответы, как всегда, так себе...
Какие два метода используются для получения в SQL ?
На techinterviews.com ответа не было ответа, но по одним слухам это запрос select и cursor-ы, по другим хранимые процедуры и select. Первый вариант вероятнее.
Какой тип курсора вы используете для получения множества записей ?
...
Какая разница между "where" и "having" выражениями ?
- "Where" это ограничительное выражение. Вы используете его чтобы ограничить вывод всех данных из БД. "Where" выражение используется перед получением результата. Выражение "having" это один из видов фильтрующей команды.
Какая базовая форма SQL выражения чтения данных из таблицы ?
- Базовая форма чтения данных это ‘SELECT * FROM table_name; ‘. Ответ ‘SELECT * FROM table_name WHERE xyz= ‘whatever’;’ не является базовой формой, потому что есть выражение "where".
Какие структуры БД вы должны реализовать для ускорения операций чтения из таблиц ?
- В соответствии с правилами настройки БД мы должны: 1) правильно использовать индексы 2) правильно разместить объекты БД по разным tablespace, файлам и т.п. 3) создание специального пространства (tablespace) для локализации данных специальных типов (например, CLOB, LOB)
Каковы компромисы использования индексов ?
- 1. Быстрые выборки, медленные обновления. 2. Дополнительное место для хранения индексов. Обновления медленнее, потому что обновляя данные в таблице в ыдолжны также обновлять данные индекса.
Что такое "join" ?
- ‘join’ используется для логгического объекдинения 2-х или более таблиц с или без общими полями.
Что такое нормолизация и денормолизация ? Зачем используется денормолизация ?
- Нормолизация данных значит удаление избыточной информации из таблицы, и организация данных так, чтобы будущие изменения таблиц были простыми.
Денормализация значит разрешение избыточности в данных. Главнай польза от денормолизации это увеличение производительности, а также упрощение получения и обработки данных. Этого добиваются уменьшением количества join-ов необходимых для обработки данных.
Что такое ограничение "constraint" ?
- Ограничение позволяет применять простые проверки ссылочной целостности на таблицах.
Есть 4 основных типа ограничений, поддерживаемых на данный момент SQL Server-ом:
PRIMARY/UNIQUE - обеспечивают уникальность конкретной колонки таблицы. DEFAULT - определяют значения по умолчанию для колонки (если, например, значение не было заданно при insert-е).
FOREIGN KEY - проверка для каждого из значений в колонке наличия такого же значения в заданной колонке другой заданной таблицы. CHECK - проверяет каждое значение помещаемое в колонку, соответствует ли оно определенным правилам (например, значению из списка).
Каждый тип ограничения выполняет специальный тип действия. NOT NULL еще один тип ограничения, проверяет чтобы в колонку не поместили значение NULL.
Какой тип индексированных данных вы можете иметь ?
- Тмп индекса влияет на поиск данных для выемки. Разные данные удобно искать по разным индекасам. Три наиболее общих типа такие: B-Tree (генерализованные деревья бинарного поиска),
bitmap - битовые карты (содержат строки битов, каждое значение соответствует биту в строке битов индекса, поиск быстрый, но требуется небольшое количество возможных значений данных),
- Хэш коды (упаковывают длинные данные в короткие коды, которые гораздо быстрее сравнивать, минус в долгом изначальном строительстве хэша при создании индекса).
Что такое первичный ключ ?
- PRIMARY INDEX/PRIMARY KEY это то что пришло из теории БД. Его поведение такое же как у UNIQUE INDEX, то есть в таких колонках не должны встречаться повторяющиеся значения в разных строках. Значения в колонках уникальны. Все колонки помеченные как первичный ключ должны быть помеченны как NOT NULL.
Кроме того первичный ключ в SQL Server значит, то как сами данные таблицы отсортированны и хранятся (в гранулированных красно черных деревьях). Именно по колонке первичного ключа должно происходить наибольшое число выборок данных, тогда производительность максимальна
Что такое "функциональная зависимость" ? Как она влияет на дизайн таблиц БД ?
- Функциональная зависимость относится к тому, как один объект БД зависит от другого в БД. Например, процедура sp2 может вызывать процедуру sp1. Таким образом sp2 функционально зависит от sp1.
Что такое тригер ?
Тригеры это специальный вид хранимых процедур, которые созданны для поддержания целостности данных в БД. Тригер срабатывает каждый раз когда операция модификации данных производится (insert, update, delete). Тригеры срабатываю автоматически. Они могут вызываться рекурсивно и
взаимно рекурсивно. Тригеры ассоциируются с конкретной таблицей.
The types of statements are insert,update,delete and query statements. Basically, trigger is a set of SQL statements A trigger is a solution to the restrictions of a constraint. For instance: 1.A database column cannot carry PSEUDO columns as criteria where a trigger can. 2. A database constraint cannot refer old and new values for a row where a trigger can.
Почему выражения "group by" или "order by" дорогие для выполнения (снижают производительность) ?
- Выполнение "group by" или "order by" требует создания временных таблиц для промежуточных результатов запросов. А это в зависимости от результирующего набора данных может быть очень дорогим (долгим).
Что такое покарытие индексов (index covering) запроса ?
- Это значит, что данные могут быть найдены только посредством индексов, без использования собственно таблиц
Какие типы объединений (join algorithms) вы знаете ?
См. Памятка по JOIN-ам в SQL
Поездки в Старый Свет для многих россиян – дело обычное: бизнес, личные цели, отдых или учеба. Но во всех этих случаях проблема одна – оформление визы. Как правило, процедура от оформления заявки до получения желаемого документа отнимает многие дни, недели, а порой месяцы. И все это сопровождается канителью и бумажной волокитой, на которую не всегда Далее...
Запись Получение визы в оперативно сжатые сроки впервые появилась Крым сквозь время.
... , посвященного вопросам на
для программистов. Точная ...
Продолжаю размещать переводы с англоязычного сайта www.techinterviews.com, посвященного вопросам на собеседовании для программистов. Точная ссылка вот вот .
1) Какой запрос будет работать быстрее: с несколькими OR или с IN (то же количество значений) ?
2) Что делают записи кэширующей таблицы MyISAM ? (тут, возможно, что то другое имелось ввиду...)
3) Что быстрее явный (explicit) или неявный (implicit) INNER JOIN ?
4) Правда ли InnoDB быстрее/лучше чем MyISAM ?
5) Правда ли что CHAR быстрее чем VARCHAR ?
6) Правда ли что VARCHAR(80) быстрее чем VARCHAR(255) ?
7) Есть ли снижение прроизводительности при объединении таблиц из разных движков хранения (storage engines) ?
8) Если я заменю derived таблицу на представление увеличится ли производительность ?
9) Если я вижу Using temporary; Using filesort в колонке Extra вывода EXPLAIN,
значит ли это, что временная таблица будет создана на диске ?
10) Можно ли сделать FULL OUTER JOIN в MySQL?
Переписка с одним из кандидатов на вакантное место тестировщика. Оставляю синтаксис и формат в ...
Переписка с одним из кандидатов на вакантное место тестировщика. Оставляю синтаксис и формат в девственно неизменном стиле и - у кандидата, и - у себя.
Имен не упоминаю, опыт коллеги не раскрываю. Но очень прошу - другие мои дорогие коллеги, в переписке не используйте формат скайпа и сокращения слов - выглядит очень странно. И пугает.
1. Предыстория Кандидат откликнулся на нашу вакансию Технического писателя и по совместительству - бизнес аналитика. Я со свойственной целеустремленностью написал письмо.
Здравствуйте, Спасибо за отклик на нашу вакансиию, но к сожалению нам для этой позиции нужен человек больше технический писатель, чем бизнес аналитик.У нас есть открытая позиция технического специалиста, если вас заинтересовало готов ответить на вопросы по скайпу или телефону.Описание вакансии: http://hh.ru/vacancy/7580812
2. Кандидат ответилДобрый день.В принципе вакансии в области тестирования я рассматриваю,но вопрос в том куда из этой вакансии из тестирования возможно развитие?и...
[content]
... прошло мое первое
. Я так ... план проведения
с ...