Forwarded from PHP Интервью
❗В этой группе я буду делиться различным материалом, который раскрывает все вышеописанные темы и направления.
Что будет еще:
✅ Мы будем изучать вопросы, которые часто задают на собеседованиях;
✅ Учиться правильно составлять резюме;
✅ Я буду публиковать тестовые задачи для закрепления материала;
✅ Книги на тему программирования;
✅ Авторские статьи и видео-обзоры
✅ Хакатоны и конкурсы для участников канала;
✅ Менторство на время испытательного срока;
✅ Немного программерского юмора;
И многое другое!
Что будет еще:
✅ Мы будем изучать вопросы, которые часто задают на собеседованиях;
✅ Учиться правильно составлять резюме;
✅ Я буду публиковать тестовые задачи для закрепления материала;
✅ Книги на тему программирования;
✅ Авторские статьи и видео-обзоры
✅ Хакатоны и конкурсы для участников канала;
✅ Менторство на время испытательного срока;
✅ Немного программерского юмора;
И многое другое!
🗣 Как подготовиться к собеседованию?
Часто программисты не уделяют должного внимания предстоящему интервью. Они не готовятся, рассчитывая на свои знания и навыки, они не изучают компанию, с которой готовы заключить трудовой договор и провести в этой компании ближайшие пару лет. Они просто отпускают ситуацию рассчитывая на случай.
Как итог такое собеседование часто бывает провальным. Особенно если оно было очным, а не онлайн. При очном интервью многие программисты подвержены сильному стрессу. Стресс не даёт сосредоточиться на вопросах и правильно на них ответить.
⁉ Как это исправить?
Собеседование — это навык, который необходимо прокачать. Не стоит идти на интервью в компанию, которая вам симпатична, в самом начале. Подготовьте список релевантных компаний и отправьте туда своё резюме. Если в течении 1-2 недель вы сходите на несколько собеседований, то у вас выработается устойчивость к стрессу, и вы будете себе чётко представлять, как себя правильно вести и какие могут быть вопросы.
Так же, стоит внимательно изучить компанию, которая назначила вам интервью. Найдите их веб-сайт и запомните, чем занимается компания, какие разделы есть на сайте. Попытайтесь определить на чем работает сайт. Это CMS или Фреймворк? Если выясните, что это за система, то изучите её хотя бы поверхностно.
Далее прочитайте в тексте о вакансии, какой используется стэк. Возможно, они используют PostgreSQL, а вы раньше работали только с MySQL. У них используется старая версия PHP, а вы работали только с последней и т.д.
Все эти мелочи в совокупности будут сильно влиять на ваши «баллы» при прохождении интервью. У интервьюера должно складываться четкое понимание, что вы готовились, что вы всё про них знаете, что вы вовлечены в процесс. Тогда у них не останется повода вам отказать!
Часто программисты не уделяют должного внимания предстоящему интервью. Они не готовятся, рассчитывая на свои знания и навыки, они не изучают компанию, с которой готовы заключить трудовой договор и провести в этой компании ближайшие пару лет. Они просто отпускают ситуацию рассчитывая на случай.
Как итог такое собеседование часто бывает провальным. Особенно если оно было очным, а не онлайн. При очном интервью многие программисты подвержены сильному стрессу. Стресс не даёт сосредоточиться на вопросах и правильно на них ответить.
⁉ Как это исправить?
Собеседование — это навык, который необходимо прокачать. Не стоит идти на интервью в компанию, которая вам симпатична, в самом начале. Подготовьте список релевантных компаний и отправьте туда своё резюме. Если в течении 1-2 недель вы сходите на несколько собеседований, то у вас выработается устойчивость к стрессу, и вы будете себе чётко представлять, как себя правильно вести и какие могут быть вопросы.
Так же, стоит внимательно изучить компанию, которая назначила вам интервью. Найдите их веб-сайт и запомните, чем занимается компания, какие разделы есть на сайте. Попытайтесь определить на чем работает сайт. Это CMS или Фреймворк? Если выясните, что это за система, то изучите её хотя бы поверхностно.
Далее прочитайте в тексте о вакансии, какой используется стэк. Возможно, они используют PostgreSQL, а вы раньше работали только с MySQL. У них используется старая версия PHP, а вы работали только с последней и т.д.
Все эти мелочи в совокупности будут сильно влиять на ваши «баллы» при прохождении интервью. У интервьюера должно складываться четкое понимание, что вы готовились, что вы всё про них знаете, что вы вовлечены в процесс. Тогда у них не останется повода вам отказать!
☝Приняли закон о дистанционной работе
Возможность удалёнки давно прописана в Трудовом кодексе. Но теперь появились оттенки.
Удалёнка бывает:
✅ Постоянной — например, для сотрудника в другом городе;
✅ Временной — например, до снятия ограничений;
✅ Периодической — например, три дня в офисе, два дома.
Как вам удобно, главное — не занижать зарплату из-за способа работы.
Появились и новые основания для увольнения. Удалённого сотрудника можно уволить, если он не отвечает на письма и звонки больше двух рабочих дней. А ещё — если переехал в другое место и больше не может выполнять свои обязанности.
Эти изменения вступят в силу с 1 января 2021 года.
Остаётся и старое правило: работодатель должен обеспечить работников всем необходимым. Если вы сами не предоставляете оборудование и программы — платите компенсацию.
👉 Источник https://e-kontur.ru/
Возможность удалёнки давно прописана в Трудовом кодексе. Но теперь появились оттенки.
Удалёнка бывает:
✅ Постоянной — например, для сотрудника в другом городе;
✅ Временной — например, до снятия ограничений;
✅ Периодической — например, три дня в офисе, два дома.
Как вам удобно, главное — не занижать зарплату из-за способа работы.
Появились и новые основания для увольнения. Удалённого сотрудника можно уволить, если он не отвечает на письма и звонки больше двух рабочих дней. А ещё — если переехал в другое место и больше не может выполнять свои обязанности.
Эти изменения вступят в силу с 1 января 2021 года.
Остаётся и старое правило: работодатель должен обеспечить работников всем необходимым. Если вы сами не предоставляете оборудование и программы — платите компенсацию.
👉 Источник https://e-kontur.ru/
🙅 Что делать с резюме?
Наверное, самая сложная работа для программиста — создать себе хорошее резюме. Это сложнее, чем написать крутой скрипт или создать большой проект. Это сложнее, чем выучить новый язык программирования. Это практически НЕВОЗМОЖНО!
Так считают многие, по крайней мере из моего окружения. Я изучил данный вопрос и выяснил, что всё не так однозначно. Составлять резюме действительно сложно, особенно описывая свои навыки и достижения напротив прошлого места работы, а у кого-то прошлого места работы и вовсе нет. Но всё решаемо!
Что же делать❓
Я не буду расписывать советы, как верно заполнить ту или иную графу в резюме, для этого есть масса статей. Хочу лишь подчеркнуть некоторые нюансы, на которые лично я обращаю внимание, когда провожу интервью.
1⃣ Корректируйте резюме под конкретную компанию. Изучите внимательно текст объявления и скорректируйте свои навыки и достижения под нужды компании.
2⃣ Если хотите сделать универсальное резюме, то как минимум почитайте на эту тему статьи в интернете, либо обратитесь к специалистам. Да, это будет платно, но результат окупится сполна.
3⃣ Используйте качественное и главное свежее фото.
4⃣ Указывайте все виды связи с вами и какой из них предпочтительный. Email, сотовый, telegram, whatsapp, skype.
5⃣ Предпочтительный формат для резюме – pdf. Он одинаков выглядит в любой системе.
6⃣ Если в прошлом вы нигде не работали, то обязательно укажите сколько лет вы программируете (возможно для себя) и с какими технологиями уже знакомы, даже если чисто теоретически.
7⃣ Начинающим программистам стоит уделять больше времени теории, расширяя свои знания и практиковать законченные проекты, которые можно выложить на github.
8⃣ И пожалуйста, не копируйте массу смежных с IT технологий и аббревиатур типа: «.NET, C#, SQL, JavaScript, Bdd tdd, HTML, CSS, Node.js, Typescript, ReactJS, PHP, Python, NGINX, GIF, SVG, Photoshop, MS Word»
В завершении я предлагаю почитать, на мой взгляд, не плохую статью на тему составления резюме:
👉 https://vc.ru/hr/148577-kak-podgotovit-horoshee-rezyume-dlya-it-specialista
Наверное, самая сложная работа для программиста — создать себе хорошее резюме. Это сложнее, чем написать крутой скрипт или создать большой проект. Это сложнее, чем выучить новый язык программирования. Это практически НЕВОЗМОЖНО!
Так считают многие, по крайней мере из моего окружения. Я изучил данный вопрос и выяснил, что всё не так однозначно. Составлять резюме действительно сложно, особенно описывая свои навыки и достижения напротив прошлого места работы, а у кого-то прошлого места работы и вовсе нет. Но всё решаемо!
Что же делать❓
Я не буду расписывать советы, как верно заполнить ту или иную графу в резюме, для этого есть масса статей. Хочу лишь подчеркнуть некоторые нюансы, на которые лично я обращаю внимание, когда провожу интервью.
1⃣ Корректируйте резюме под конкретную компанию. Изучите внимательно текст объявления и скорректируйте свои навыки и достижения под нужды компании.
2⃣ Если хотите сделать универсальное резюме, то как минимум почитайте на эту тему статьи в интернете, либо обратитесь к специалистам. Да, это будет платно, но результат окупится сполна.
3⃣ Используйте качественное и главное свежее фото.
4⃣ Указывайте все виды связи с вами и какой из них предпочтительный. Email, сотовый, telegram, whatsapp, skype.
5⃣ Предпочтительный формат для резюме – pdf. Он одинаков выглядит в любой системе.
6⃣ Если в прошлом вы нигде не работали, то обязательно укажите сколько лет вы программируете (возможно для себя) и с какими технологиями уже знакомы, даже если чисто теоретически.
7⃣ Начинающим программистам стоит уделять больше времени теории, расширяя свои знания и практиковать законченные проекты, которые можно выложить на github.
8⃣ И пожалуйста, не копируйте массу смежных с IT технологий и аббревиатур типа: «.NET, C#, SQL, JavaScript, Bdd tdd, HTML, CSS, Node.js, Typescript, ReactJS, PHP, Python, NGINX, GIF, SVG, Photoshop, MS Word»
В завершении я предлагаю почитать, на мой взгляд, не плохую статью на тему составления резюме:
👉 https://vc.ru/hr/148577-kak-podgotovit-horoshee-rezyume-dlya-it-specialista
🖥 Протокол DNS
Что такое DNS?
Прежде чем начать говорить о DNS-серверах, необходимо упомянуть о самой технологии DNS (Domain Name System). DNS — это технология, которая позволяет браузеру вроде Firefox, Chrome или Edge найти запрошенный пользователем сайт по его имени.
Как работает DNS?
Принцип работы DNS похож на поиск и вызов контактов из телефонной книги смартфона. Ищем имя, нажимаем «позвонить», и телефон соединяет нас с нужным абонентом. Понятно, что смартфон в ходе звонка не использует само имя человека, вызов возможен только по номеру телефона. Если вы внесете имя без номера телефона, позвонить человеку не сможете.
Так и с сайтом. Каждому имени сайта соответствует набор цифр формата 000.000.000.000. Этот набор называется IP-адресом, примером реального IP-адреса является 192.168.0.154 или 203.113.89.134. Когда пользователь вводит в адресной строке браузера имя сайта, например google.com, компьютер запрашивает IP-адрес этого сайта на специальном DNS-сервере и после получения корректного ответа открывает сам сайт.
Что такое DNS-зоны?
С одним доменным именем может быть связано несколько ресурсов — сайт и почтовый сервер. У этих ресурсов вполне могут быть разные IP-адреса, что дает возможность повысить надежность и эффективность работы сайта или почтовой системы. Есть у сайтов и поддомены, IP-адреса которых тоже могут быть разными.
Вся эта информация о связи сайта, поддоменов, почтовой системы хранится в специальном файле на DNS-сервере. Его содержимое называется DNS-зона. Файл содержит следующие типы записей:
А — адрес веб-ресурса, который привязан к конкретному имени домена.
MX — адрес почтового сервера.
CNAME — чаще всего этот тип записи используется для подключения поддомена.
NS — адрес DNS-сервера, который отвечает за содержимое других ресурсных записей.
TXT — любая текстовая информация о доменном имени.
SPF — данные с указанием списка серверов, которые входят в список доверенных для отправки писем от имени указанного домена.
SOA — исходная запись зоны, в которой указаны сведения о сервере и которая содержит шаблонную информацию о доменном имени.
Что такое DNS?
Прежде чем начать говорить о DNS-серверах, необходимо упомянуть о самой технологии DNS (Domain Name System). DNS — это технология, которая позволяет браузеру вроде Firefox, Chrome или Edge найти запрошенный пользователем сайт по его имени.
Как работает DNS?
Принцип работы DNS похож на поиск и вызов контактов из телефонной книги смартфона. Ищем имя, нажимаем «позвонить», и телефон соединяет нас с нужным абонентом. Понятно, что смартфон в ходе звонка не использует само имя человека, вызов возможен только по номеру телефона. Если вы внесете имя без номера телефона, позвонить человеку не сможете.
Так и с сайтом. Каждому имени сайта соответствует набор цифр формата 000.000.000.000. Этот набор называется IP-адресом, примером реального IP-адреса является 192.168.0.154 или 203.113.89.134. Когда пользователь вводит в адресной строке браузера имя сайта, например google.com, компьютер запрашивает IP-адрес этого сайта на специальном DNS-сервере и после получения корректного ответа открывает сам сайт.
Что такое DNS-зоны?
С одним доменным именем может быть связано несколько ресурсов — сайт и почтовый сервер. У этих ресурсов вполне могут быть разные IP-адреса, что дает возможность повысить надежность и эффективность работы сайта или почтовой системы. Есть у сайтов и поддомены, IP-адреса которых тоже могут быть разными.
Вся эта информация о связи сайта, поддоменов, почтовой системы хранится в специальном файле на DNS-сервере. Его содержимое называется DNS-зона. Файл содержит следующие типы записей:
А — адрес веб-ресурса, который привязан к конкретному имени домена.
MX — адрес почтового сервера.
CNAME — чаще всего этот тип записи используется для подключения поддомена.
NS — адрес DNS-сервера, который отвечает за содержимое других ресурсных записей.
TXT — любая текстовая информация о доменном имени.
SPF — данные с указанием списка серверов, которые входят в список доверенных для отправки писем от имени указанного домена.
SOA — исходная запись зоны, в которой указаны сведения о сервере и которая содержит шаблонную информацию о доменном имени.
🤰Рождение программиста.
Как вы думаете, в какой момент студент, который изучает язык программирования, становится программистом? Сколько должно пройти времени с момента начала его обучения? Можно ли это как-то ускорить? И как понять, что ты уже не студент, а программист?
Я долго пытался найти ответ на этот не простой вопрос. Обсуждал его со своими коллегами. Читал различную педагогическую литературу. Искал ответ в Интернете.
Было много различных версий, от набора определённого объёма знаний до прохождения сложного Интервью. Некоторые утверждали, что программист рождается с его первым сложным проектом. Но как определять сложность, не понятно. То, что для одного сложно, для другого лишь вопрос времени.
В итоге я сформулировал свою теорию, относительно рождения программиста. Звучит она следующим образом: «Программист рождается ровно в тот момент, когда он начинает осознанно решать задачи без посторонней помощи преподавателей или менторов. Не нуждаясь в ней и не ожидая её.»
Поясню один момент, я считаю, что сложность в программировании, по сути, есть время. Время, которое требуется на изучения тех областей, которые используются в проекте, но с которыми мы еще не знакомы. В информационную эпоху найти необходимый материал в Интернете не составляет труда, было бы желание.
Отсюда можно сделать следующий вывод, что практически любой студент на любом этапе обучения может реализовать сложный проект самостоятельно. Разница между ним и профессиональным программистом лишь в том, что профи выполнит проект на порядок быстрее.
Как вы думаете, в какой момент студент, который изучает язык программирования, становится программистом? Сколько должно пройти времени с момента начала его обучения? Можно ли это как-то ускорить? И как понять, что ты уже не студент, а программист?
Я долго пытался найти ответ на этот не простой вопрос. Обсуждал его со своими коллегами. Читал различную педагогическую литературу. Искал ответ в Интернете.
Было много различных версий, от набора определённого объёма знаний до прохождения сложного Интервью. Некоторые утверждали, что программист рождается с его первым сложным проектом. Но как определять сложность, не понятно. То, что для одного сложно, для другого лишь вопрос времени.
В итоге я сформулировал свою теорию, относительно рождения программиста. Звучит она следующим образом: «Программист рождается ровно в тот момент, когда он начинает осознанно решать задачи без посторонней помощи преподавателей или менторов. Не нуждаясь в ней и не ожидая её.»
Поясню один момент, я считаю, что сложность в программировании, по сути, есть время. Время, которое требуется на изучения тех областей, которые используются в проекте, но с которыми мы еще не знакомы. В информационную эпоху найти необходимый материал в Интернете не составляет труда, было бы желание.
Отсюда можно сделать следующий вывод, что практически любой студент на любом этапе обучения может реализовать сложный проект самостоятельно. Разница между ним и профессиональным программистом лишь в том, что профи выполнит проект на порядок быстрее.
Декомпозируйте это!
1. Декомпозиция — это разделение целого на части. Разбив одну большую задачу на несколько мелких, мы упрощаем себе работу. Опытные программисты всегда используют этот метод, но давайте разберемся в чем же преимущества этого метода.
2. Большая задача не влезает к нам в голову. Программисты работают с абстрактными сущностями, они не материальны и как правило хранятся в голове. Хранить в голове меньшее количество сущностей в контексте одной подзадачи гораздо проще.
3. Много неизвестных. Часто, чтобы решить задачу нам не достаёт информации, которую стоит найти и изучить. В одной более мелкой задаче гораздо меньше неизвестных.
4. Последовательный результат. Иногда нас просят показывать предварительный результат. Выполняя задачу или проект поэтапно, мы можем показывать выполненные этапы, тем самым демонстрируя, что работа кипит.
Выглядит очень неплохо, но на практике могут возникнуть сложности с разбиением на подзадачи или определением приоритета, какую из подзадач выполнить в первую очередь, а какую во вторую. Есть и другие нюансы. Чаще практикуйте декомпозицию, и вы научитесь делать это правильно!
--
Сборник задач на PHP https://app.justcoding.ru/
1. Декомпозиция — это разделение целого на части. Разбив одну большую задачу на несколько мелких, мы упрощаем себе работу. Опытные программисты всегда используют этот метод, но давайте разберемся в чем же преимущества этого метода.
2. Большая задача не влезает к нам в голову. Программисты работают с абстрактными сущностями, они не материальны и как правило хранятся в голове. Хранить в голове меньшее количество сущностей в контексте одной подзадачи гораздо проще.
3. Много неизвестных. Часто, чтобы решить задачу нам не достаёт информации, которую стоит найти и изучить. В одной более мелкой задаче гораздо меньше неизвестных.
4. Последовательный результат. Иногда нас просят показывать предварительный результат. Выполняя задачу или проект поэтапно, мы можем показывать выполненные этапы, тем самым демонстрируя, что работа кипит.
Выглядит очень неплохо, но на практике могут возникнуть сложности с разбиением на подзадачи или определением приоритета, какую из подзадач выполнить в первую очередь, а какую во вторую. Есть и другие нюансы. Чаще практикуйте декомпозицию, и вы научитесь делать это правильно!
--
Сборник задач на PHP https://app.justcoding.ru/
Forwarded from PHP Интервью
🧨 Требования к кандидатам на позицию "PHP-Джуниор" по версии hh.ru
(было изучено более 50 вакансий)
Основное:
— Уверенное владение синтаксисом php 5.x и 7.x
— ООП и паттерны. Singleton, MVC, Facade и т.д.
— MySQL и сам SQL. Сложная выборка, джойны, подзапросы, отладка, оптимизация запросов, агрегирующие функции.
— Уверенное владение одним из фреймворков Yii2 / Symfony / Laravel
— Чтение чужого кода (Legacy Code).
А так же:
— Собственные проекты на github/bitbucket
— Уверенное владение GIT из командной строки
— Менеджер пакетов Composer
— Понимание html/css/js/jquery
— Различные протоколы: tcp/ip, http, dns, ssh, dns, sftp, RESTful API
— Сопутствующие сервисы и программы: Docker, RabbitMQ, Redis, Memcache, Sphinx или Elastic, x-Debug и другие.
— Модные слова: DRY, KISS, YAGNI
— Принципы SOLID
(было изучено более 50 вакансий)
Основное:
— Уверенное владение синтаксисом php 5.x и 7.x
— ООП и паттерны. Singleton, MVC, Facade и т.д.
— MySQL и сам SQL. Сложная выборка, джойны, подзапросы, отладка, оптимизация запросов, агрегирующие функции.
— Уверенное владение одним из фреймворков Yii2 / Symfony / Laravel
— Чтение чужого кода (Legacy Code).
А так же:
— Собственные проекты на github/bitbucket
— Уверенное владение GIT из командной строки
— Менеджер пакетов Composer
— Понимание html/css/js/jquery
— Различные протоколы: tcp/ip, http, dns, ssh, dns, sftp, RESTful API
— Сопутствующие сервисы и программы: Docker, RabbitMQ, Redis, Memcache, Sphinx или Elastic, x-Debug и другие.
— Модные слова: DRY, KISS, YAGNI
— Принципы SOLID
😎 Менторство.
1. Менторство (Наставничество) – это эффективный способ передачи профессиональных знаний и умений от более опытного специалиста (ментора) менее опытному (протеже).
2. Это не обучение как таковое, а делёжка опытом и помощь в поиске решений для задач, с которыми сталкивается протеже.
3. Хороший ментор всегда покажет, где взять удочку, а не рыбу. Он не решает задачи за вас, а наводит вас на правильное решение.
4. Если вы уже имеете определённый опыт программирования, но боитесь браться за платные проекты на фрилансе, то ментор поможет вам побороть свой страх и справиться со сложными задачами.
5. Однако помните, программист рождается, когда начинает осознанно решать задачи без посторонней помощи. Это значит, что менторство помогает на первых порах, но потом становится «медвежьей услугой».
1. Менторство (Наставничество) – это эффективный способ передачи профессиональных знаний и умений от более опытного специалиста (ментора) менее опытному (протеже).
2. Это не обучение как таковое, а делёжка опытом и помощь в поиске решений для задач, с которыми сталкивается протеже.
3. Хороший ментор всегда покажет, где взять удочку, а не рыбу. Он не решает задачи за вас, а наводит вас на правильное решение.
4. Если вы уже имеете определённый опыт программирования, но боитесь браться за платные проекты на фрилансе, то ментор поможет вам побороть свой страх и справиться со сложными задачами.
5. Однако помните, программист рождается, когда начинает осознанно решать задачи без посторонней помощи. Это значит, что менторство помогает на первых порах, но потом становится «медвежьей услугой».
❗Попытки решить задачу.
1. Как часто вы сталкиваетесь в программировании со сложными задачами? Сколько попыток вы делаете, чтобы решить сложную задачу?
2. Я думаю, что большинство из вас ограничивается тремя или пятью попытками. Некоторые могут сделать семь, восемь попыток и на этом отложить решение на неопределённый срок.
3. Сколько же стоит пытаться решить неподдающуюся решению задачу, чтобы сказать себе: «Эта задача мне не по зубам, я не буду больше пытаться её решить»
4. Правильный ответ — нисколько. Вы либо заранее понимаете, что задача не для вас либо беретесь за неё и решаете пока не добьетесь результата. Попытки считать не нужно, они не ограничены или, другими словами, бесконечны!
5. Помните, что любую сложную задачу можно декомпозировать, разбив её на мелкие подзадачи. Решать маленькие задачи гораздо проще, чем одну большую. А если в задачах есть незнакомые вам технологии или термины, вы легко сможете воспользоваться Google’ом!
P.S.
Нерешенных задач в мире становится всё меньше, а информация о решенных есть в Интернете.
1. Как часто вы сталкиваетесь в программировании со сложными задачами? Сколько попыток вы делаете, чтобы решить сложную задачу?
2. Я думаю, что большинство из вас ограничивается тремя или пятью попытками. Некоторые могут сделать семь, восемь попыток и на этом отложить решение на неопределённый срок.
3. Сколько же стоит пытаться решить неподдающуюся решению задачу, чтобы сказать себе: «Эта задача мне не по зубам, я не буду больше пытаться её решить»
4. Правильный ответ — нисколько. Вы либо заранее понимаете, что задача не для вас либо беретесь за неё и решаете пока не добьетесь результата. Попытки считать не нужно, они не ограничены или, другими словами, бесконечны!
5. Помните, что любую сложную задачу можно декомпозировать, разбив её на мелкие подзадачи. Решать маленькие задачи гораздо проще, чем одну большую. А если в задачах есть незнакомые вам технологии или термины, вы легко сможете воспользоваться Google’ом!
P.S.
Нерешенных задач в мире становится всё меньше, а информация о решенных есть в Интернете.
Не упускайте теорию 📚
Часто новички в программировании стараются больше практиковаться в кодинге, совершенно забывая про теорию. Даже если они читают книги, то стараются искать иллюстрации кода, чтобы сразу воспользоваться новыми знаниями на практике.
Так зачем же теория программисту, если ему только и надо, что код писáть ⁉
Изучение теории расширяет наш кругозор. Это крайне важно для проектирования будущих проектов. Если программист не в состоянии спроектировать свой проект, то ему и кодить будет нечего.
Конечно, исключением являются крупные IT компании, где проектированием занимаются умные люди, которые уже перечитали массу книг о различных технологиях и методах проектирования. Но мы с вами едва ли попадем к ним работать на первых порах и потому, должны уметь самостоятельно проектировать.
Это совсем не означает, что нужно удариться в чтение и перестать кодить.
Я лишь призываю вас не упускать теорию, ведь на собеседовании первый этап, это как правило теория и лишь пройдя её вы сможете блеснуть перед интервьюером своим прекрасным кодом!
--
Сборник задач https://app.justcoding.ru/
Часто новички в программировании стараются больше практиковаться в кодинге, совершенно забывая про теорию. Даже если они читают книги, то стараются искать иллюстрации кода, чтобы сразу воспользоваться новыми знаниями на практике.
Так зачем же теория программисту, если ему только и надо, что код писáть ⁉
Изучение теории расширяет наш кругозор. Это крайне важно для проектирования будущих проектов. Если программист не в состоянии спроектировать свой проект, то ему и кодить будет нечего.
Конечно, исключением являются крупные IT компании, где проектированием занимаются умные люди, которые уже перечитали массу книг о различных технологиях и методах проектирования. Но мы с вами едва ли попадем к ним работать на первых порах и потому, должны уметь самостоятельно проектировать.
Это совсем не означает, что нужно удариться в чтение и перестать кодить.
Я лишь призываю вас не упускать теорию, ведь на собеседовании первый этап, это как правило теория и лишь пройдя её вы сможете блеснуть перед интервьюером своим прекрасным кодом!
--
Сборник задач https://app.justcoding.ru/
Forwarded from PHP Интервью
🔔 Однажды мы с коллегой поспорили, кто из нас круче, как программист! Конечно, это выглядело как ребячество, но тогда мы в серьёз задумались, как же это выяснить. И кое-что придумали.
Мы нашли в интернете несколько интересных задач, с которыми ни одни из нас еще не сталкивался и начали их решать одновременно.
Я бы мог сказать, что победа была за мной и вы едва ли смогли бы это проверить, но я буду честен с вами и скажу, как есть, победил конечно же я и с очень большим отрывом. Когда я закончил решать, мой товарищ еще не решил даже первую задачу.
Он тогда не знал, что я ночами на пролёт прокачивал свой навык решения задач, находя их в интернете, а через какое-то время появилось это:
👉 https://app.justcoding.ru/
Великолепный сервис с большим набором задач и автоматической проверкой решения. Решайте по 5-7 задач в неделю или больше. Так вы прокачаете не только навык решения задач но и ближе познакомитесь со стандартными функциями PHP.
Мы нашли в интернете несколько интересных задач, с которыми ни одни из нас еще не сталкивался и начали их решать одновременно.
Я бы мог сказать, что победа была за мной и вы едва ли смогли бы это проверить, но я буду честен с вами и скажу, как есть, победил конечно же я и с очень большим отрывом. Когда я закончил решать, мой товарищ еще не решил даже первую задачу.
Он тогда не знал, что я ночами на пролёт прокачивал свой навык решения задач, находя их в интернете, а через какое-то время появилось это:
👉 https://app.justcoding.ru/
Великолепный сервис с большим набором задач и автоматической проверкой решения. Решайте по 5-7 задач в неделю или больше. Так вы прокачаете не только навык решения задач но и ближе познакомитесь со стандартными функциями PHP.
Сколько нужно учиться? 🤔
Иногда учащиеся спрашивают меня, сколько необходимо уделять времени на обучение, чтобы в ближайшем будущем стать программистом. Хороший вопрос, давайте попробуем в нем разобраться.
Сейчас мне 34 года и программировать я начал с 14 лет. Примерно в 17 лет я уже активно работал над коммерческими проектами. Мне потребовалось 3 года, чтобы выучиться до уровня, при котором я бы не боялся брать на себя ответственность. Но сколько времени я уделял обучению?
Ответ прост, абсолютно всё свободное время! Я программировал, когда приходил со школы. Я программировал перед сном и часто ложился спать ближе к утру, потому что не мог оторваться от процесса. Я программировал в выходные и праздничные дни. Меня никто не заставлял, а на оборот, родители тревожились и старались ограничить мое пребывание за компьютером. Я программировал постоянно!
И что самое интересное, похожую историю я слышал от многих своих коллег. Они так же погружались в процесс с головой и тратили на это всё свободное время.
А теперь самое интересное. Математика!
По моим подсчетам, в среднем, я тратил 3-4 часа в день (каждый день) и лишь спустя 2-3 года я чувствовал себя уверенным и работал с коммерческими проектами. Конечно, в то время информации было меньше, видео роликов с обучением почти не было, обучаться было сложнее. И всё же, вот что получается.
Выведем вот такую формулу:
— Обучение 3-4 часа, каждый день = Программист через ~1,5-2 года!
— Обучение 1,5-2 часа, каждый день = Программист через ~3-4 года!
— Обучение менее 1,5 часа в день = Программист через ~7-8 лет или более!
Формула довольно грубая, но она хорошо показывает влияние времени обучения на достижение нашей цели, если наша цель стать хорошим специалистом.
А сколько времени на обучение уделяете Вы❓
Иногда учащиеся спрашивают меня, сколько необходимо уделять времени на обучение, чтобы в ближайшем будущем стать программистом. Хороший вопрос, давайте попробуем в нем разобраться.
Сейчас мне 34 года и программировать я начал с 14 лет. Примерно в 17 лет я уже активно работал над коммерческими проектами. Мне потребовалось 3 года, чтобы выучиться до уровня, при котором я бы не боялся брать на себя ответственность. Но сколько времени я уделял обучению?
Ответ прост, абсолютно всё свободное время! Я программировал, когда приходил со школы. Я программировал перед сном и часто ложился спать ближе к утру, потому что не мог оторваться от процесса. Я программировал в выходные и праздничные дни. Меня никто не заставлял, а на оборот, родители тревожились и старались ограничить мое пребывание за компьютером. Я программировал постоянно!
И что самое интересное, похожую историю я слышал от многих своих коллег. Они так же погружались в процесс с головой и тратили на это всё свободное время.
А теперь самое интересное. Математика!
По моим подсчетам, в среднем, я тратил 3-4 часа в день (каждый день) и лишь спустя 2-3 года я чувствовал себя уверенным и работал с коммерческими проектами. Конечно, в то время информации было меньше, видео роликов с обучением почти не было, обучаться было сложнее. И всё же, вот что получается.
Выведем вот такую формулу:
— Обучение 3-4 часа, каждый день = Программист через ~1,5-2 года!
— Обучение 1,5-2 часа, каждый день = Программист через ~3-4 года!
— Обучение менее 1,5 часа в день = Программист через ~7-8 лет или более!
Формула довольно грубая, но она хорошо показывает влияние времени обучения на достижение нашей цели, если наша цель стать хорошим специалистом.
А сколько времени на обучение уделяете Вы❓
Вы все можете сами!
Правда, вы можете больше, чем предполагаете. Любая задача, любой проект вам под силу. Вопрос лишь во времени. В чем фокус?
Представим, что вам предложили создать свою операционную систему похожую на Windows. На первый взгляд задача не простая, я бы даже сказал нереализуемая! Но давайте не делать поспешных выводов и посмотрим на задачу под другим углом.
Что такое операционная система?
Операционная система — это комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Применим декомпозицию и разобьём нашу задачу на подзадачи (очень грубо):
1⃣ Создание файловой системы;
2⃣ Создание ядра ОС;
3⃣ Взаимодействие между процессами;
4⃣ Механизмы для работы с потоками;
5⃣ Реализовать мультизадачность;
6⃣ Создать графический интерфейс системы;
Подзадачи разбиваем на более мелкие блоки. Находим в интернете информацию по каждому направлению, изучаем, практикуем и реализуем. Последовательно закрывая каждую задачу, мы будем двигаться вперед и в конце концов, если не остановимся, мы достигнем своей цели.
Другой вопрос, что нашей жизни едва ли хватит, что бы в одиночку всё изучить и реализовать т.к. в создании Windows принимали участие большое количество программистов, но наша задача была не сделать быстро, а реализовать задачу в принципе.
Все мы можем, было бы желание и время! 😎
Правда, вы можете больше, чем предполагаете. Любая задача, любой проект вам под силу. Вопрос лишь во времени. В чем фокус?
Представим, что вам предложили создать свою операционную систему похожую на Windows. На первый взгляд задача не простая, я бы даже сказал нереализуемая! Но давайте не делать поспешных выводов и посмотрим на задачу под другим углом.
Что такое операционная система?
Операционная система — это комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Применим декомпозицию и разобьём нашу задачу на подзадачи (очень грубо):
1⃣ Создание файловой системы;
2⃣ Создание ядра ОС;
3⃣ Взаимодействие между процессами;
4⃣ Механизмы для работы с потоками;
5⃣ Реализовать мультизадачность;
6⃣ Создать графический интерфейс системы;
Подзадачи разбиваем на более мелкие блоки. Находим в интернете информацию по каждому направлению, изучаем, практикуем и реализуем. Последовательно закрывая каждую задачу, мы будем двигаться вперед и в конце концов, если не остановимся, мы достигнем своей цели.
Другой вопрос, что нашей жизни едва ли хватит, что бы в одиночку всё изучить и реализовать т.к. в создании Windows принимали участие большое количество программистов, но наша задача была не сделать быстро, а реализовать задачу в принципе.
Все мы можем, было бы желание и время! 😎
Хотите получить работу?
Если среди вас кто-то закончил курсы программирования на PHP или проходил обучение самостоятельно, но пока не знает, что делать дальше. Возможно, вы предпринимали попытки пройти собеседование и устроиться на работу в IT-компанию, однако потерпели фиаско!
Я предлагаю вам интересную услугу помощи в трудоустройстве. Нет, я не буду вам предлагать работу у своих друзей или знакомых и не стану обещать вам золотые горы. Я лишь хочу вам помочь.
У меня большой опыт в программировании в целом и на PHP в частности. За последние 5 лет я провел не один десяток интервью с кандидатами на вакансию PHP-программист. Перечитал более сотни резюме и могу отличить шаблонное от не шаблонного.
🔹 Что я предлагаю
Я провожу с вами предварительное online-интервью. Определяю ваши сильные и слабые стороны. Создаю для вас персональную программу подготовки к реальному собеседованию. Если у вас отсутствуют выполненные проекты, я предоставлю список интересных и не сложных проектов, один из которых нужно будет выполнить.
Вы изучаете материал, который я вам предоставлю. Это будут книги, статьи и практические задачи. Спустя определённое время, которое полностью зависит от вас, мы проводим повторное интервью. Если я считаю, что вы готовы, то мы с вами находим несколько вакансий PHP-Junior, составляем резюме и отправляем.
В случаи успешного прохождения интервью по одной из этих вакансий, я добавляю вас в специальный чат по поддержке Джуниоров на этапе испытательного срока. За вас никто выполнять задачи, конечно же, не будет. Однако вы всегда сможете получить совет, как справиться с той или иной задачей. Какие технологии лучше использовать и многое другое.
🔹 Сколько это стоит
Данная услуга стоит 35 тыс. рублей. Пять тысяч вы платите сразу, остальное выплачиваете с каждой полученной зарплаты. То есть вы оплачиваете только по факту получения результата! Если оплата не произведена, вы теряете доступ к чату и ко мне.
Интересно❓
Пишите в личку 👇
@fxdev
P.S. Услугу чата с поддержкой можно приобрести отдельно по подписке.
P.S.S. Это не курсы и не обучение. Это подготовка к собеседованию!
Если среди вас кто-то закончил курсы программирования на PHP или проходил обучение самостоятельно, но пока не знает, что делать дальше. Возможно, вы предпринимали попытки пройти собеседование и устроиться на работу в IT-компанию, однако потерпели фиаско!
Я предлагаю вам интересную услугу помощи в трудоустройстве. Нет, я не буду вам предлагать работу у своих друзей или знакомых и не стану обещать вам золотые горы. Я лишь хочу вам помочь.
У меня большой опыт в программировании в целом и на PHP в частности. За последние 5 лет я провел не один десяток интервью с кандидатами на вакансию PHP-программист. Перечитал более сотни резюме и могу отличить шаблонное от не шаблонного.
🔹 Что я предлагаю
Я провожу с вами предварительное online-интервью. Определяю ваши сильные и слабые стороны. Создаю для вас персональную программу подготовки к реальному собеседованию. Если у вас отсутствуют выполненные проекты, я предоставлю список интересных и не сложных проектов, один из которых нужно будет выполнить.
Вы изучаете материал, который я вам предоставлю. Это будут книги, статьи и практические задачи. Спустя определённое время, которое полностью зависит от вас, мы проводим повторное интервью. Если я считаю, что вы готовы, то мы с вами находим несколько вакансий PHP-Junior, составляем резюме и отправляем.
В случаи успешного прохождения интервью по одной из этих вакансий, я добавляю вас в специальный чат по поддержке Джуниоров на этапе испытательного срока. За вас никто выполнять задачи, конечно же, не будет. Однако вы всегда сможете получить совет, как справиться с той или иной задачей. Какие технологии лучше использовать и многое другое.
🔹 Сколько это стоит
Данная услуга стоит 35 тыс. рублей. Пять тысяч вы платите сразу, остальное выплачиваете с каждой полученной зарплаты. То есть вы оплачиваете только по факту получения результата! Если оплата не произведена, вы теряете доступ к чату и ко мне.
Интересно❓
Пишите в личку 👇
@fxdev
P.S. Услугу чата с поддержкой можно приобрести отдельно по подписке.
P.S.S. Это не курсы и не обучение. Это подготовка к собеседованию!
📗 Веб-программирование начинается с интернета, а интернет начинается с протоколов TCP/IP.
Мало кто знаком с этими протоколами, которые играют жизненно важную роль в доставке информации по сетям Интернета.
Книга "TCP/IP — Сетевое администрирование" как раз об этом! Не обязательно читать её до конца, достаточно внимательно прочитать первые главы, в которых описывается основные принципы работы и взаимодействия компьютеров внутри сети.
Так же будет очень полезно почитать о таком понятии как RFC (Request for Comments).
👉 https://ru.wikipedia.org/wiki/RFC
Мало кто знаком с этими протоколами, которые играют жизненно важную роль в доставке информации по сетям Интернета.
Книга "TCP/IP — Сетевое администрирование" как раз об этом! Не обязательно читать её до конца, достаточно внимательно прочитать первые главы, в которых описывается основные принципы работы и взаимодействия компьютеров внутри сети.
Так же будет очень полезно почитать о таком понятии как RFC (Request for Comments).
👉 https://ru.wikipedia.org/wiki/RFC
PHP Интервью pinned «Хотите получить работу? Если среди вас кто-то закончил курсы программирования на PHP или проходил обучение самостоятельно, но пока не знает, что делать дальше. Возможно, вы предпринимали попытки пройти собеседование и устроиться на работу в IT-компанию, однако…»