-
Что такое полиморфизм?
- Полиморфизм - это одно из главных составляющих ООП. Полиморфизм даёт возможность объектам с одинаковым интерфейсом иметь различную реализацию и позволяет использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Реализация может быть изменена в процессе наследования. Это позволяет создавать абстрактные программы и повторно использовать код.
-
Что такое инкапсуляция? Что такое нарушение инкапсуляции?
- Инкапсуляция - это сокрытие реализации и внутренней структуры класса, а также ограничение доступа к внутренней структуре. Нарушение инкапсуляции - это раскрытие внутренней реализации класса, а также использование полей класса в обход диспетчеризации (геттеры, сеттеры).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Какие вопросы должен задавать программист своему потенциальному работодателю | |
29 ноября 2013 | |
Мне очень давно хотелось написать заметку на эту тему, но что-то все никак руки не доходили. А тут недавно я наткнулся на замечательный пост, который так точно отражает мое видение ситуации, что я даже подумывал просто взять и перевести его на русский язык. Но в конце концов я решил все-таки написать свою версию, немного расширенную и чуть более адаптированную к российским реалиям. | |
Чисто на случай, если для кого-то это не вполне очевидно, сообщаю, что на собеседовании не только оценивают вас, но и вы оцениваете потенциальное место работы. Поэтому прийти, порешать задачки, а затем отправиться домой ждать звонка — не лучшая идея. Чтобы получить представление о компании и условиях работы в ней, нужно задавать вопросы. Примерно такие. | |
1. Какая методология разработки используется в команде? Scrum, водопадная модель, XP, или что? Правильный ответ — Scrum или Scrum с элементами XP. Чистый XP в России, насколько мне известно, |
##Sublime linter setup Displays warnings and errors from ESLint. You need eslint installed. See readme of https://github.com/roadhump/SublimeLinter-eslint for eslint installation instructions
- With Package Manager, install SublimeLinter and SublimeLinter-contrib-eslint
Cmd+Shift+P
should now have aSublimeLinter: Lint This View
option- Running that should lint your file. It should also run the linter on file load and save (configurable on SublimeLinter settings)
##Sublime formatter setup Autoformats your files according to ESLint --fix option
- зачем нужны ветки ? (для возможности работы с отдельным частями проекта)
- какие бывают ветки ? (master: по-умолчанию, develop и другие вспомогательные ветки)
- зачем нужен .gitignore ? (для исключения из git'а файлов и папок, чтобы исключить конфликты при слиянии веток)
- какие проблемы за нас решает git-flow и почему стоит его использовать ? (git-flow автоматизирует процесс управления версиями и приводит систему к общепринятой модели управления версиями)
- что будет если не писать сообщения к комитам ? (тяжело будет разобраться в каком состоянии находится проект и какие правки были введены)
- unit testing (необходимо для тестирования отдельных модулей системы, как-правило это какие-то классы или объединенные участки кода имеющие общую цель)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
if (!function_exists('get_query_with_bindings')) { | |
function get_query_with_bindings($query): string | |
{ | |
$sql = $query->toSql(); | |
$replace = '?'; | |
$replaceLength = strlen($replace); | |
foreach ($query->getBindings() as $binding) { | |
if (!is_int($binding)) { |