Ви сказали, що ви берете співбесіду на посади стажерів у питанні, тому це з цієї точки зору, для розробників, які працюють на повний робочий день, планка буде трохи вище.
Коли ви берете інтерв'ю у стажистів, ви повинні пам’ятати, що вони, можливо, не закінчили навчання і що вони, можливо, вступили до коледжу без попереднього досвіду програмування та інформатики. Таким чином, вам потрібно розширити очікування того, що ви можете з розумом очікувати, що хтось знатиме, і до ступеня престижу своєї посади (тобто Google може відійти від очікувань, про які люди компанії не чули).
Переглядаючи запропоновані вами питання, я, швидше за все, розглядаю їх в інтерв'ю:
1) Напишіть функцію, яка повертає істину, якщо сторони трикутника (усі цілі числа) a, b і c можуть представляти правильний трикутник.
Основне застосування геометрії з простим кодуванням, більшість учнів повинні вміти це робити без особливих труднощів. Найбільше нагадування про теорему Піфагора може знадобитися, якщо вони виявляють трохи стресу через те, що вони опинилися в інтерв'ю. Це майже можна сприймати як проблему "підвищення рівня его", оскільки це може допомогти влаштувати деяких людей, якщо вони дуже нервують, беручись на співбесіду.
2) FizzBuzz
Знову ще одне застосування деяких основних контрольних тверджень. Студентам, які не піддавалися дії оператора модуля або не використовували його багато, можливо, слід нагадати про це, але не повинні стикатися з будь-якими реальними проблемами вирішення проблеми.
3) Обчисліть N-й елемент Фібоначчі за допомогою рекурсії (якби вони не знали, що таке Фібоначчі, я навіть напишу їм визначення F (n) = F (n-1) + F (n-2); F (1 ) = 1; F (0) = 1).
Це, як правило, досить поширена проблема, тому більшість (якщо не всі) студенти побачать її в якийсь момент до закінчення навчання. Проблема полягає в тому, що вона зазвичай виявляється, коли рекурсія подається студентам, оскільки вона добре піддається, або на рекурсивному або на основі циклу рішення, яке потім можна порівняти, щоб студенти з різних шкіл могли бачити це в різний час залежно від послідовності курсів. На практиці, якщо хтось не міг придумати рекурсивний, я б попросив альтернативу за допомогою циклів, і якщо вони не зможуть придумати це, я б більше переймався їх потенційною здатністю.
4) Створити структуру списку для цілочисельної та записаної функції, щоб змінити її.
Це запитання насправді може бути занадто відкритим, оскільки він написаний, тому це також може бути хорошим питанням, щоб побачити, як кандидат шукає додаткову інформацію (наприклад, повинні бути включені функції видалення, перетворення в масиви тощо), але з урахуванням добре визначена постановка проблеми ("Реалізувати основну структуру списку для цілих чисел, яка дозволяє додавати числа до кінця або з довільним індексом, видаляти та включати функцію повернення зворотної копії списку") студенти повинні мати можливість вирішити проблема, якщо списки є загальною структурою, представленою або в ранньому курсі структур даних, або в ранньому базовому курсі інформатики.
Що стосується стосунків з кандидатами, якщо вони борються, переконайтесь, що вони розслаблені, і дозвольте їм трохи поблажливості, оскільки вони можуть просто відчувати тривогу при виконанні, оскільки це може бути їх першим реальним інтерв'ю. Поради щодо вирішення проблеми можуть знадобитися, найбільше у випадку третьої та четвертої проблем на відміну від перших двох.
Крім того, структуруйте загальний процес співбесіди так, щоб вбудовані точки "витонченого виходу". Наприклад, у вас може бути наступний порядок денний:
- Зустрітися та вітати, проводити інтерв'ю.
- Коротке інтерв'ю з програмістами персоналу, основні питання про передумови.
- Презентація вікторини програмування.
- Перерву
- Повернення з перерви, звільнення деяких кандидатів, які не підходять.
- Розширене інтерв'ю з програмістами персоналу.
- Інтерв'ю з людськими ресурсами (якщо потрібно).
- Загорнути.
Цей потік інтерв'ю, як правило, працює добре, якщо ви хочете мати можливість звільнити кандидатів достроково, оскільки вони знають з самого початку, що вони можуть бути звільнені після перерви. Коротке інтерв'ю перед вікториною також означає, що вони не просто з’являються для того, щоб здати тест, який дає їм певну практику співбесіди, а також може дати можливість вирішити, що вони не дуже підходять. Якщо є інші програмісти, які дотримуються вікторини або допомагають кандидату під час її проведення, то це також дає їм можливість пройти / провалити кандидата під час короткої перерви.
У будь-який час, коли ви берете співбесіду на стажування, а кандидати є студентами, ви повинні пам’ятати, що вони все ще студенти і можуть не мати багато практики з співбесідами (що призводить до можливої тривоги при роботі) і, можливо, також не досягли крапки в своїх дослідженнях. навіть бути в змозі відповісти на запитання, що означає, що може бути гарною ідеєю відправити їх у дорогу з копією «ідеального рішення» також для проблем, які їм задаються.