Skip to content

Instantly share code, notes, and snippets.

@notgosu
Created January 21, 2019 11:45
Show Gist options
  • Save notgosu/3f36945b95ee3f0c75742fc84679074d to your computer and use it in GitHub Desktop.
Save notgosu/3f36945b95ee3f0c75742fc84679074d to your computer and use it in GitHub Desktop.
Общая теория
ООП - как понимаешь
Полиморфизм в PHP
Принципы SOLID?
MVC? Какую роль выполняет каждый из составляющих элементов?
PHP
- [ ] PHP7, что нового
- [ ] PHP7, за счет чего скорость
- [ ] интерфейсы, модификатор доступа extends
- [ ] declare(strict_types=1); поведение типизации с ним и без
- [ ] Типы данных в PHP?
- [ ] Magic methods
- [ ] Множественное наследование
- [ ] Сработает ли магический метод __call при вызове не существующего статического метода? - нет
- [ ] Late static binding
- [ ] Анонимные функции/замыкания
- [ ] Исключения. Как обработать только нужные исключения?
- [ ] Отличия protected от private?
- [ ] Что такое static функция и чем она отличается от “обычной”?
- [ ] Какая разница между $this и self в PHP?
- [ ] Абстрактные классы.
- [ ] Final class and final Method
- [ ] PSR-0/2/3/4?
- [ ] TDD, PHPUnit, PHPSpec, Mockery, Behat, etc...? -
- [ ] SPL?
- [ ] Генераторы yield
- [ ] Как в пхп работает автозаргрузка класов. Как написать свой обработчик?
Базы данных
Каковы различия между MyISAM и InnoDB?
Mysql(GROUP BY, HAVING, индексы, составные, unique, foreign keys, use index/force index) Explain, rows count, Селективность колонки определяется количеством записей в таблице с одинаковыми значениями. Когда записей с одинаковым значением мало — селективность высокая. Такие колонки необходимо использовать первыми в составных индексах.
- транзакции
HASH индексы и B-Tree принципы работы
Sharding?
Replication?
MongoDB (collection, document, index, aggregation framework, find, update, insert, transactions, atomic operations)
Какой максимальный размер документа
Redis(типы данных)
ElasticSearch/Sphinx
Aрхитектуры
- Паттерны(порождающие -singleton, factory, структурные - DataMapper, DI, поведенческие - chain, observer, strategy, command)
- Масштабируемость(горизонтальная, вертикальная)
- Attacks: xss, csrf, sql-injection?
- Что такое HTTP протокол? (REST)/SOAP
- Refactoring? Why and how?
Profile’рование проекта(база, бизнес-логика, слоу лог) TTFB, blackfire.io,
Memcached инвалидами кэша
Symfony
Twig (что такое extends, block, include теги в twig, что такое render тег)
Doctrine (ODM, ORM): в каких форматах могут быть маппинги, что такое QueryBuilder, репозиторий. Как создать и сохранить объект в базу с помощью EntityManager (DocumentManager)
Composer: что значит ~ (тильда) в объявлении версии вендора? Что такое composer.lock, как выполнить установку\обновление вендоров, как обновить один вендор?
Что такое Bundle?
DependencyInjection - что это, для чего и как использовать
Какой класс может быть объявлен сервисом?
Какие виды инджекшенов в symfony вы знаете?
Технологии
RabbitMQ/Kafka
Linux?
JavaScript?
CSS?
Git?
Selenium, etc?
SimpleXML?
Other languages?
Vagrant\Docker\Puppet?
Деплой?
Other
Как прочитать большой текстовый файл?
Есть большой массив с числами, как найти только уникальные значения?
Есть файл с названием hello.txt, как получить расширение имени файла?
Есть функция sum(3,4), как сделать что бы она работала так: sum(0)(1)(2)(3)(4)(5) == 15 (JS)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment