Отвечаем на 100+ вопросов по собеседованию PHP

Подготовка к собеседованию на PHP Developer

Транскрипция видео:

  • Итак всем привет я решил записать видео про 100 плюс вопросов собеседования на PHP разработчика Почему я решил записать это видео потому что за несколько лет Я примерно по моим подсчетам прошел около больше 50 собеседований в разные компании Как мелкие такие крупные компании в какой-то мере конечно же и спешно и неуспешно и для себя в одно время Да и в принципе сейчас у меня был такой принцип что даже если я работаю в компании и не собираюсь из нее уходить меня все устраивает Я все равно для поддержки своих актуальных знаний для

    00:00:11 - 00:02:00

  • поддержки тонуса все равно проходил собеседование То есть твое в свободное время конечно Это было как онлайн так и оффлайн и поэтому я собрал более 100 вопросов и попытаюсь мы будем обращать внимание будем обращать внимание ровно на те вопросы на которые скажем так чаще всего собеседуемый хочет услышать хочет услышать ответ вот то есть [музыка] есть тут глобальное разделены на три категории как эти вопросы разделены глобально на три категории это Junior Middle и Singer Вот соответственно мы будем проходить по списку это видео

    00:01:06 - 00:02:57

  • Также можно смело использовать для того чтобы самому готовиться к собеседованию Вот и поэтому еще оговорюсь то что будут вопросы которые я осветил более подробно будут вопросы на которые есть либо удовлетворительный ответ либо не удовлетворительный поэтому то есть там где я считал нужным обратить внимание и раскрыть те вопросы которые мы уже все знаем ответы но есть некие какие-то подводные камни мы на них более подробно остановимся и так поехали в общем Ну начиная с первого вопроса тут все понятно по поводу ссылок и ссылками то

    00:02:03 - 00:03:52

  • же самое то есть тоже могут дать вопрос А как же вообще передается переменная посылки или по значению собственно еще такой момент то что данный список он является далеко не исчерпывающим и даст вам толчок на то чтобы вы сами более глубоко здесь такие возможно более поверхностные ответы и на которые допустим я если обращу внимание на тот вопрос на который нужно более глубже изучить вы сами это сами прекрасно сможете сделать также здесь будут несколько практических заданий которые дают на собеседование вот

    00:02:59 - 00:04:43

  • поэтому продолжаем дальше про типы данных есть у нас и скалярность специальные Что такое инкременты декремент Это понятно что тоже То есть когда объявляется переменная потом производится на дне операция либо сначала производится операция потом это переменная возвращается рекурсия понятно эти любят вопрос про рекурсию задавать но не так часто мы ее используем в контексте PHP а разница между строгим и строгим также еще тоже другими не строгим сравнением вот можно остановиться поподробнее по поводу

    00:03:51 - 00:05:37

  • принципов ВВП есть три принципа капсуляция наследования полиморфизм как мы все прекрасно Это понимаем знаем но есть еще такой четвертый негласный принцип когда допустим у Вас могут спросить вот вы назвали эти три принципа и спросят А есть ли еще какой-то четвертый принцип можно сказать что еще это абстракция потому что принципе и так и так будет правильно То есть вы называете три принципа либо 4 будет верно в том случае по поводу системы типов Ну система типа в динамическая Да потому что она нам позволяет быстро

    00:04:54 - 00:06:32

  • делать быструю разработку Но конечно в долгую это будет проявляться ошибками в приложении то есть нам будет трудновато свое приложение Так что тут еще на что можно обратить внимание по поводу интерфейсов А вот вопрос что такое интерфейс здесь вас в большинстве случаев захотят услышать своими словами то как вы вообще понимаете что такое интерфейсы А вот как бы я ответил на этот вопрос интерфейсы это некий контракт который обязует класс реализовать те методы которые в этом контракте описаны то есть там дальше

    00:05:44 - 00:07:12

  • будет принципы соли один из принципов солит и мы имплементируем интерфейс обязуемся его реализовать вот поэтому вот я бы ответил Вот так и все в принципе если мы будем дальше развивать эту тему то соответственно там по цепочке будут у вас задавать другие вопросы дальше идет абстрактный класс Это понятно что абстрактный класс Мы следуем ся от него и также в абстрактном классе Мы можем реализовать конкретный метод он нам позволяет это делать дальше магические методы тоже часто спрашивают для чего они

    00:06:34 - 00:08:10

  • для чего они что они делают и от них польза вот по поводу генераторов есть вопрос Что такое генератор и что делает оператор елт а потому что в основном допустим в тех же фреймворках которых мы используем генератор мы их используем не напрямую мы используем обертки которые используют эти генераторы и Один из таких в кавычках каверзных вопросов могут спросить и может ли оператор елт мы можем ли ходить Можем ли мы указать конкретную итерацию Да у него позволяют кстати тоже много наверное на каждом собеседовании

    00:07:31 - 00:09:04

  • спрашивают про Множественные наследование тоже нам позволяет один из реализации механизм множественное наследования в PHP это также вот дальше идет вопрос о потому если мы юзаем множество трейтов и у них появляется конфликт имен одинаковых имен методов как же мы будем их разруливать есть оператор инсты doff который позволяет нам указать вместо какого метода мы будем вызывать текущий также взаимодействие трейдов классах если этот класс является дочерним и у него те же методы таким же названием каких треках как они будут

    00:08:21 - 00:10:17

  • взаимодействовать это уже вы сами можете копнуть немножко глубже но такие вопросы тоже задают по поводу исключения есть наглядная картинка что все исключения у нас имплементируют Трейд trove был в самых допустим может быть такой момент когда он нужно незнакомым вам приложении отловить были бы ошибку вы просто берете в Trike Catch засовываете интерфейс travo был и он вам на Первом слое ошибки которая вам дает вы ее ослабливаете и уже вам будет легче но это так это такая специфическая история но чтобы вы

    00:09:24 - 00:11:11

  • понимали там есть амикс экшена и есть слой если исключение этих слов тоже могут спросить Из какого языка у нас Мы можем ой Из какого извиняюсь с какой версии У нас появился вот вопрос по поводу подводных камней при ведении типов и что изменилось восьмом PHP на этот счет здесь этот вопрос относится к ряду того что интересуетесь ли вы языком и интересуетесь ли вы его будущем этого языка то есть поддерживаете ли вы скажем так актуальность ваших знаний и интересуетесь ли вы последними новостями это тоже немаловажно кто-то вас

    00:10:17 - 00:11:59

  • заставляет PHP писать Либо вы сами этого хотите Но если так образно сказать здесь я привел ссылку таблицы сравнения типов а как быть [музыка] так как работают сессии то же самое Вот кстати вопрос если допустим вы идете на устэка Ну или даже не на фул стека даже если вот не дал тоже в любом случае личный средний разработчик тоже Java скриптом сталкивался могут спросить тоже Какая же разница между замыканием javascripti и PHP можно не разбирать этот вопрос там атамарно по кусочкам просто можно сказать что

    00:11:27 - 00:13:14

  • замыкание ешь пи используют оператор ЮС То есть это так очень много любят спрашивать Ну да Да много спрашивают про статическое вязание Но честно сказать А меня этот вопрос часто на на начало моей карьеры спрашивали и поначалу честно скажу не с первого раза я понимал как она работает эстетическое связывание Да вот есть пример как бы я ответил сейчас на этот вопрос я бы ответил так что это вызов метода в текущем классе то есть мы вызов метода относительно в контексте текущего класса Ну и дальше если бы были какие-то

    00:12:47 - 00:14:33

  • вопросы то можно было бы развить эту тему здесь Вот пример наглядно показан в принципе вот так вот у нас мы вызываем статический метод тест и тест Статик вот у нас первом случае выведется а а класс во втором случае выведется Б класс потому что здесь мы его раз через оратор Статик вызываем А здесь через оператор sell и он используется Ну конечно же в проектировании паттернов То есть он довольно таки в контексте наследования он тоже хорошо применяет вот могут еще спросить как переопределить хранение сессии

    00:14:12 - 00:15:53

  • Тут даже не в том конкретном и даже не вопрос этого вопроса а как бы Часто ли вы лезете анфиги потроха вот как вы вообще как бы вам сказать если у вас интерес есть туда из-под капота посмотреть как это все работает и понимаете ли вы механизм всех этих конфигов настройки тому подобное ну здесь Элементарно это в пешки и не мы переопределяем он по дефолту стоит здесь файл если нам нужно какой-то другой хранилище мы его переопределяем в целом плотных настроек нам достаточно поиск библиотеки reflection autoload

    00:15:10 - 00:17:05

  • структуры данных тоже могут спросить не будем сейчас подробно на останавливаться принципы Solid спрашивают постоянно здесь вот даже я нотацию написал что здесь важно для себя определить вообще положить себе в голову имя словами и теми понятиями которые которые понимаете вы и хорошо это сделать раз и навсегда потому что беседование человек который Вас собеседует а он уже это знает уже 100 тысяч раз он ему не нужна проговаривать это И кстати несколько раз у меня было такое что всегда Когда спрашивают принципы солят

    00:16:12 - 00:17:57

  • говорят вот объясни пожалуйста своими словами Вот это я тоже вам советую по поводу шаблонов Грасс если честно это они конечно используются я не скажу что я его сюда включил Потому что допустим я знаю что ну как бы знаю что это их не аббревиатуру но знаю допустим шаблон контроллер конечно же шаблон возможно еще Pure fabrication Ну и ну полиморфизм понятное дело Ну и как бы и все потому что это тоже такие вот Не совсем часто встречающиеся вещи контейнер ну здесь конечно же у вас спрашивают контексте фреймворка потому

    00:17:07 - 00:19:03

  • что это допустим я допустим пишу на ла Равель он мне очень нравится и там же конне Конечно же dependency jaction идет из коробки Да и в принципе в симфонии и везде это все однозначно мы по ним Но как бы механизм того что нам не нужно через нее везде создавать объекты а уже в контейнере сдается тот объект который нам нужен который мы используем вот поэтому поэтому тоже вам нужно знать Вот есть пример соответственно то же самое можете его посмотреть скопировать Кстати если вам понадобится этот файл

    00:18:14 - 00:19:58

  • вдруг Если понадобится я вам отдельно комментариях в описании вам его ссылку на него дам бесплатно так Вам известно сказать очень много но браться [музыка] сам вопрос требует краткого ответа инвести это архитектурный паттерн который разделяет логику от модели и представления то есть модель есть View есть контроллер Но что можно еще здесь добавить можно добавить то что могут у вас спросить что значит тонкий контроллеры толстые модели или наоборот где хорошо Где плохо то есть вот еще могут Ну еще в ту сторону

    00:19:09 - 00:20:53

  • известно что по шаблонам Гофа Ну здесь я специально ничего не расписывал тут может сыграть я вам так скажу [музыка] может сыграть как в одну сторону то есть который Вас будет собеседовать может раскрутить вас на эту тему а может быть всё ограничится буквально двумя фразами типа я знаю порождающей структурные поведенческие и какие паттерны сразу вот вы можете назвать и что он делает допустим я навскидку говорю а там Билдер Билдер Для чего нужен проблему Он решает Билдер решает проблему конфигурирования

    00:20:12 - 00:21:55

  • созданного текущего объекта то есть мы можем его сконфигурировать где конкретно вы его применяете но все мы знаем к ребилдер да Он есть в ла ровеле А можно еще также у меня встречался этот паттерн в конфигурации вьюшек то есть мы конфигурации форм То есть у нас есть некие классы некий класс объект формы и мы туда добавляем такое тоже момент может быть он будет использовать построение какой-то страницы представления допустим хейдер Мейн и хутор тоже можно будет использовать этот паттерн от прм тоже актив Record datamaper

    00:21:08 - 00:23:02

  • спросят и чем они отличаются какие у них подходы то есть вот активная карта это какие нарушает принцип вот еще Кстати часто и вопрос Какой принцип нарушает актив Record это будет вам затравочка затравочка чтобы почитать статью на Храбрый какой нарушает принцип актив Record один из принципов солида Почему любят datamaper Почему не любят актеры картина оборот но я допустим сейчас уже сейчас в 23 году я вам так скажу Тот кто сидели на datamaper это три на самое симфонии потихоньку потихоньку переходят в наш

    00:22:16 - 00:24:18

  • вам сказать в наш отряд любителей локвинта ла равеля потому что покидывать модели через entity Manager и тому подобное не всегда есть целесообразно Но это об этом мы пойдем дальше в этом мы поговорим дальше Вот Напишите например реализация реализации паттерна синглтон тоже такое было про докер спросят спрашивает всегда про доктор таким вот образом то есть есть два вопроса Первый вопрос Что такое докер и насколько глубоко Вы его знаете Я всегда говорю что я знаю докер и докер постоянно используется А без него Ну я вообще

    00:23:19 - 00:25:04

  • после крайнего Да я даже не знаю вот я могу себе позволить своих проектах Не использовать докер потому что я понимаю что это лишняя прослойка Но если ты где-то на работе Скачешь из проектов проект и тебе нужно развернуть Ну там 4-5 проектов и у каждого там разбег в январьментах в рабочем окружении очень большой то без Докера Ну никак ты не обойдешься и собственно возвращаясь к этим двум вопросам спрашивают Кто такой докер и насколько глубоко Вы его знаете то есть Я всегда говорю что я знаю что такое докер

    00:24:16 - 00:25:52

  • контейнеризации образы делал конфиги но прям чтобы настраивать полный диплой через докер нет Потому что есть такой отличный инструмент как Лара Вольф фордж и есть такой как вся сиди но это тоже не Одно другому не мешает понятное дело но как-то так Потому что если честно я не сильный фанат Докера потому пойдем дальше поводу ссха протокола у это и зачем он нужен Это вас это эти вопрос относится к тому как как хорошо вы работаете с консолью и работали вы на проде на удаленном сервере без консоль что только я не знаю

    00:25:05 - 00:27:21

  • наверное нет такого есть конечно по FTP там файлы передавать понятно что все идет через изыска через безопасное соединение понятно вот тоже из разряда поддержки новых знаний знаний по поводу нового hp8 я тут навскидку написал я знал что мне было в принципе прикольно использовать эти приблуды но джит компилятор Кстати я его не не использовал просто понимаю что знаю что в разы подскочила отскакивает производительность но не на всех операциях не везде он нужен компилятор на самом деле Ну и дальше Вот

    00:26:15 - 00:28:08

  • именованные атрибуты аннотации и все такое Union типы Ну и там разница где пост войны одинарные кавычки Что такое кубки чем нельзя в куки это все стандартная классика среди разработки но меня это да И наверное у подавляющего большинства Это идея шторм и дураку Понятно Ну и вскоре это когда допустим а почему вскоре допустим для фронта я использую vs код потому что там хорошо его можно логинчиками облепить плюс если вдруг нужно работать в трех четырех проектах то просто и машина Я имею в виду ноутбук или компьютер

    00:27:15 - 00:29:13

  • слабенький то конечно лучше открыть вскоре либо ты открываешь по быстренькому то что тебе нужно там быстро быстро пофиксить отредактировать и соответственно вскоре для этого очень хорошо пригождается агиту Ну погиту тут понятно добавить в индекс прокомментировать закомитить сделать пол чем гитлешки tribase это понятно по базам данных транзакции нормализации до нормализации но тут тоже виды связи но мы дальше это как бы основа основ это то что должен знать каждый разработчик даже на уровне тройни

    00:28:18 - 00:30:04

  • и по Джой нам но здесь лучшая наверное объяснение для чего и как Вот кстати я специально тоже такую плашку оставил а это по поводу вопроса Зачем же нужно знать математику разработчику программистам вот сразу скажу я не самый Да я вообще не математик и в школе в школе не так хорошо как хотелось бы учил математику алгебру Но вот этот вопрос когда говорят что она вообще не нужна то все вот эти фундаментальные вещи все-таки пришли из математики весь этот компьютер сайнс и поэтому так получилось что кстати

    00:29:14 - 00:30:57

  • я начал изучать чуть раньше чем потом я уже понял принцип этих джойнов И уже потом когда там я нарвался на знание о теории множество Да мне стало интересно как же там она все вот таком прям до ментальных таких первооснов они как же там это все работает Ну и вот то же самое говорим множество и дополнительная Мотивация к тому чтобы изучить математику Ты понимаешь что ты ее не 90 процентов случаев ее не применяешь своей работе агрегатным функциям миграции Вот кстати по миграциям я хотел вот прям ответить

    00:30:14 - 00:31:58

  • на вопрос сразу же что же такое миграция И меня сразу ну как ешь Перси замми Грейт у всех там процентов 30 сразу в голове а нет я вот посчитал все-таки погуглить и разобрать этот вопрос более подробно и увидел два определения этого вопроса есть определение это разовых разового массового перемещения данных из системы систему то есть на самом деле Оно так и есть это не обязательно создание таблиц редактирования таблиц на уровне [музыка] email А я не ошибаюсь поддержка версионности говорят что миграция Это самый

    00:31:12 - 00:33:18

  • опасный самый-самый приоритетной вообще инструмент миграции это поддержка версии Нет с помощью иммиграции много каких создаются таблица авочных и допустим в том же самом ла равеля очень много где встречал где есть те знают про такие инструменты как сиды и эти Бейкер седые фейкер Вот то им некоторые им не пользуются они сразу иммиграции пихают прям статические массивы джейсоны сразу оттуда дополняют данными тоже такая практика есть вот собственно Вот так вот миграция у нас и работают соответственно тут по связям тоже

    00:32:16 - 00:34:07

  • Динка многим многие многие ко многим рубай хевинг Почему в Кевин Почему как грубая это все тоже понятно от de Time timestem Вот почему я решил такие вот это вот этот вопрос немножко более расписать вот Это тоже вопрос относится к той категории насколько вы погружены в тему на самом деле для меня не сразу Было очевидно ихняя разница и примерно ихняя разница но я все-таки заморочиться и написать это более подробно иссе Я думаю вам Тут видно что Home остатки количество секунд Просто набор цифр от первого января 70 года

    00:33:20 - 00:35:31

  • полноценное время полноценный формат времени ну и соответственно сказать что что-то использует меньше что-то больше равносильно можно использовать и то и то и у каждого есть и своим преимущества и недостатки Еще хотелось бы добавить то что когда мы используем RM и допустим ларовали инструменты нам дают такую возможность чтобы не заморачиваться вообще переводом этого всего вот это вот кстати то что нам дают одно из преимуществ фреймворки здесь продвижки моя сам и на тебе тоже можно кратко сказать что одни

    00:34:35 - 00:36:14

  • хорошо на запись или ты но опять-таки это тоже очень Я сейчас так сказал наверное разработчиков видите камешки маленькие вот ну баз данных и способы оптимизации вот способы оптимизации Вот это тоже кстати Я помню проходил собесы и там прям у меня был оптимизации баз данных прям такой пробел пробельчик был да это скажу так на то время я не работал прям с такими высоко нагруженными системами чтобы брать оптимизировать активные запросы соответственно артицирование репликация шардинг тоже желательно хотя бы знать что это такое

    00:35:32 - 00:37:35

  • типа данных в Ну вот кстати по поводу допустим того же Майский или позже ну честно скажу постгрис тоже нужно хотя бы самые отличительные самые такие топ 10 отличий иди позже в Москве или после знать много кто переходит на погребский тоже не сказать что одно лучше другого но [музыка] индексы тоже каких случаях индексы используют Какие бывают индексы это тоже есть такое они мои процедуры триггеры Но честно сказать Вот тоже многое спрашивает но на практике я вам скажу вы там свои какие-то процедуры триггеры писали но это если

    00:36:58 - 00:38:55

  • есть какая-то система или приложение которое упором на базы данных упором от того чтобы бизнес логику часть бизнес-логики переведена на базу данных обработку их может быть еще каких-то системах аналитики много таких Ну а так [музыка] мы как бы кончики мы используем базу данных сугубо Как клиент это и все как бы в этих рамках и происходит в принципе функции здании процедур функции триггеров тоже в рамках клиента тоже допустимо вот такой необычный вопрос тоже был сохранность вложенных категорий Но это

    00:38:19 - 00:40:03

  • вопрос из статьи это вопросы статьи я вообще не знал на самом деле я понимал что есть когда нам нужно работать с некой какой-то иерархией с Никой какой-то категории категоризации классификации Но самое банальное это допустим те же категории В интернет-магазине то есть библиотеки и они реализованы по-разному то есть они дают разные алгоритмы реализации и вот здесь есть [музыка] материализованный путь список смежность если нашими словами это когда каждая категория ссылается на какой-то индекс либо

    00:39:18 - 00:40:57

  • вложенный вложенные данные одна категория ссылается на свою родительскую категорию тоже можете почитать посмотреть какая из них лучше для чего она подходит не сказать что я оговорился не сказать что она лучше другой но в разных в разных степенях в разных условиях Америка но они показывают себя по-разному Поэтому нужно уже исходя из ситуации выбирать то что нам то что необходимо по поводу связи в la rovelle это тут пошел пошел пул вопросов пола равелю Ну конечно почему вопрос сразу почему выбрал Равель потому что ну я его знаю и

    00:40:07 - 00:41:40

  • он самый востребованный самый распространенный фреймворк Но их тут тоже я не скажу что я прям сильно буквально три вопроса в категории и что хотелось бы здесь на чем остановиться я сделал скрин с документацией с типами связей как они реализуются соответственно Там все в этой замечательной документации все то описано так как нужно Поэтому соответственно все наши классические связи от ванту ван ван тумане Мэнни тумане и дальше идет и полиморфик связи Иван троо и манитроу то есть это доставать запись через таблицу в

    00:40:56 - 00:42:41

  • обратном порядке то есть это все тоже тоже имеется тоже очень распространенные часто используемые инструменты Вот кстати есть вопросы про полиморфность Вот кстати про Middle War мы знаем что это некий он цикли он используется некий слой между роутом и контроллером и есть такой каверзный вопрос а Middle War работает в обратную сторону то есть когда мы получаем мы отправляем запрос и получаем ответ тоже проходит через может пройти через мидовар Да может мы его тоже можем обработать про композитор Понятно requare quire Dev

    00:41:53 - 00:43:34

  • могут еще Кстати затронуть версию версионность композитор Локо то есть просят могут спросить чем отличается композитор Джейсон от копаю композитор Лок это он кстати тоже затравка там и посчитаете чего Так пошли практически задания вот допустим такой очень простой практическое задание проектировать базу данных для хранения информации книгах и их авторах и написать запрос для выборки всех авторов и количество написанных соответственно идет описание колонок все очень вообще по простому по банальному то есть в чем заключается Это

    00:42:51 - 00:44:29

  • задание допустим вы сидите перед соответственно людьми которые вас собеседуют либо в онлайне либо оффлайне вы сразу должны навскидку съесть листок бумаги ручка и вы должны это все начертить понятно что может быть вы сразу сходу в этот запрос не напишите хотя есть конечно люди которые и на листке бумаги из по памяти могут это все спать тут Вопросов нет но в целом Примерно вот такие вот практически задания поди собеседования Могут могут проскочить вот есть еще Матрица 3 на 3 тоже простое здесь смотрите здесь я

    00:43:43 - 00:45:14

  • специально решил написать быстро от руки вы понимали что если это решение рабочие если оно сработало Если вы его написали не Гугля Ну или гуглить там допустим могут там сказать но можете погуглить или лучше лучше этого не делать то лучше хоть какое-то решение чем никакого То есть я специально Здесь такое конечно много кто может поспорить Может там и другие есть решение но я специально Вот как раз ставил такое ну самописная то что пришло в голову навскидку то есть у нас есть Матрица 3 на 3 мы должны просто пере

    00:44:34 - 00:46:25

  • диогонали две диагонали у нас есть получается 159753 и уму тех чисел по диагонали писать ой вот вопрос выдает ошибку 500 ошибку будем делать То есть иду смотреть влоги все ой Вопрос такой ответ соответственно дальше идет тоже Какие вот Чему равны какие-то выражения такие-то выражения тоже соответственно Вы должны знать Так пошли у нас более-менее метловские вопросы да соответственно вот вопрос был что такое ссылка там самый первый да И теперь у нас вопрос Как передается переменная Понятно Что по значению

    00:45:31 - 00:47:24

  • но могут еще спросить а что передается по ссылке PHP по ссылке передается объект соответственно могут еще общие общий Вопрос такой есть процессы происходят и процессы происходят когда пользователь вводит браузер URL это тоже подразумевает то чтобы Вы ответили это своими словами вариативная функция вас Ну а вас здесь желательно знать топ 10 всех уязвимостей от они кстати тоже этом на следующий вопрос я его немножко так А по подробнее захотел еще свою свои знания освежить почитал даже кое-что отсюда

    00:46:37 - 00:48:16

  • и почерпнул до патентные методы Понятно стоит Пул тоже кстати вот буквально пару слов об ирест на одном из собесов Я говорю Я когда говорил со что соп это устаревший протокол Да он он действительно чуть-чуть устаревший но в той компании в которой я собеседовался там продукт был полностью на соло и там resto вообще не было То есть продукт начинал писаться в начале двухтысячных годов и все никак они не могли который год перейти на rest и все так оно и осталось Я вот сказал эту вещь и как-то наверное

    00:47:30 - 00:49:06

  • Обидел Обидел Тим Лида что он начал защищать что слов это не устаревший это просто другой протокол арест это архитектурный стиль Ну и в общем там тоже перепалка такая была ну как перепалка там творческие разногласия авторизация могут по авторизации по ключу токену тоже спросить использовать муки это протестирование is AR редисментыш патчи Ну вот здесь вот я так скажу Если хотите углубляться в devops можете поразбираться в чем там крутые различия меня я просто понимаю Джинс Я всегда выбираем Джинкс он быстрее он

    00:48:35 - 00:50:33

  • надежнее он масштабируемые и поэтому мне приятнее с ним работать проще пешки fpm там как было почти работает как модуль это как отдельный процесс поэтому Ну как бы лучше изначально он и настраивается легче изначально Просто я советую свои приложения ставить на Джинкс и не заморачиваться Тем более если вы на ла ровеле работаете там есть конфиг уроках джинса просто туда подставляйте свои данные все вас получается так пробка G и так все понятно ключевое слово Final для классов от соли драки с ягни я решил

    00:49:50 - 00:51:45

  • такое вообще вот обобщенное понятие это просто хорошие практики написания кода могут паттерны паттерны такое простая фабрика про кучу стек это уже туда больше к алгоритмам то есть тоже могут пройтись насколько вы насколько у вас развита алгоритмическое мышление уже есть такое понятие алгоритм пользуется и DD все тоже много чего про это написано вот в районе тесты здесь бы хотелось я специально здесь ничего не написал потому что я вот пел твоими словами так как есть сказать Вот не тесты функциональные тесты

    00:50:58 - 00:52:49

  • подразумевается вопрос о том Чем отличается юнитест функциональных тестов Юнит тесты это тесты одного метода либо одного класса мы что-то Тестируем одно но Это тоже очень абстрактно очень реально я это объясняю функциональные тесты соответственно это тесты взаимосвязи компонентов в системе мог и стабы это некий некие заглушки для наших тестов То есть если мы Тестируем какой-то интеграцию с внешней системой через API мы создаем есть библиотеки даже для тех же платежных систем чтобы мы же не можем тестировать реальными

    00:52:31 - 00:54:16

  • деньгами есть некие механизмы некие написаны уже библиотеки где мы подкладываем просто интерфейсы и уже Тестируем с помощью этих моков и ставов чем они мог и слабы отличаются моки это как бы фейковые данные То есть те же самые просто некая модель А стабы это как заглушка Ну там тоже есть свои нюансы есть там школа английская и Европейская школа тестирования тоже много чего про это написано это все уже можете сами это все узнать единственное много спрашивают писали ли вы тесты конечно много где их не пишут но я бы

    00:53:25 - 00:55:10

  • вам советовал по возможности писать их хотя бы в учебном целях Но если допустим Вы скажете что Ну вот я их писал для себя чтобы что-то понять и допустим это будет для вас неким Ну и пошли некие сеньорские вопросы Как вы понимаете rest такой копен Брайт вот почему-то еще продублировался [музыка] вот тоже наглядно можно наглядно можно продемонстрировать что по уровню собесе-уровне собеседовал Как такового нету да собеседуют одинаково Джуна что сеньора просто Ой как это как исходя из того как пойдет собеседование

    00:54:24 - 00:56:19

  • то есть уже определяют уровень того или иного разработчика этому его могут задать как новичку так уже и бывалому один и тот же вопрос такой какая же купленник это тоже вот есть написал кое что это тоже сами возможность интереса пронул Вот это тоже такие вот уже идут как бы Философские размышления О как как у кого Какой опыт каких холиварах участвовал Какие книжки читал про всяких Бобов и Чистых архитектур ддд микросервисы фильтр Bloom ну дельный разговор эффективность кеширования [музыка] вот вопрос по какому принципу будете

    00:55:29 - 00:57:37

  • выбирать архитектуру для своей будущей программы есть одна книга на кстати свежая Правда она еще на английском языке там автор это общепринятая такая это уже по разработке Да и вообще пирамида в которой можно выбрать только два варианта То есть три невозможно построить качественную архитектуру за маленькие деньги за короткое время мы всегда можем выбрать только два параметра так вот что в этой книге было написано я взял тебе есть разные как бы я ответил на этот вопрос есть разные условия есть какие условия условия качества денег и

    00:56:45 - 00:58:45

  • времени то есть либо это стартап который там ковыляет и перебивается от финансирования до финансирования либо это какой-нибудь Кровавый интерпрайс у которого ресурсов дофига и больше который может себе позволить долго разрабатывать долго строить дизайн систему и скажем так который вливает там миллионы инфраструктуру либо это какой-то Энтузиаст который там бесплатно пилит свой продукт В общем вот как-то так то есть если мы ограничены во времени в ресурсах то понятное дело чтоб не про какую архитектуру тут и речи быть

    00:57:52 - 00:59:32

  • не может Если универсально постараться [музыка] ответить на этот вопрос то вот допустим вот твоя есть вопрос какими видами архитектуры приложений сталкивались как бы я эволюционно построил бы приложение То есть если в контексте того что есть у нас мы строим это с нуля нам нужно быстро запуститься нам нужно быстро вывести это все на рынок чтобы люди начали пользоваться и начали приходить какие-то Первые деньги это первая прибыль поэтому понятно что первое это будет Монолит потом кто-то среднее между потом

    00:58:42 - 01:00:09

  • что-то среднее между микросервисами это модульная архитектура которая может включать себе сервисную архитектуру слоеную Так называемую ну и соответственно микросервис на это уже полноценный Когда уже полноценно бизнес-процессы уже запущены поэтому как то так Ну и по структурам данных то Понемногу используется Ну что вроде бы прошлись по файлу еще раз Всем спасибо Если вам понравилось видео Ставьте лайк А можете не ставить лайк Пишите в комментариях возможно какие-то огрехи ошибки я допустил я допустил

    00:59:28 - 01:01:14

  • Возможно где-то не до конца хотели бы вы раскрыть какую-то тему вот и если хотите То есть если кому-то нужно будет Я в описании либо прикрепленном комментарии оставлю этот файл файл с этими ответами вот что будет еще много видео собственно хорошо Всем добра Всем пока [музыка]

    01:00:30 - 01:01:49