mirror of
https://github.com/yakimka/python_interview_questions.git
synced 2025-12-16 19:17:04 +03:00
First version
This commit is contained in:
321
README.md
321
README.md
@@ -1 +1,320 @@
|
||||
# Вопросы для подготовки к интервью на позицию Python Developer
|
||||
# Вопросы для подготовки к Python Developer интервью
|
||||
|
||||
## Disclaimer
|
||||
|
||||
Ответы на вопросы собирал давно и с попеременным успехом.
|
||||
Где-то могут быть неточности, где-то откровенный бред (особенно в разделе про БД). Источники также выбирались не очень переборчиво.
|
||||
Часть ссылок на источники может быть не указана по причине забывчивости или просто случайно была утеряна.
|
||||
Владелец этого репозитория не несет ответственности за ущерб причиненный содержимым этого репозитория,
|
||||
работой Python-разработчика и работой как таковой.
|
||||
|
||||
## Собственно вопросы
|
||||
|
||||
[questions.md](questions.md)
|
||||
|
||||
## FAQ
|
||||
|
||||
### Что это?
|
||||
|
||||
Список вопросов для подготовки к интервью. Могут быть полезны как интервьюеру так и интервьюируемому
|
||||
|
||||
### Зачем?
|
||||
|
||||
Как-то увидел [статью](https://habr.com/ru/post/439576/) на Хабре где было много вопросов,
|
||||
но практически не было ответов и не смог пройти мимо.
|
||||
|
||||
### Нашел ошибку/опечатку/бред в ответах или хочу добавить еще вопросов
|
||||
|
||||
Молодец, создавай PR. Не забудь добавить себя в [contributors.md](contributors.md)
|
||||
|
||||
### Не хочу читать в Markdown, хочу читать в электронной книге
|
||||
|
||||
Пожалуйста [questions.epub](questions.epub)
|
||||
|
||||
## Список вопросов
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [Python](questions.md/#Python)
|
||||
* [Последовательности](questions.md/#Последовательности)
|
||||
+ [Что такое последовательность](questions.md/#Что-такое-последовательность)
|
||||
+ [Какие операции поддерживают большинство последовательностей](questions.md/#Какие-операции-поддерживают-большинство-последовательностей)
|
||||
+ [Какие виды строк бывают в питоне](questions.md/#Какие-виды-строк-бывают-в-питоне)
|
||||
+ [Можно ли изменить отдельный символ внутри строки](questions.md/#Можно-ли-изменить-отдельный-символ-внутри-строки)
|
||||
+ [Как соединить список строк в одну. Как разбить строку на список строк](questions.md/#Как-соединить-список-строк-в-одну-Как-разбить-строку-на-список-строк)
|
||||
+ [Как кодировать и декодировать строки](questions.md/#Как-кодировать-и-декодировать-строки)
|
||||
+ [Чем список отличается от кортежа](questions.md/#Чем-список-отличается-от-кортежа)
|
||||
+ [Что такое диапазон](questions.md/#Что-такое-диапазон)
|
||||
+ [Как сделать список уникальным (без повторяющихся элементов)](questions.md/#Как-сделать-список-уникальным-без-повторяющихся-элементов)
|
||||
+ [Есть кортеж из трех элементов. Назначить переменным a, b, c его значения](questions.md/#Есть-кортеж-из-трех-элементов-Назначить-переменным-a-b-c-его-значения)
|
||||
+ [Как сравниваются последовательности](questions.md/#Как-сравниваются-последовательности)
|
||||
* [Множества и отображения](questions.md/#Множества-и-отображения)
|
||||
+ [Как понять хешируемый ли объект](questions.md/#Как-понять-хешируемый-ли-объект)
|
||||
+ [Что такое множество](questions.md/#Что-такое-множество)
|
||||
+ [Для чего применяются множества](questions.md/#Для-чего-применяются-множества)
|
||||
+ [Какие операции можно производить над множествами](questions.md/#Какие-операции-можно-производить-над-множествами)
|
||||
+ [Как происходит проверка множеств на равенство](questions.md/#Как-происходит-проверка-множеств-на-равенство)
|
||||
+ [Что такое отображение](questions.md/#Что-такое-отображение)
|
||||
+ [Какие нюансы есть в использовании чисел как ключей](questions.md/#Какие-нюансы-есть-в-использовании-чисел-как-ключей)
|
||||
+ [Какие операции можно производить над отображениями](questions.md/#Какие-операции-можно-производить-над-отображениями)
|
||||
+ [Что возвращает метод items](questions.md/#Что-возвращает-метод-items)
|
||||
+ [Как отсортировать список словарей по определенному полю](questions.md/#Как-отсортировать-список-словарей-по-определенному-полю)
|
||||
+ [Что может являться ключом словаря. Что не может. Почему](questions.md/#Что-может-являться-ключом-словаря-Что-не-может-Почему)
|
||||
+ [Есть два списка – ключи и значения. Как составить из них словарь](questions.md/#Есть-два-списка-–-ключи-и-значения-Как-составить-из-них-словарь)
|
||||
+ [Как работает хэш-таблица](questions.md/#Как-работает-хэш-таблица)
|
||||
+ [Что такое коллизия](questions.md/#Что-такое-коллизия)
|
||||
+ [Где будет быстрее поиск, а где перебор и почему: dict, list, set, tuple](questions.md/#Где-будет-быстрее-поиск-а-где-перебор-и-почему-dict-list-set-tuple)
|
||||
* [Функции](questions.md/#Функции)
|
||||
+ [Что такое args, kwargs. В каких случаях они требуются](questions.md/#Что-такое-args-kwargs-В-каких-случаях-они-требуются)
|
||||
+ [Почему использовать изменяемые объекты как параметры по-умолчанию плохо. Приведите пример плохого случая. Как исправить](questions.md/#Почему-использовать-изменяемые-объекты-как-параметры-по-умолчанию-плохо-Приведите-пример-плохого-случая-Как-исправить)
|
||||
+ [Можно ли передавать функцию в качестве аргумента другой функции](questions.md/#Можно-ли-передавать-функцию-в-качестве-аргумента-другой-функции)
|
||||
+ [Можно ли объявлять функцию внутри другой функции. Где она будет видна](questions.md/#Можно-ли-объявлять-функцию-внутри-другой-функции-Где-она-будет-видна)
|
||||
+ [Что такое лямбды. Каковы их особенности](questions.md/#Что-такое-лямбды-Каковы-их-особенности)
|
||||
+ [Допустимы ли следующие выражения](questions.md/#Допустимы-ли-следующие-выражения)
|
||||
+ [Как передаются значения аргументов в функцию или метод](questions.md/#Как-передаются-значения-аргументов-в-функцию-или-метод)
|
||||
+ [Что такое замыкание](questions.md/#Что-такое-замыкание)
|
||||
* [Итераторы и генераторы](questions.md/#Итераторы-и-генераторы)
|
||||
+ [Что такое контейнер](questions.md/#Что-такое-контейнер)
|
||||
+ [Что такое итерабельный объект](questions.md/#Что-такое-итерабельный-объект)
|
||||
+ [Что такое итератор](questions.md/#Что-такое-итератор)
|
||||
+ [Что такое генератор](questions.md/#Что-такое-генератор)
|
||||
+ [Что такое генераторная функция](questions.md/#Что-такое-генераторная-функция)
|
||||
+ [Что делает yield](questions.md/#Что-делает-yield)
|
||||
+ [В чем отличие \[x for x in y\] от (x for x in y)](questions.md/#В-чем-отличие-x-for-x-in-y-от-x-for-x-in-y)
|
||||
+ [Что особенного в генераторе](questions.md/#Что-особенного-в-генераторе)
|
||||
+ [Как объявить генератор](questions.md/#Как-объявить-генератор)
|
||||
+ [Как получить из генератора список](questions.md/#Как-получить-из-генератора-список)
|
||||
+ [Что такое подгенератор](questions.md/#Что-такое-подгенератор)
|
||||
+ [Какие методы есть у генераторов](questions.md/#Какие-методы-есть-у-генераторов)
|
||||
+ [Можно ли извлечь элемент генератора по индексу](questions.md/#Можно-ли-извлечь-элемент-генератора-по-индексу)
|
||||
+ [Что возвращает итерация по словарю](questions.md/#Что-возвращает-итерация-по-словарю)
|
||||
+ [Как итерировать словарь по парам ключ-значение](questions.md/#Как-итерировать-словарь-по-парам-ключ-значение)
|
||||
+ [Что такое сопрограмма](questions.md/#Что-такое-сопрограмма)
|
||||
* [Классы, объекты](questions.md/#Классы-объекты)
|
||||
+ [Как получить список атрибутов объекта](questions.md/#Как-получить-список-атрибутов-объекта)
|
||||
+ [Что такое магические методы, для чего нужны](questions.md/#Что-такое-магические-методы-для-чего-нужны)
|
||||
+ [Как в классе сослаться на родительский класс](questions.md/#Как-в-классе-сослаться-на-родительский-класс)
|
||||
+ [Возможно ли множественное наследование](questions.md/#Возможно-ли-множественное-наследование)
|
||||
+ [Что такое MRO](questions.md/#Что-такое-MRO)
|
||||
+ [Что такое Diamond problem](questions.md/#Что-такое-Diamond-problem)
|
||||
+ [Что такое миксины](questions.md/#Что-такое-миксины)
|
||||
+ [Что такое контекстный менеджер. Как написать свой](questions.md/#Что-такое-контекстный-менеджер-Как-написать-свой)
|
||||
+ [Прокомментировать выражение](questions.md/#Прокомментировать-выражение)
|
||||
+ [Что такое \_\_slots\_\_. Плюсы, минусы](questions.md/#Что-такое-__slots__-Плюсы-минусы)
|
||||
+ [В чем смысл параметров _value, __value](questions.md/#В-чем-смысл-параметров-_value-__value)
|
||||
+ [Что такое \_\_new\_\_. И чем он отличается от \_\_init\_\_. В какой последовательности они выполняются](questions.md/#Что-такое-__new__-И-чем-он-отличается-от-__init__-В-какой-последовательности-они-выполняются)
|
||||
+ [Что такое и чем отличается old-style от new-style classes](questions.md/#Что-такое-и-чем-отличается-old-style-от-new-style-classes)
|
||||
+ [Что такое утиная типизация](questions.md/#Что-такое-утиная-типизация)
|
||||
* [Модули, пакеты](questions.md/#Модули-пакеты)
|
||||
+ [Что такое модуль](questions.md/#Что-такое-модуль)
|
||||
+ [Как можно получить имя модуля](questions.md/#Как-можно-получить-имя-модуля)
|
||||
+ [Что такое модульное программирование](questions.md/#Что-такое-модульное-программирование)
|
||||
+ [Как Python ищет модули при импорте](questions.md/#Как-Python-ищет-модули-при-импорте)
|
||||
+ [Что такое пакет](questions.md/#Что-такое-пакет)
|
||||
+ [Что вы можете сказать о конструкции import package.item](questions.md/#Что-вы-можете-сказать-о-конструкции-import-packageitem)
|
||||
* [Исключения](questions.md/#Исключения)
|
||||
+ [Что такое обработка исключений](questions.md/#Что-такое-обработка-исключений)
|
||||
+ [Для чего могут применять конструкцию try finally без except](questions.md/#Для-чего-могут-применять-конструкцию-try-finally-без-except)
|
||||
+ [Как правильно по-разному обрабатывать исключения](questions.md/#Как-правильно-по-разному-обрабатывать-исключения)
|
||||
+ [Что будет если ошибку не обработает блок except](questions.md/#Что-будет-если-ошибку-не-обработает-блок-except)
|
||||
+ [Что делать если нужно перехватить исключение, выполнить действия и опять возбудить это же исключение](questions.md/#Что-делать-если-нужно-перехватить-исключение-выполнить-действия-и-опять-возбудить-это-же-исключение)
|
||||
+ [Что такое сцепление исключений](questions.md/#Что-такое-сцепление-исключений)
|
||||
+ [Зачем нужен блок else](questions.md/#Зачем-нужен-блок-else)
|
||||
+ [Что можно передать в конструктор исключения](questions.md/#Что-можно-передать-в-конструктор-исключения)
|
||||
+ [Какие есть классы исключений](questions.md/#Какие-есть-классы-исключений)
|
||||
+ [В каких случаях можно обработать SyntaxError](questions.md/#В-каких-случаях-можно-обработать-SyntaxError)
|
||||
+ [Можно ли создавать собственные исключения](questions.md/#Можно-ли-создавать-собственные-исключения)
|
||||
+ [Для чего нужны предупреждения (warnings) и как создать собственное](questions.md/#Для-чего-нужны-предупреждения-warnings-и-как-создать-собственное)
|
||||
+ [Для чего нужен модуль warning](questions.md/#Для-чего-нужен-модуль-warning)
|
||||
* [Декораторы](questions.md/#Декораторы)
|
||||
+ [Что такое декораторы. Зачем нужны](questions.md/#Что-такое-декораторы-Зачем-нужны)
|
||||
+ [Что может быть декоратором. К чему может быть применен декоратор](questions.md/#Что-может-быть-декоратором-К-чему-может-быть-применен-декоратор)
|
||||
+ [Что будет, если декоратор не возвращает ничего](questions.md/#Что-будет-если-декоратор-не-возвращает-ничего)
|
||||
+ [В чем отличие \@foobar от \@foobar()](questions.md/#В-чем-отличие-foobar-от-foobar)
|
||||
+ [Что такое фабрика декораторов](questions.md/#Что-такое-фабрика-декораторов)
|
||||
+ [Зачем нужен wraps](questions.md/#Зачем-нужен-wraps)
|
||||
* [Метаклассы](questions.md/#Метаклассы)
|
||||
+ [Что такое метаклассы](questions.md/#Что-такое-метаклассы)
|
||||
+ [Что такое type. Как работает поиск метакласса при создании объекта](questions.md/#Что-такое-type-Как-работает-поиск-метакласса-при-создании-объекта)
|
||||
+ [Как работают метаклассы](questions.md/#Как-работают-метаклассы)
|
||||
+ [Зачем вообще использовать метаклассы](questions.md/#Зачем-вообще-использовать-метаклассы)
|
||||
* [Ввод-Вывод](questions.md/#Ввод-Вывод)
|
||||
+ [Что такое файловый объект](questions.md/#Что-такое-файловый-объект)
|
||||
+ [Какие есть виды файловых объектов](questions.md/#Какие-есть-виды-файловых-объектов)
|
||||
+ [В чем отличие текстовых и бинарных файлов](questions.md/#В-чем-отличие-текстовых-и-бинарных-файлов)
|
||||
+ [Как пользоваться функцией open](questions.md/#Как-пользоваться-функцией-open)
|
||||
+ [Для чего необходимо закрывать файлы](questions.md/#Для-чего-необходимо-закрывать-файлы)
|
||||
+ [Что делают методы tell и seek](questions.md/#Что-делают-методы-tell-и-seek)
|
||||
+ [Что делают StringIO и BytesIO](questions.md/#Что-делают-StringIO-и-BytesIO)
|
||||
+ [Являются ли файловые объекты контекстными менеджерами](questions.md/#Являются-ли-файловые-объекты-контекстными-менеджерами)
|
||||
+ [Что такое сериализация](questions.md/#Что-такое-сериализация)
|
||||
+ [json.dumps / json.dump , json.loads / json.load](questions.md/#jsondumps--jsondump--jsonloads--jsonload)
|
||||
+ [Что делать если нужно сериализовать данные, которые не поддерживаются стандартным модулем json](questions.md/#Что-делать-если-нужно-сериализовать-данные-которые-не-поддерживаются-стандартным-модулем-json)
|
||||
+ [pickle.dumps / pickle.dump, pickle.loads / pickle.load](questions.md/#pickledumps--pickledump-pickleloads--pickleload)
|
||||
* [Тестирование](questions.md/#Тестирование)
|
||||
+ [Пирамида тестирования](questions.md/#Пирамида-тестирования)
|
||||
+ [Что такое mocking](questions.md/#Что-такое-mocking)
|
||||
+ [Что делать, если тестируемая функция использует удалённое подключение к внешним сервисам, которое иногда видает ошибку таймаута, 404 и им подобные](questions.md/#Что-делать-если-тестируемая-функция-использует-удалённое-подключение-к-внешним-сервисам-которое-иногда-видает-ошибку-таймаута-404-и-им-подобные)
|
||||
+ [Что делать, если тестируемая функция занимает много времени на выполнение повторяющихся операций внутри неё](questions.md/#Что-делать-если-тестируемая-функция-занимает-много-времени-на-выполнение-повторяющихся-операций-внутри-неё)
|
||||
+ [Какие вы знаете виды тестов](questions.md/#Какие-вы-знаете-виды-тестов)
|
||||
- [Unit-тесты](questions.md/#Unit-тесты)
|
||||
- [Интеграционные тесты (Integration tests)](questions.md/#Интеграционные-тесты-Integration-tests)
|
||||
- [Функциональное тестирование](questions.md/#Функциональное-тестирование)
|
||||
- [Системный тест (System test, Service test)](questions.md/#Системный-тест-System-test-Service-test)
|
||||
- [Проверка работоспособности (Smoke test, Sanity check)](questions.md/#Проверка-работоспособности-Smoke-test-Sanity-check)
|
||||
- [Регрессионное тестирование (Regression testing)](questions.md/#Регрессионное-тестирование-Regression-testing)
|
||||
- [Прочее](questions.md/#Прочее)
|
||||
+ [Чем интеграционное тестирование отличается от функционального](questions.md/#Чем-интеграционное-тестирование-отличается-от-функционального)
|
||||
* [Функциональное программирование](questions.md/#Функциональное-программирование)
|
||||
+ [Что такое функциональное программирование](questions.md/#Что-такое-функциональное-программирование)
|
||||
+ [Как у Python с поддержкой функционального программирования](questions.md/#Как-у-Python-с-поддержкой-функционального-программирования)
|
||||
+ [Что такое объект первого класса](questions.md/#Что-такое-объект-первого-класса)
|
||||
+ [Что такое функция высшего порядка](questions.md/#Что-такое-функция-высшего-порядка)
|
||||
+ [Что такое каррирование](questions.md/#Что-такое-каррирование)
|
||||
+ [Опишите функции map, reduce, filter модуля functools](questions.md/#Опишите-функции-map-reduce-filter-модуля-functools)
|
||||
+ [Какие еще вы знаете функции из модуля functools](questions.md/#Какие-еще-вы-знаете-функции-из-модуля-functools)
|
||||
+ [Какие вы функции знаете из модуля itertools](questions.md/#Какие-вы-функции-знаете-из-модуля-itertools)
|
||||
+ [Для чего нужен модуль operator](questions.md/#Для-чего-нужен-модуль-operator)
|
||||
* [GIL, потоки, процессы](questions.md/#GIL-потоки-процессы)
|
||||
+ [Что такое GIL. Какие у него есть проблемы](questions.md/#Что-такое-GIL-Какие-у-него-есть-проблемы)
|
||||
+ [Работали ли Вы с asyncio. В чём его особенность](questions.md/#Работали-ли-Вы-с-asyncio-В-чём-его-особенность)
|
||||
+ [Что такое async/await, для чего они нужны и как их использовать](questions.md/#Что-такое-asyncawait-для-чего-они-нужны-и-как-их-использовать)
|
||||
+ [Как в питоне реализуется многопоточность. Какими модулями](questions.md/#Как-в-питоне-реализуется-многопоточность-Какими-модулями)
|
||||
+ [В чем отличие тредов от мультипроцессинга](questions.md/#В-чем-отличие-тредов-от-мультипроцессинга)
|
||||
+ [Какие задачи хорошо параллелятся, какие плохо](questions.md/#Какие-задачи-хорошо-параллелятся-какие-плохо)
|
||||
+ [Нужно посчитать 100 уравнений. Делать это в тредах или нет](questions.md/#Нужно-посчитать-100-уравнений-Делать-это-в-тредах-или-нет)
|
||||
+ [Треды в Питоне — это нативные треды или нет](questions.md/#Треды-в-Питоне-—это-нативные-треды-или-нет)
|
||||
+ [Что такое гринлеты. Общее понятие. Примеры реализаций](questions.md/#Что-такое-гринлеты-Общее-понятие-Примеры-реализаций)
|
||||
* [Какие варианты реализации шаблона Singleton на питоне](questions.md/#Какие-варианты-реализации-шаблона-Singleton-на-питоне)
|
||||
* [Какие вы знаете инструменты для проверки кодстайл](questions.md/#Какие-вы-знаете-инструменты-для-проверки-кодстайл)
|
||||
* [Что такое list/dict comprehension](questions.md/#Что-такое-listdict-comprehension)
|
||||
* [Какая разница между одинарным и двойным подчеркиванием](questions.md/#Какая-разница-между-одинарным-и-двойным-подчеркиванием)
|
||||
* [Что такое garbage collector. В чём его плюсы и минусы](questions.md/#Что-такое-garbage-collector-В-чём-его-плюсы-и-минусы)
|
||||
* [Что такое интроспекция](questions.md/#Что-такое-интроспекция)
|
||||
* [Что такое рефлексия](questions.md/#Что-такое-рефлексия)
|
||||
- [Django](questions.md/#Django)
|
||||
* [Что такое Middleware, для чего, как реализуется](questions.md/#Что-такое-Middleware-для-чего-как-реализуется)
|
||||
* [Назовите основные мидлвари. Зачем они нужны](questions.md/#Назовите-основные-мидлвари-Зачем-они-нужны)
|
||||
* [Опишите алгоритм работы CSRF middleware](questions.md/#Опишите-алгоритм-работы-CSRF-middleware)
|
||||
* [Что такое сигналы? Зачем нужны? Назовите основные](questions.md/#Что-такое-сигналы-Зачем-нужны-Назовите-основные)
|
||||
* [Как реализуется связь m2m на уровне базы данных](questions.md/#Как-реализуется-связь-m2m-на-уровне-базы-данных)
|
||||
* [Чем лучше отправлять форму — GET или POST](questions.md/#Чем-лучше-отправлять-форму-—-GET-или-POST)
|
||||
* [Как работает Serializer в Django REST Framework](questions.md/#Как-работает-Serializer-в-Django-REST-Framework)
|
||||
* [Что такое Meta в классах Django и для чего нужен](questions.md/#Что-такое-Meta-в-классах-Django-и-для-чего-нужен)
|
||||
* [За что отвечает Meta в сериализаторе](questions.md/#За-что-отвечает-Meta-в-сериализаторе)
|
||||
* [Какая разница в быстродействии между django и Flask (и почему)](questions.md/#Какая-разница-в-быстродействии-между-django-и-Flask-и-почему)
|
||||
* [Как в django работает система аутентификации](questions.md/#Как-в-django-работает-система-аутентификации)
|
||||
- [Веб-разработка](questions.md/#Веб-разработка)
|
||||
* [Что такое CGI. Плюсы, минусы](questions.md/#Что-такое-CGI-Плюсы-минусы)
|
||||
* [Как защитить куки от воровства и от подделки](questions.md/#Как-защитить-куки-от-воровства-и-от-подделки)
|
||||
* [Какая разница между аутентификацией и авторизацией](questions.md/#Какая-разница-между-аутентификацией-и-авторизацией)
|
||||
* [Что такое XSS. Примеры. Как защитить приложение](questions.md/#Что-такое-XSS-Примеры-Как-защитить-приложение)
|
||||
* [REST & SOAP](questions.md/#REST--SOAP)
|
||||
+ [Что такое REST](questions.md/#Что-такое-REST)
|
||||
+ [Что такое SOAP](questions.md/#Что-такое-SOAP)
|
||||
+ [В чем разница между REST и SOAP веб сервисами](questions.md/#В-чем-разница-между-REST-и-SOAP-веб-сервисами)
|
||||
+ [Можем ли мы посылать SOAP сообщения с вложением](questions.md/#Можем-ли-мы-посылать-SOAP-сообщения-с-вложением)
|
||||
+ [Как бы вы решили какой из REST или SOAP веб сервисов использовать](questions.md/#Как-бы-вы-решили-какой-из-REST-или-SOAP-веб-сервисов-использовать)
|
||||
* [Какие способы для мониторинга веб-приложений в production вы использовали или знаете](questions.md/#Какие-способы-для-мониторинга-веб-приложений-в-production-вы-использовали-или-знаете)
|
||||
- [HTTP](questions.md/#HTTP)
|
||||
* [Как устроен протокол HTTP](questions.md/#Как-устроен-протокол-HTTP)
|
||||
* [Написать raw запрос главной Яндекса](questions.md/#Написать-raw-запрос-главной-Яндекса)
|
||||
* [Как клиенту понять, удался запрос или нет](questions.md/#Как-клиенту-понять-удался-запрос-или-нет)
|
||||
* [Что нужно отправить браузеру, чтобы перенаправить на другую страницу](questions.md/#Что-нужно-отправить-браузеру-чтобы-перенаправить-на-другую-страницу)
|
||||
* [Как управлять кешированием в HTTP](questions.md/#Как-управлять-кешированием-в-HTTP)
|
||||
* [Как кэшируются файлы на уровне протокола](questions.md/#Как-кэшируются-файлы-на-уровне-протокола)
|
||||
* [Что такое HTTP](questions.md/#Что-такое-HTTP)
|
||||
* [Чем отличаются HTTP и HTTPS](questions.md/#Чем-отличаются-HTTP-и-HTTPS)
|
||||
- [Общее](questions.md/#Общее)
|
||||
* [ООП](questions.md/#ООП)
|
||||
+ [Инкапсуляция](questions.md/#Инкапсуляция)
|
||||
+ [Наследование](questions.md/#Наследование)
|
||||
+ [Полиморфизм](questions.md/#Полиморфизм)
|
||||
+ [Абстракция](questions.md/#Абстракция)
|
||||
* [SOLID, что означает, общее понимание](questions.md/#SOLID-что-означает-общее-понимание)
|
||||
* [Что такое code cohesion & code coupling](questions.md/#Что-такое-code-cohesion--code-coupling)
|
||||
* [Какие шаблоны проектирования вы знаете](questions.md/#Какие-шаблоны-проектирования-вы-знаете)
|
||||
+ [Порождающие (Creational)](questions.md/#Порождающие-Creational)
|
||||
- [Абстрактная фабрика (Abstract factory)](questions.md/#Абстрактная-фабрика-Abstract-factory)
|
||||
- [Построитель (Builder)](questions.md/#Построитель-Builder)
|
||||
- [Фабричный метод (Factory method)](questions.md/#Фабричный-метод-Factory-method)
|
||||
- [Прототип (Prototype)](questions.md/#Прототип-Prototype)
|
||||
- [Одиночка (Singleton)](questions.md/#Одиночка-Singleton)
|
||||
- [Порождающие паттерны. Итог](questions.md/#Порождающие-паттерны-Итог)
|
||||
+ [Структурные (Structural)](questions.md/#Структурные-Structural)
|
||||
- [Адаптер (Adapter)](questions.md/#Адаптер-Adapter)
|
||||
- [Мост (Bridge)](questions.md/#Мост-Bridge)
|
||||
- [Компоновщик (Composite)](questions.md/#Компоновщик-Composite)
|
||||
- [Декоратор (Decorator)](questions.md/#Декоратор-Decorator)
|
||||
- [Фасад (Facade)](questions.md/#Фасад-Facade)
|
||||
- [Приспособленец (Flyweight)](questions.md/#Приспособленец-Flyweight)
|
||||
- [Заместитель (Proxy)](questions.md/#Заместитель-Proxy)
|
||||
- [Структурные паттерны. Итог](questions.md/#Структурные-паттерны-Итог)
|
||||
+ [Поведенческие (Behavioral)](questions.md/#Поведенческие-Behavioral)
|
||||
- [Цепочка ответственности (Chain of responsobility)](questions.md/#Цепочка-ответственности-Chain-of-responsobility)
|
||||
- [Команда (Command)](questions.md/#Команда-Command)
|
||||
- [Интерпретатор (Interpreter)](questions.md/#Интерпретатор-Interpreter)
|
||||
- [Итератор (Iterator)](questions.md/#Итератор-Iterator)
|
||||
- [Посредник (Mediator)](questions.md/#Посредник-Mediator)
|
||||
- [Хранитель (Memento)](questions.md/#Хранитель-Memento)
|
||||
- [Наблюдатель (Observer)](questions.md/#Наблюдатель-Observer)
|
||||
- [Состояние (State)](questions.md/#Состояние-State)
|
||||
- [Стратегия (Strategy)](questions.md/#Стратегия-Strategy)
|
||||
- [Шаблонный метод (Template method)](questions.md/#Шаблонный-метод-Template-method)
|
||||
- [Посетитель (Visitor)](questions.md/#Посетитель-Visitor)
|
||||
- [Поведенческие паттерны. Итог](questions.md/#Поведенческие-паттерны-Итог)
|
||||
* [Что такое lru cache](questions.md/#Что-такое-lru-cache)
|
||||
* [Что такое MQ](questions.md/#Что-такое-MQ)
|
||||
* [Какие готовые реализации MQ вы знаете](questions.md/#Какие-готовые-реализации-MQ-вы-знаете)
|
||||
* [Что такое RPC](questions.md/#Что-такое-RPC)
|
||||
* [Что такое gPRC](questions.md/#Что-такое-gPRC)
|
||||
- [Алгоритмы, структуры](questions.md/#Алгоритмы-структуры)
|
||||
* [Что такое рекурсия. Какие минусы, плюсы](questions.md/#Что-такое-рекурсия-Какие-минусы-плюсы)
|
||||
* [Что такое хвостовая рекурсия](questions.md/#Что-такое-хвостовая-рекурсия)
|
||||
* [Как можно оптимизировать хвостовую рекурсию в Python](questions.md/#Как-можно-оптимизировать-хвостовую-рекурсию-в-Python)
|
||||
* [О-большое при оценке сложности](questions.md/#О-большое-при-оценке-сложности)
|
||||
* [Простой поиск](questions.md/#Простой-поиск)
|
||||
* [Бинарный поиск](questions.md/#Бинарный-поиск)
|
||||
* [Рекурсивные алгоритмы](questions.md/#Рекурсивные-алгоритмы)
|
||||
* [Быстрая сортировка](questions.md/#Быстрая-сортировка)
|
||||
* [Граф](questions.md/#Граф)
|
||||
* [Очередь и стек](questions.md/#Очередь-и-стек)
|
||||
* [Дерево](questions.md/#Дерево)
|
||||
* [Поиск в ширину](questions.md/#Поиск-в-ширину)
|
||||
* [Алгоритм Дейкстры](questions.md/#Алгоритм-Дейкстры)
|
||||
* [Жадные алгоритмы](questions.md/#Жадные-алгоритмы)
|
||||
* [Как распознать NP-полную задачу](questions.md/#Как-распознать-NP-полную-задачу)
|
||||
* [Динамическое программирование](questions.md/#Динамическое-программирование)
|
||||
* [Алгоритм k ближайших соседей](questions.md/#Алгоритм-k-ближайших-соседей)
|
||||
* [Алгоритм Ричарда Фейнмана](questions.md/#Алгоритм-Ричарда-Фейнмана)
|
||||
- [Frontend](questions.md/#Frontend)
|
||||
* [Что такое куки. Зачем они, как с ними работать и где они сохраняются](questions.md/#Что-такое-куки-Зачем-они-как-с-ними-работать-и-где-они-сохраняются)
|
||||
* [Может ли сервер изменить (добавить, удалить) куки](questions.md/#Может-ли-сервер-изменить-добавить-удалить-куки)
|
||||
* [Что такое JWT (JSON Web Token)](questions.md/#Что-такое-JWT-JSON-Web-Token)
|
||||
- [SDLC](questions.md/#SDLC)
|
||||
* [Agile/Scrum](questions.md/#AgileScrum)
|
||||
* [Какая разница между CI и CD](questions.md/#Какая-разница-между-CI-и-CD)
|
||||
* [Какая разница между Scrum и Kanban](questions.md/#Какая-разница-между-Scrum-и-Kanban)
|
||||
* [Вопрос для тим-лидов: что Вы будете делать, если на проекте нет тестов и заказчик не хочет тратить на их разработку время и деньги](questions.md/#Вопрос-для-тим-лидов-что-Вы-будете-делать-если-на-проекте-нет-тестов-и-заказчик-не-хочет-тратить-на-их-разработку-время-и-деньги)
|
||||
* [Что такое Code Debt и как с ним быть](questions.md/#Что-такое-Code-Debt-и-как-с-ним-быть)
|
||||
- [VCS](questions.md/#VCS)
|
||||
* [Что такое Git Flow](questions.md/#Что-такое-Git-Flow)
|
||||
* [Что такое Git Rebase](questions.md/#Что-такое-Git-Rebase)
|
||||
* [Что такое Git Cherry pick](questions.md/#Что-такое-Git-Cherry-pick)
|
||||
* [Что такое force push](questions.md/#Что-такое-force-push)
|
||||
* [Что такое pre-commit check](questions.md/#Что-такое-pre-commit-check)
|
||||
- [БД](questions.md/#БД)
|
||||
* [Что такое транзакция. Какие у неё есть свойства](questions.md/#Что-такое-транзакция-Какие-у-неё-есть-свойства)
|
||||
* [Какие команды управления транзакциями вы знаете](questions.md/#Какие-команды-управления-транзакциями-вы-знаете)
|
||||
* [Что такое уровни изолированности транзакций. Какие они бывают](questions.md/#Что-такое-уровни-изолированности-транзакций-Какие-они-бывают)
|
||||
* [Что такое вложенные транзакции](questions.md/#Что-такое-вложенные-транзакции)
|
||||
* [Что такое курсор и зачем он нужен](questions.md/#Что-такое-курсор-и-зачем-он-нужен)
|
||||
* [Какая разница между PostgreSQL и MySQL](questions.md/#Какая-разница-между-PostgreSQL-и-MySQL)
|
||||
* [Что такое VACUUM в PostgreSQL](questions.md/#Что-такое-VACUUM-в-PostgreSQL)
|
||||
* [Что такое EXPLAIN. Какая разница между ним и EXPLAIN ANALYZE](questions.md/#Что-такое-EXPLAIN-Какая-разница-между-ним-и-EXPLAIN-ANALYZE)
|
||||
* [Какие виды Join'ов вы знаете, чем они отличаются друг от друга](questions.md/#Какие-виды-Joinов-вы-знаете-чем-они-отличаются-друг-от-друга)
|
||||
- [Вопросы работодателю](questions.md/#Вопросы-работодателю)
|
||||
* [Вопросы HR'у](questions.md/#Вопросы-HRу)
|
||||
* [Вопросы для технического собеседования](questions.md/#Вопросы-для-технического-собеседования)
|
||||
- [Интересные ссылки](questions.md/#Интересные-ссылки)
|
||||
- [Источники вопросов](questions.md/#Источники-вопросов)
|
||||
|
||||
Reference in New Issue
Block a user