Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Співбесіда з PHP. 250+ запитань для Junior, Middle та Senior

Пропонуємо список питань, які ставлять українським розробникам на технічних співбесідах з PHP. Звісно, він не є вичерпним, проте має перевагу: його формували спеціалісти, які проводять інтерв’ю в різних ІТ-компаніях.

Попередні статті рубрики присвячені Python, .NET, JavaScript та Java.

Junior

Загальне

1.Що таке посилання?
2.Які основні операції з використанням посилань?
3.Назвіть прості типи даних, підтримувані в РНР?
4.Що таке інкремент і декремент, у чому різниця між префіксним і постфіксним інкрементом і декрементом?
5.Що таке рекурсія?
6.У чому різниця між =, == і ===?
7.Які знаєте принципи ООП?
8.Яка система типів використовується в PHP? Опишіть плюси та мінуси.
9.Чим відрізняються ключові слова: include і require, mysql_connect і mysql_pconnect?
10.Що таке інтерфейси? Чи використовуєте їх? Якщо так — розкажіть про це.
11.Що таке абстрактний клас і чим він відрізняється від інтерфейсу?
12.Чи може абстрактний клас містити приватний метод?
13.Які модифікатори видимості є в РНР?
14.Які магічні методи ви знаєте і як їх застосовують?
15.Що таке генератори і як їх використовувати?
16.Що робить оператор yield?
17.Що таке traits? Альтернативне рішення? Наведіть приклад.
18.Опишіть поведінку під час використання traits з однаковими іменами полів і/або методів?
19.Чи будуть доступні приватні методи trait в класі?
20.Чи можна компонувати traits в trait?
21.Розкажіть про обробку помилок і винятки (try catch, finaly і throw).
22.Що таке type hinting, як працює, навіщо потрібен?
23.Що таке namespace’и та навіщо вони?
24.Порівняння значень змінних у РНР і підводні камені? Приведення типів. Що змінилося в PHP 8 у цьому контексті?
25.Як працює session у РНР, де зберігається, як ініціалізується?
26.Суперглобальні масиви. Які знаєте? Як використовували?
27.Порівняйте include vs required, include_once vs required_once.
28.Що означає складність алгоритму?
29.Що таке замикання в PHP? Наведіть приклад.
30.Яка різниця між замиканням у PHP і JavaScript?
31.Що таке пізнє зв’язування? Розкажіть про поведінку та застосування static.
32.Як перевизначити зберігання сесій?
33.Розкажіть про SPL-бібліотеку (Reflection, autoload, структури даних).
34.Розкажіть про принципи SOLID.
35.Розкажіть про шаблони GRASP.
36.Розкажіть про Dependency Injection: що таке DI-контейнери? Які є варіанти реалізацій?
37.Що вам відомо про MVC?
38.Що вам відомо про шаблони GoF?
39.Що вам відомо про шаблони, які застосовуються в ORM?
40.Напишіть/розкажіть на PHP приклад реалізації патерну Singleton.
41.Що таке Docker? Яким є принцип його роботи?
42.Що таке LAMP/NAMP?
43.Розкажіть про regexp.
44.Розкажіть про SSH-протокол.
45.Що таке PDO?
46.Що нового з’явилося в PHP 8?
47.Що таке PHP PEAR?
48.Які версії PHP досі підтримуються?
49.У чому різниця між GET і POST?
50.Чим відрізняються оператори BREAK і CONTINUE?
51.Чи є різниця між одинарними та подвійними лапками?
52.Що таке Cookie і навіщо вони використовуються?
53.Що не можна зберігати в Cookie і чому?
54.Якому середовищу розробки віддаєте перевагу й чому?

Git

55.Якою командою додати зміни?
56.Якою командою зафіксувати зміни?
57.Якою командою відправити зміни у віддалений репозиторій?

Бази даних

58.Що таке транзакція?
59.Що таке нормалізація?
60.Що таке денормалізація? Для чого вона потрібна?
61.Які є типи зв’язків у базі даних?
62.Що означає твердження про те, що СУБД підтримує контроль посилальної цілісності зв’язків?
63.Якщо використовувана вами СУБД не підтримує каскадні видалення для підтримки посилальної цілісності зв’язків, що можна зробити для досягнення аналогічного результату?
64.Що таке первинний і зовнішній ключі?
65.Які відмінності між первинним і унікальним ключами?
66.Які є типи JOIN і в чому відмінності?
67.Що таке курсори в базах даних?
68.Що таке агрегатні функції SQL? Наведіть кілька прикладів.
69.Що таке міграції?
70.Розкажіть про зв’язки один до одного, один до багатьох, багато до багатьох.
71.Назвіть і поясніть три будь-які агрегувальні методи.
72.Навіщо використовують оператор угруповання GROUP BY?
73.У чому різниця між WHERE і HAVING? Наведіть приклади.
74.У чому різниця між операторами DISTINCT і GROUP BY?
75.Для чого потрібні оператори UNION, INTERSECT, EXCEPT?
76.Опишіть різницю типів даних DATETIME і TIMESTAMP.
77.Які ви знаєте рушії таблиць і чим вони відрізняються?
78.Які способи оптимізації продуктивності баз даних знаєте?
79.Що таке партиціонування, реплікація і шардинг?
80.Чим відрізняються SQL від NoSQL бази даних?
81.Які бувають NoSQL бази даних?
82.Які типи даних є в MySQL?
83.Різниця між LEFT JOIN, RIGHT JOIN, INNER JOIN?
84.Різниця між JOIN і UNION?
85.Що таке індекси? Як вони впливають на час виконання SELECT, INSERT?
86.Що таке збережені процедури, функції та тригери в MySQL? Для чого вони? Наведіть приклади використання.
87.Як організувати збереження вкладених категорій у MySQL?

Laravel

88.Які є зв’язки і як вони реалізуються в Laravel?
89.Що таке поліморфні зв’язки, як вони працюють?
90.Що таке middleware? Навіщо це? На якому етапі виконується?

Composer

91.Що таке Composer?
92.Чим відрізняється require від require-dev?

Практичні завдання

93.Спроєктуйте базу даних для зберігання інформації про книги та їхніх авторів. Напишіть запит для вибірки всіх авторів і кількості написаних ними книг.
94.Є матриця 3×3. Порахуйте діагоналі, тільки парні/непарні числа в діагоналях.
95.Ваш застосунок видає 500 помилку. Опишіть послідовність пошуку проблеми.
96.Напишіть функцію, яка визначає, чи слово є паліндромом.
97.Який результат видасть такий код:

If (-1) print "True" else print "False"

98.Який результат видасть такий код:

$a = 3; $b = 2;
echo (int) $a / (int) $b;

99.Який результат видасть такий код:

var_dump (array_merge ([2 => 'a'], [3 => 'b']));

100.Є масив товарів у випадковому порядку із вказанням виробників. Напишіть метод для його сортування, щоб максимальна кількість перших товарів відповідала такому критерію: кожний наступний товар мав виробника, відмінного від попереднього.
101.Чому буде дорівнювати $ x після виконання виразу $ x = 1 + «1%» + «$ 1»?
102.Є масив Integer, напишіть можливі способи, як збільшити кожен елемент на одиницю (+1).
103.Схематично реалізувати структуру (класи) для завдання:

104.Є таблиці 2×3 і 3×2. Select * from a, b. Яка розмірність результату?

Order
iduser_idmoney
User
idemail

До таблиці є запити:

  • всі юзери з конкретного міста;
  • всі видалені користувачі;
  • всі видалені користувачі з конкретного міста.

Які індекси для таблиці найкраще поставити?

User
city_iddeleted (bool)

105.Напишіть запит для збільшення значення column1 на +1 для id = 2

idcolumn1
11
22

106.Напишіть цикл for так, щоб аргумент циклу змінювався в геометричній прогресії.
107.Чому дорівнюють вирази:

print (!! "false")

print (!! true)

print ((int) '125g7')

print ((int) 'x52')

108.Який результат виконання функції? Як виправити результат?

in_array (1, [0, '0', true])

109.Напишіть клас з реалізацією всіх можливих способів суворої типізації даних з урахуванням можливостей PHP 7.4.

Laravel:

110.Напишіть метод для зв’язку «багато до багатьох». У методі додайте умову для значення, яке збережено в поле проміжної таблиці. Наприклад, є студенти та курси, на які вони записалися. Запис студента на курс повинен бути підтверджений. Підтвердження зберігається в проміжній таблиці як is_approve. Для моделі студентів має бути метод approvedCourses.
111.Напишіть запит з використанням моделі Query Builder, який буде відповідати запиту:

Select * from `users` where ( 'age'> 21 and ( 'has_education' == 1 or 'work_experience'> 2))

112.Напишіть artisan-команду для створення моделі та міграції для неї.
113.Напишіть artisan-команду для очищення кешу фреймворку.

Middle

Загальне

1.Як передаються змінні (за значенням або за посиланням)?
2.Які процеси відбуваються, коли користувач вводить у браузері URL?
3.Що таке варіативна функція або splat-оператор?
4.Що таке OWASP?
5.Які типи вразливостей знаєте? Як від них захищатися?
6.Що таке ідемпотентні методи? Які HTTP-методи є ідемпотентними для REST?
7.Що таке stateless?
8.SOAP vs REST. У чому різниця?
9.Які методи авторизації використовують для побудови API?
10.Що може містити інтерфейс?
11.Клас містить властивість, яка, своєю чергою, є об’єктом. Що буде містити ця властивість у клонованому об’єкті: посилання на той самий дочірній об’єкт чи копію дочірнього об’єкта? Що потрібно зробити, щоб це змінити?
12.Що таке Mock? Де використовують і навіщо?
13.Що таке PSR?
14.Опишіть реалізацію одного з шаблонів проєктування.
15.Що таке Redis?
16.Як зберігаються дані в Redis/Memcached?
17.Розкажіть про доцільність застосування Redis/Memcached для кешування. Які плюси та мінуси?
18.Назвіть відмінності між nginx і Apache.
19.Що таке Opcash? Як він працює?
20.Що таке JIT? Як він працює?
21.Навіщо потрібне ключове слово final?
22.Що нового в РНР 7/8?
23.Що таке SOLID, DRY, KISS, YAGNI?
24.Назвіть патерни проєктування, з якими доводилося працювати.
25.Що таке проста фабрика?
26.Що таке Service Layer і де його варто застосовувати?
27.Як влаштований Singleton і чому його вважають антипатерном?
28.Що таке ідемпотентність?
29.Опишіть життєвий цикл HTTP-запиту?
30.Що таке купа і стек?
31.Що таке рефлексія?
32.Що таке хеш-функція і де вона використовується?
33.Як застосовуються черги в РНР?
34.Як у загальних рисах працює OPcache?
35.Що таке GRASP?
36.Що таке TDD?
37.Чим відрізняються модульні тести від інтеграційних?
38.Що таке трейти? Як застосовувати на практиці?
39.Як вирішити конфлікти під час використання trait?
40.Як працює автозавантаження класів?
41.У чому різниця між стеком і чергою?
42.Розкажіть про Unit Tests (required), Functional Tests (optional). Моки і стаб у PHP.
43.Уявімо ситуацію, в якій нам потрібно викликати приватний метод, як це зробити?
44.Опишіть різницю між PHP-FPM і PHP на сокеті.
45.Як би ви реалізували завантаження великих звітів з великою кількістю даних (файли від 1 гігабайта до N гігабайтів).
46.Як би ви імпортували 50-гігабайтний файл xml в базу даних?
47.Чому після PHP 5 йде відразу 7, куди поділася 6?
48.Чи є різниця між self і this у PHP?
49.Що таке PuTTY?
50.У нас є важливий PHP-файл, його треба запускати кожні 20 секунд, як би ви це зробили?
51.Як розшифрувати 644 в правах на файл у Linux?
52.Що таке Opcode?

Git

53.У чому різниця між merge і rebase?
54.Якою командою можна зробити ресет змін, не втративши їх?
55.Що таке stash і навіщо він потрібен?

Бази даних

56.Яка різниця між MyISAM i InnoDB? У яких випадках і що краще застосовувати?
57.Як знайти та оптимізувати «важкі» запити?
58.Які є типи індексів?
59.Як зберігати координати точки на карті в БД?
60.Які типи індексів бувають у RDBMS?
61.Яку властивість полів БД потрібно враховувати під час вибору типу індексу?
62.Коли варто використовувати індекси, які є переваги та недоліки?
63.Що таке ACID?
64.Що таке план виконання запиту і як його дізнатися?
65.У чому різниця між типами даних CHAR і VARCHAR у SQL?
66.Яке призначення транзакцій? Розкажіть про принцип роботи.
67.Назвіть 3–4 нормальні форми реляційних БД.
68.Яке призначення реплікації? Які є типи зв’язків і в чому різниця між ними?
69.Що таке індексація? Які є типи індексів? Який сенс їх використовувати?
70.Що таке повнотекстовий пошук у MySQL? Як він реалізується?
71.Що таке cursor у MySQL-процедурах?
72.Розкажіть про RabbitMQ або Gearman.
73.Що знаєте про Solr/ElasticSearch ?
74.Що таке дедлоки MySQL?
75.Чи впливає порядок JOIN на план виконання MySQL-запиту?

Laravel

76.Як і які формуються запити під час використання методу with ()?
77.Чим відрізняються методи with () і load ()?

Практичні завдання

78.Вам потрібно спарсити продукти та їхні ціни з інтернет-магазину. За допомогою чого будете це робити і які основні нюанси потрібно врахувати?
79.Для сайту користувачів необхідно зробити механізм додавання і відображення аватарок. Як би ви його реалізували?
80.Який результат видасть такий код:

class Test
{
public $ value;
}
 
$a = new Test;
$a->value = 1;
 
$b = $ a;
$b->value = 2;
 
echo $a->value;

81.Які модифікатори доступу допустимі в реалізації методу getName:

abstract class Cls
{
protected abstract function getName ();
}
 
class Child extends Cls
{
(Public, protected, private) function getName () {}
}

82.Реалізуйте чергу повідомлень, використовуючи MySQL для зберігання даних. Як уникнути ситуації, коли декілька воркерів отримають в обробку однакове повідомлення?
83.Є матриця з числами 3×3. Як знайти числа, що не мають парних/непарних сусідів?
84.Є мануал на API від Європейського центрального банку з курсом валют. Потрібно знайти мінімуми-максимуми за 5 років, а потім те саме, але з розбивкою за місяцями.
85.Збережіть свою бібліотеку в БД. Потрібно зберегти назви книг і імена авторів. Запропонуйте структуру таблиць. Виведіть звіт «книга — кількість співавторів».
86.Реалізуйте примітивний роутинг, який забезпечує роботу Рауса за шаблоном "/ {class_name} / {method_name} /"
87.Напишіть архітектуру, яка ґрунтується на базовій абстракції. Дочірні класи розширюються за допомогою інтерфейсів. Реалізацію однакових методів виконайте, використовуючи трейти (реалізовувати в абстракції).
88.Напишіть запит, у результаті виконання якого виведеться значення «id» і «val», якщо значення стовпця column> 5 => val = val1 інакше val2.

idcolumnval1val2
11‘a’‘d’
26‘b’‘e’
32‘c’‘f’

89.Laravel: напишіть розклад, який буде виконуватися щоп’ятниці кожної години у 15 хвилин.
90.Напишіть кастомну artisan-команду, яка в консоль буде виводити поточний час.

Senior

Загальне

1.Як ви розумієте REST?
2.Що таке Copy-on-write?
3.Що таке пізнє статичне зв’язування?
4.Що таке CQRS?
5.Що таке cohesion і coupling?
6.Як можна отримати значення приватної властивості класу в рантаймі?
7.Як можна отримати значення приватної властивості класу в рантаймі без використання рефлексії?
8.Чи варто використовувати в методах значення за замовчуванням null. Якщо ні, то чому?
9.Чи варто повертати null з методів. Якщо ні, то чому і як писати код у таких випадках?
10.Чи варто передавати null як параметр методів. Якщо ні, то чому і як писати код?
11.Як ви розумієте Special Case/Null Object і де його варто застосовувати?
12.Який підхід варто застосувати під час тестування коду, який має зовнішні залежності (наприклад, звернення до API Google)?
13.Що таке DDD?
14.Що таке мікросервісна архітектура?
15.Які є способи комунікації між мікросервісами?
16.Розкажіть про ReactPHP або Swoole.
17.Що таке фільтр Блума?
18.Що таке gap locks у MySQL?
19.Навіщо потрібне кешування? Яку проблему воно розв’язує?
20.Які види кешсховищ знаєте і застосовували? Чим вони відрізняються?
21.Чим характеризується ефективність кешування?
22.Наведіть найскладніший приклад кешування з практики.
23.Що таке sensitive дані? Як зберігаються в базі? Як відображаються в логах?
24.Коротко розкажіть про історію PHP. Що з’являлося в кожній версії? Куди розвивається PHP на ваш погляд? Що нового в останній версії?
25.Як у PHP очистити пам’ять?
26.Що таке антипатерни? Наведіть кілька прикладів.
27.Як зробити рефакторинг великого legacy-проєкту. Як це аргументувати/продати PM’у, замовнику?
28.Чим відрізняється Dependency Injection від Service Locator?
29.Розкажіть про витоки пам’яті в PHP. Наведіть приклади. Як боролися?
30.Як працює Garbage Collector? Коли є сенс викликати?
31.За яким принципом будете вибирати архітектуру для своєї майбутньої програми?
32.З якими видами архітектури застосунків стикалися?
33.Структури даних. Які знаєте, які використовували на практиці?
34.З якими ще видами API стикалися? Які були проблеми? Як вирішували?
35.Як ви розумієте Exception flow у контексті PHP.
36.Розкажіть про автоматичні аналізатори коду PHP (Roundcube тощо).
37.Розкажіть про Performance & профілювання PHP-коду (Xdebug, XHprof тощо).
38.Розкажіть, як би ви реалізували систему, коли є багато джерел даних, які повертають у різних форматах дані про користувача. Є одержувачі даних, які вибирають, з яких джерел вони хочуть приймати дані API.
39.Розкажіть про проєкт, яким по-справжньому пишаєтеся. Які технологічно незвичні рішення ви застосували для його успішної реалізації?
40.Як ви організовуєте тестування коду? Коли покриття тестами нераціональне? Чи були у вас такі проєкти?

Git

41.Як змінити лише повідомлення останнього коміта?
42.git rebase -i HEAD ~ 3 що робить ця команда і які можуть виникнути проблеми під час її застосування?
43.Навіщо команда git bundle?
44.Якою командою можна влити коміт у поточну гілку?
45.Як виконати склеювання комітів?

Бази даних

46.Які структури даних підтримує Redis?
47.Що мається на увазі під поняттям «тригер» у SQL?
48.Яка різниця між реляційними та нереляційними СУБД?
49.Які NoSQL СУБД знаєте?
50.Що таке ACID Compliance?
51.Що таке Views? Які переваги й недоліки?
52.Що таке рівні ізоляції транзакцій?
53.Що таке concurrent query?
54.Що таке кластерні індекси?
55.Як побудувати соціальну мережу, яка витримає навантаження у 100 тисяч відвідувачів в онлайні. І зможе пропонувати користувачам, наприклад, з Нью-Йорка, у друзі людей, які живуть у цьому місті. Даних багато, працювати система має швидко. Як усе зберігати? За яким принципом будувати запити?

Практичні завдання

56.Який принцип порушено в коді та як можна виправити код?

 
class Shape
{
            public $width;
            public $height;
 
            public function __construct($width, $height)
            {
                        $this->width = $width;
                        $this->height = $height;
            }
}
 
class Triangle
{
            public $radius;
 
            public function __construct($radius)
            {
                        $this->radius = $radius;
            }
}
 
class AreaCalculator
{
            public function calculate($shapes)
            {
                        foreach ($shapes as $shape) {
            if (is_a($shape, 'Square')) {
                                                $area[] = $shape->width * $shape->height;
            } else if (is_a($shape, 'Triangle')) {
                                                $area[] = $shape->radius * $shape->radius * pi();
                                    }
                        }
 
            return array_sum($area);
            }
}

57.Є масив зі 10 млн унікальних рядків. Програма отримує новий рядок, необхідно знайти всі рядки з масиву, що задовольняють критерій: відстань Левенштейна до нового рядка менше як 3 операції.
58.Потрібно побудувати сервер посилання емейлів. Які б класи/шари/абстракції ви виділили?
59.Як би ви реалізували скорочувалку урлів, стискач/розтискач зображень, парсер останніх повідомлень форуму, де згадується певний бренд, перевірку цін на товари у конкурентів?

Дякуємо за підготовку статті Денису Оленіну, Владиславу Карпенку, Євгену Кубаю, Вадиму Проніну, Володимиру Кочеткову, Сергію Воробєю, Олегу Гриньківу, В’ячеславу Долі, Олександру Шарамко, Дмитру Каленюку, Олегу Висоцькому, Олександру Конотопу, Артему Висоцькому, Сергію Андрусенку.

Наступний матеріал готуємо про C#. Якщо ви співбесідуєте фахівців різних рівнів на позицію C#-розробника, пишіть на [email protected].

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось27
До обраногоВ обраному43
LinkedIn

Схожі статті

  • Співбесіда з Java. 250+ запитань для Junior, Middle, SeniorСпівбесіда з Java. 250+ запитань для Junior, Middle, Senior

    Редакція DOU

    Редакція DOU запитала СТО та досвідчених фахівців, що проводять інтерв’ю з Java, про те, які теоретичні запитання ставлять і які задачі та завдання пропонують розв’язати кандидатам. Адже перед технічною співбесідою важливо мати чіткий план підготовки. 47

  • Співбесіда з Ruby. 500+ запитань для Junior, Middle, SeniorСпівбесіда з Ruby. 500+ запитань для Junior, Middle, Senior

    Редакція DOU

    Що потрібно знати, коли проходиш технічну співбесіду з Ruby? Звісно, до всіх запитань готовим не будеш, але ми попросили інтерв’юерів-практиків надіслати свої списки запитань, а потім узагальнили їх в одному матеріалі. 14

  • Співбесіда з DevOps. 300+ запитань для Junior, Middle, SeniorСпівбесіда з DevOps. 300+ запитань для Junior, Middle, Senior

    Редакція DOU

    Можна сперечатися про популярність DevOps, а можна просто готуватися до співбесіди та отримати омріяні 9K :) Щоб допомогти вам зорієнтуватись у питаннях, які ставлять на інтерв’ю, ми поспілкувались з тими, хто їх проводить, і склали список можливих запитань. 115




51 коментар

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Очень оторвано от реальности

Задумался над задание 57 для Senior:

57.Є масив зі 10 млн унікальних рядків. Програма отримує новий рядок, необхідно знайти всі рядки з масиву, що задовольняють критерій: відстань Левенштейна до нового рядка менше як 3 операції.

Как сделать по-другому, кроме простого вычисления расстояния Левентшейна для каждой строки?

Подивіться структуру данних Vantage-point tree.

Написал для себя ответы на половину этих вопросов — очень хорошая шпаргалка получается, если нужно быстро вспомнить теорию. А так как тут без javascritp никак, то ещё сделал ответы страниц на 400 и по js. До конца года напишу ответы на все вопросы.

Написал для себя ответы на половину этих вопросов — очень хорошая шпаргалка получается, если нужно быстро вспомнить теорию. А так как тут без javascritp никак, то ещё сделал ответы страниц на 400 и по js. До конца года напишу ответы на все вопросы.

може б ти виклав відповіді як топик?
Дужк цікаво

Цікава підбірка ... знайшов декілька запитаннь, що часто ставлю сам :)

І декілька, які знадобилося погуглити )

Цікаве питання про Bloom filter. Я спершу не згадав що це, але як почав читати, зрозумів, що це та ж фігня, яку використали в signal для contact discovery. Я б сказав, що це дуууже нішеве питання.

Можна було питань 20 залишити😅 А то з такими співбесідами далеко підемо...

36.Розкажіть про автоматичні аналізатори коду PHP (Roundcube тощо).

Roundcube — поштовий клієнт, чи є все таки code quality tool з аналогічною назвою?

Вам код писати чи вумнічати?

На такій співбесіді повинно бути одне ключове питання — чому ви пишете на PHP?

Добре питання! Відповідь покаже як рівень програміста, так може виявити деякі характеристики робітника, вказати на його продуктивність, або проблеми з нею

Відповідь покаже як рівень програміста, так може виявити деякі характеристики робітника, вказати на його продуктивність, або проблеми з нею

Цікаво — як?

Наприклад моя відповідь на питання

ключове питання — чому ви пишете на PHP?

бо він легкий (не високий поріг входу) та зрозумілий, популярний, та перспективний

Що б ти міг сказати про мене, виходячи з цієї відповіді?

Наприклад моя відповідь на питання

ключове питання — чому ви пишете на PHP?

бо він легкий (не високий поріг входу) та зрозумілий, популярний, та перспективний

бугога на чому сказали на тому і пишу )) спитають поради на чому писати то буду відповідать не приймуть пораду ну такоє це ж йошкін кот просто робота тобто я ще розумію питання «якщо обирати пхп чи сі то шо би ви порадили»

Я был юн и мне были нужны деньги ©

Senior
Загальне
3.Що таке пізнє статичне зв’язування?

Помню, у меня это на одном из первых собесов на джуна спросили. Так за 4.5 года и не встретилось в реальной жизни)

Поправка — не встретил необходимости писать самому, так-то оно под капотом в той же Ларе юзается.

А есть люди, которые постоянно держат в голове всю эту информацию? :) Львиная часть из перечисленного ни разу не пригодилась за несколько лет, а что не используется, то благополучно забывается (и так же легко возобновляется в памяти в случае реальной необходимости).

А есть люди, которые постоянно держат в голове всю эту информацию?

секрет прост.

есть факты — а есть карта.
у кого есть карта — тот на ходу, на собеседовании «восстанавливает» факты

у кого нет — зубри, зубри, зубри, ...

профи отличается от новичка — наличием такой карты. даже если он ее не создавал и никогда не задумывался, как он помнит и знает то что помнит и знает.

а головы — у всех одинаковой мощности :)
просто — одни головы используют алгоритмы сжатия с потерями, а другие еще нет.

эта разница и выявляется на собеседовании такими вопросами.
я опытный! я «10 лет» ... — ну ок, покажи свою карту, покажи свой алгоритм сжатия.

а-а-а, нету. ну вот и цена твоего опыта — 2, от силы 3 года.

только потом эти знатоки такой ужасный код пишут, что удивляешься как такое можно писать. Зато всё знают

только потом эти знатоки такой ужасный код пишут

а те что не знают, и в лучшем случае зазубрили — пишут прекрасный код, да.

Питання на співбесіді це добре і вони повинні бути але!!! Програміст, розробник в першу чергу має бути митцем в плані алгоритму, уявляти задачу, думати як реалізувати, думати над масштабом, швидкодією, зручністю і т.д. Всі ті довідникові дані це добре але їх завжди можна підгледіти в документації і головне щоб людина знала де і що подивитись. Тоді це буде програміст/розробник, а не штампувальник говнокоду. Вибачте але це схоже на питання до індуса-пхпешника (не в образу до індусів і пхпешників :) ). Прогер/розробник це не персонаж якій просто передруковує як машиністка...

Из-за того, что по таким вопросам готовятся на собеседования, потом очень сложно найти нормальных кандидатов :)

Шо значить «готуватися»? Це ж не екзамен в університеті, який можна зазубрити, здати і забути.
Не розумію як до співбесіди можна готуватися. Все, що знаєш — все твоє.

Наприклад ось так: www.amazon.com/...​-Questions/dp/0984782850
Але бiльшiсть работодавцiв оцiнюють знання за оцими ось питаннями. I тому junior developer’и вивчають/зубрять вiдповiдi на цi питання. Хоча дуже небагато з них показують реальну перспективу кандидата.

Я сприймаю подібні книжки не як екзаменаційні білети в університеті. Для мене це просто приклади розв’язання типових задач.

Шо значить «готуватися»?

те й значить — помити голову, поголитися.

пройтись по типовим питанням, освіжити в пам’яті те з чим вже давно не працював.

Все, що знаєш — все твоє.

якщо не цікаво пройти успішно співбесіду, то так, можно не готуватись ніяк.
це зразу буде відчутно — чувак не готувався, бо йому начхати на цю вакансію, та мабуть і саму команду, компанію.

Краще я на співбесіді скажу «не знаю», ніж потім обісрусь там, де добре показав себе на ній.

звісно кажіть «не знаю»
а інший потратить, годинку дві на підготовку, та дасть відповідь.

мені взагалі прикольно, кого і для чого переконує програміст, що не тра готуватися.
ну не готуйтеся, та й будете мати навалу оферів.

роботи повно, знайдете собі іншу, яку хочеться.

Ви не зрозуміли, я трохи не про те.
От взяті ті ж самі

80.Чим відрізняються SQL від NoSQL бази даних?
81.Які бувають NoSQL бази даних?

У мене є відповіді на ці питання. Але зі мною навряд чи вийде поговорити на тему NoSQL, бо я з ними не працював. Або ті ж самі рівні ізоляції — я пам’ятаю про всі 4, але якщо мені дати SQL код з паралельними транзакціями, то я можу сходу і не сказати який результат отримаємо. Не тому, що не знаю, а тому, що не працював з цим достатньо багато.

Я це вивчення мав на увазі. Мати ж базове уявлення, звісно, треба обов’язково.

Не тому, що не знаю, а тому, що не працював з цим достатньо багато.

одна з головних цілей співбесіди — і виявити, з чим працював, а з чим ні, базові уявлення — якої глибини, і т.і.

і по результату — «виставляються бали».
як вам цікаво отримати високий бал, то готуйтеся.
не цікаво, то не готуйтеся. можете взагалі відмовитись від розмови — «от моє резюме, а от я — красень, що вам ще до біса тра від мене??»
або послухати питання, відповісти на всі — не знаю, не працював, та зрадіти що не попали у таку дурну компанію.

У мене є відповіді на ці питання.

ну то й добре.
а у трьох попередніх що отримали офер — були кращими.
і вам оферу не дали.

і, що ви кому плануєте доводи, що ці питання йолопкуваті?
повно ж вакансій, знайдете де таких питань не буде, або ваша відповіль буде достатньою.
а ця компанія нехай страждає, що в неї не вміють проводити співбесіди так, щоб кожен хто прийшов отримав офер

Если бы на собеседованиях прям вот точно проверяли кандидата на возможность делать работу то пожалуй вы правы и

Все, що знаєш — все твоє.

однако на практике чаще бывает вот так www.screencast.com/t/parUKpxCte8

Після того як мене двічі відраховували з університету я сказав собі, що більше ніколи не буду готуватися до екзаменів у всіх їх можливих формах.

Поки цей підхід збоїв не давав, не бачу сенсу щось міняти.

Вам нужно идти в менеджеры, а не в программисты. Отсутствие желания учиться, но при этом умение выставлять свои минусы — как положительные качества, многого стоят.

У мене час від часу з’являються подібні думки. Тим більше, що маю певний досвід.
Але поки мені ще цікаво писати код. Як спеціаліст постійно розвиваюсь — коли самоосвіта, коли бойовий досвід на новому проекті, коли десь щось почув і просто почав цікавитися. Я ж не казав, що розлінився і планую виїжджати до кінця життя на старому багажі;-)

Роботи більш, ніж достатньо. Краще зосередитись на тому, що ти уже знаєш (а знаю я не так уже і мало), ніж намагатися освоїти щось кардинально нове лише тому, що це питають на співбесідах.

Хтось боїться вживати фразу «не знаю» на співбесідах. Я — ні.

Стаття сподобалась. Однозначно плюс, що публікуєте такі питання

Розкажіть про SSH-протокол

Про то, что он существует, или про то как в нем происходят хендшейки, или как написать sshd на php?
Вопросы без вменяемого пояснения какой глубины ответ ожидается — так себе..

Больше вопросов Богу вопросов или 250+ способов за...ть соискателя

46.Як би ви імпортували 50-гігабайтний файл xml в базу даних?

в 2021 это еще актуально? Не говорят уже у том, что года этак с 2015 нормой стало чтобы это был не 1 файл, а набор нескольких.

2.Які процеси відбуваються, коли користувач вводить у браузері URL?

это точно вопрос мидлу?

19.Що таке Opcash? Як він працює?
34.Як у загальних рисах працює OPcache?

зачем 2 одинаковых вопроса?

36.Що таке TDD?

— middle

13.Що таке DDD?

— senior
неужели DDD такая непостижимая вещь для мидла?

51.Як розшифрувати 644 в правах на файл у Linux?

странно что джун должен знать про докер но не знать про права на файлы в линукс

56.Яка різниця між MyISAM i InnoDB? У яких випадках і що краще застосовувати?

странно что джун этого не должен знать

1.Як ви розумієте REST?
33.Структури даних. Які знаєте, які використовували на практиці?

то есть до уровня сеньора этого можно не знать?

34.З якими ще видами API стикалися? Які були проблеми? Як вирішували?

эммм. либо выдрали из контекста либо лишнее «ще»

55.Як побудувати соціальну мережу, яка витримає навантаження у 100 тисяч відвідувачів в онлайні. І зможе пропонувати користувачам, наприклад, з Нью-Йорка, у друзі людей, які живуть у цьому місті. Даних багато, працювати система має швидко. Як усе зберігати? За яким принципом будувати запити?

вы кажется этим вопросом попутали Senior PHP и Senior Full Stack

58.Потрібно побудувати сервер посилання емейлів. Які б класи/шари/абстракції ви виділили?

А вот этот вопрос нужно уточнять, что вы имеете ввиду под сервером отправки почты. Не говоря уже о том, зачем для этого вообще нужен Senior PHP.

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

Чтобы джуну по этому списку быть готовым ему надо изучать и вопросы мидла. Потому что 50% вопросов которые записаны в мидл спрашиваются у джуна.

Но вопрос мидлу про путти заставил неплохо так посмеяться. Хотелось бы узнать кто такое вообще спрашивал на собеседовании и с какой целью.

33.Структури даних. Які знаєте, які використовували на практиці?

WAT? Що за безглузде запитання? Структури даних можуть бути якими завгодно, та вирішувати певну задачу або бути пристосованими до певної задачі.

Так, стуктур може бути багато, але питання про те, які використовували на практиці. Не проблема навести декілька розповсюджених прикладів. Норм питання як на мене.

Структур може бути не багато, а нескінченна кількість варіантів, якщо ми ведемо розмову про опис реального світу. Або вельми обмежена кількість, якщо ми спускаємося на рівень пам’яті. Тому без додаткового контексту запитання викликає подив.

Що таке Opcash?

Это что-то связанное с знаком $ перед переменной?

рискну предположить что хотели спросить про opcache, но очень сильно хотелось денег)

Деякі речі варто освіжити в пам’яті.

Мне понравилось

mysql_connect і mysql_pconnect?

Зачем спрашивать про давно устаревшие функции?

Какое-то странное распределение вопросов. У мидла просят написать АПИ, но при этом только у сеньора спрашивают с какими АПИ он сталкивался. У джуна спрашивают про ссш, но только у мидла про Putty и права на файлы Linux. Ну а вопрос про разницу между InnoDB и MyISAM, про формы нормализации у миддла, а не джуна, серьезно? Хоть бы чуть-чуть промодерировали полученную информацию.

Підписатись на коментарі