Я продовжую брати участь у частині інтерв'ю, пропозицій? [зачинено]


13

Тож у мене в портфоліо є кілька програмного забезпечення / сайту. Вони заробляють гроші, але не цілу партію.

Тому я вирішив отримати деякий досвід роботи, головним чином застосувавши до посади молодших розробників Java / PHP.

Проблема в тому, що я відповідаю на всі технічні питання правильно і ми плануємо зробити кодування "тест", заключний етап інтерв'ю. Я ніколи не можу розслабитися і думати про речі, і закінчую робити тест дуже повільно. АБО іноді я просто потрапляю в блок і мені дуже важко думати на ногах.

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

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

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

Будь-які пропозиції?


3
Можливий дублікат програмістів.stackexchange.com/
Adam Lear

Мабуть, принаймні ви думаєте, що тести на співбесіду можуть бути простими, але, здається, ви не самотні, у вас виникли проблеми з тестами: infoworld.com/d/application-development/…
Деякий програміст, чувак,

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

7
@deadalnix Я не згоден з вашою незгодою. :-) Я бачив достатньо хороших програмістів флюк-тестів, і погані програмісти здають тести, які, на мою думку, тестування не є корисними та часто контрпродуктивними. ІМО, все, що вони роблять, - зробити так, щоб інтерв'юер / HR почували себе добре.
Брайан Кноблауч

2
@BJoachim та все: якщо ви прочитали минулі перші пункти у цьому посиланні, це насправді хороша порада щодо тестування тестування актуальним та корисним: він не говорить про те, що тести марні.
MarkJ

Відповіді:


18

Продовжуйте відвідувати співбесіди. Зрештою, ви знайдете місце, яке задасть питання, які піддаються вашим сильним сторонам. Вам також стане краще та комфортніше інтерв'ю, що може лише допомогти. Подивіться на це як на гру, адже це дійсно те, що воно є. Продовжуйте грати, і врешті ви переможете.


2
Я не думаю, що це питання заслуги / змісту питань, а лише умов відповідей. Я погано заплутався в написанні, bool isPalindrome(string)бо мав писати це на папері, в обмежений час (15 хвилин?). З огляду на текстовий редактор і без обмеження часу, я вважаю, що я міг би це зробити ідеально за хвилину.
СФ.

9
@SF: ти спробував це після інтерв'ю? Скільки часу у вас пройшло?
кевін клайн

2
Також продовжуйте практикувати роботу над своїми слабкими сторонами. У такому випадку знайдіть невеликі подібні проблеми і приділіть собі час, працюючи над ними на папері. Практикуйте спочатку щось працювати (навіть якщо це неправильно), а потім перейдіть, щоб правильно це зробити. Таким чином ви зможете показати свій процес мислення як частину інтерв'ю. Здається, це найбільший вміння, якого вам бракує (зараз), щоб отримати мінімальний результат зараз, а потім вдосконалити його з часом. Багатьом компаніям подобається це :-)
Al Biglan

Щойно побачив це, пов’язане з Slashdot; дещо пов’язане: infoworld.com/d/application-development/…
Кевін Хсу

Якщо проблема полягає в тому, що ви не можете програмувати на папері, то це, на мою думку, справжня проблема. "isPalindrome" не повинен мати ніяких незрозумілих викликів API чи мовних функцій; ви повинні мати змогу зробити програму, що компілюється, таку, яка не має інтелігенції та переваг IDE.
Еойн Керролл

12

Це дуже часто. Більшість програмістів здатні ефективно програмувати, коли вони знаходяться в зоні свого комфорту. Наприклад, я можу працювати лише над Ubuntu з vim, якщо у мене немає робочої області, я не буду відчувати себе програмуванням. Я також вимагаю , певною мірою, Google для проведення досліджень.

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

Ви можете подумати, що це не має великого впливу, і це не може. Але для когось із нас там програмування з музикою чи без, використання IDE чи простого редактора тексту, використання крісла з дерева або сидячи на дивані, темній кімнаті чи світлій кімнаті… внести величезну зміну в наш розвиток швидкість.

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

РЕДАКТУВАННЯ : Це питання нагадує мене продавцеві, запитуючи, як зручніше та краще в холодному дзвінку. Найкраща відповідь - продовжувати робити холодні дзвінки та розмірковувати над кожним викликом. Через деякий час продавець покращує свою майстерність та комфорт. Я думаю, що програміст нічим не відрізняється, коли відвідує співбесіди, адже головне - продати себе інтерв'юеру


Хто такий Софа? Прекрасна близнючка Софі?
uɐɪ

@ Rick: на жаль, як інтерв'юер я не можу просто сказати комусь слово, що вони є ефективним програмістом. Мені потрібно побачити, що вони насправді можуть програмувати. Ні повідомлений досвід, ні GPA, ні сертифікати, ні зразки коду не можуть мені цього сказати. Мені потрібно бачити, як кандидати виконують якісь програми.
кевін клайн

@kevincline Я погоджуюсь, тому я рекомендую йому продовжувати ходити на інтерв'ю та отримувати задоволення від таких інтерв'юерів, як ти.
Rick Rhodes

6

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


1
+1, і внутрішній дух може сприйматися як дуже позитивна якість.
maple_shaft

5

Ви вже визначили, у чому полягає ваша проблема - вирішення проблем під тиском (наприклад, коли хтось за вами спостерігає). Це тому, що вам не вистачає впевненості або у вас недостатньо досвіду, або ви тріскаєтесь під тиском?

Ходити на багато інтерв'ю для отримання досвіду та практики може бути хорошою ідеєю, але також може призвести до контр-ефектів. Постійні невдачі в інтерв'ю можуть ще більше похитнути вашу впевненість, тому будьте обережні.

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


1
Ви також повинні переглянути деякі з цих тестових питань в Google. Роздрукуйте їх так, як ви отримаєте їх на інтерв'ю та вирішіть їх. Сидіти за столом не за комп’ютером. Вам потрібно спробувати відтворити тиск інтерв'ю.
Білл Лепер

3

Це здається, що ти задихається під тиском. Оскільки вам доведеться робити примірники часу в рамках інтерв'ю, вам доведеться навчитися долати це. Це все про управління страхом, а не про навички програмування.

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

Іншим варіантом було б придумати техніку, щоб заспокоїти свій страх, і використовувати його, щоб зняти себе. Вивчення техніки медитації може вам допомогти. Або запам’ятайте літанію проти страху (від Дюни .) Вивчіть якусь хитрість, щоб зняти свій страх.


3

Я дуже здивований, що цього ще ніхто не запитував, але як ви підходите до завдань програмування ?

Якщо ви просто перестрибуєте в код, то, швидше за все, ви втратите себе і в кінці кінців будете робити прості помилки і змусити себе. Зробіть це покроково:

  1. Зберіть вимоги : що саме запитує ваш інтерв'ю? Перед кодуванням переконайтеся, що в повітрі виникають нульові запитання. Наприклад, якщо ви стикаєтеся з віковим запитанням "isPalindrome", запитайте такі речі, як "що робити, якщо в рядку є спеціальні символи?" чи "рядки непарної довжини, такі як" ada ", вважаються паліндрами?". Ви потрібно знати , як уточнити вимоги до розробки алгоритму.
  2. Створіть свій алгоритм : розбийте його на логічні розділи, якщо це має сенс. Поговоріть про це. Можливо, напишіть якийсь псевдокод, якщо ви білі дошки. Пройдіться інтерв'юером по кроках. Спробуйте пропустити його за допомогою декількох різних входів (як дійсних, так і недійсних), щоб гарантувати отримання бажаних результатів.
  3. Тепер почніть кодування : до цього моменту ви повинні бути дуже впевнені в тому, що збираєтесь писати. По суті, ви повинні просто переглядати пропозиції будь-якою мовою, якою ви знайомі. На даний момент, це не має значення, чи є синтаксичні помилки, оскільки інтерв'юери, які коштують копійки, пробачать тих, хто проходить на сесії білої дошки (якщо вам дано ПК / IDE для вирішення проблеми, це вже інша історія).

Дійсно, коли вирішуються проблеми кодування, інтерв'юер не так шукає великого коду. Це більше, щоб побачити, як ви вирішуєте вирішення даної проблеми. Дайвінг прямо в код - це погана річ, період.

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


3

Проект Ейлер

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

Навчайте своїх основ

Що я б порекомендував, - це ви бачите свої основи.

http://projecteuler.net/

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


2

Попросіть відгуку на інтерв'ю або після нього. Що їм сподобалось? Що їм не сподобалось? Ви можете бути здивовані відповідями.

Звичайно, різні люди шукають різні речі, але те, як ви намагаєтеся вирішити проблему, як правило, важливіше, ніж писати 100% правильне рішення. Ви можете турбуватися про всі неправильні речі.

Найкращий спосіб поправитись у будь-чому - це практикувати. Спробуйте записати список коротких проблем. Потім для кожного елемента зі списку напишіть невелику програму, яка вирішить проблему. Почніть з дуже легких проблем, як, наприклад, FizzBuzz , і посиліть труднощі, як ви йдете. Чи можете ви вирішити проблеми, які ви бачили в попередніх інтерв'ю? Знайдіть найбільшу підрядку, яка має два рядки? Обчисліть основну факторизацію n!

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


2

Попрактикуйтесь і знайдіть когось, який допоможе вам провести основи того, як пройти це. Це може зайняти кілька спроб, але це може дивуватися, що виявляється, якщо ви зможете отримати зворотний зв'язок і практикуватися з цього приводу. У мене був рекрутер, який провів мене, як вирішити проблему на дошці, яка, схоже, на вашу проблему тут.

Я не пропоную запам'ятовувати відповіді настільки, як це має креслення, що робити, коли дається така проблема і як про неї говорити. Як це виглядає? Ви бачили подібні проблеми? Що може дати кілька простих підходів з точки зору алгоритму? Принаймні, це моя пропозиція до вас.


2

Досить часто розробники програмного забезпечення кидаються, коли його просять пройти тест кодування або написати невеликий шматочок коду на інтерв'ю. Як хтось уже згадував, це тому, що більшість з нас може кодувати лише тоді, коли ми перебуваємо в нашій «зоні комфорту» і сидимо в невеликій кімнаті в оточенні 2-5 інтерв'юерів не дуже багато комфорту.

Відповідь триразова:

  • практикуйте і практикуйте більше. спробуйте протягом місяця зробити 30-40 хвилин програмування папером і ручкою, і ви здивуєтеся, як це легко стане. Практикуючи - спробуйте виконувати завдання програмування, про що вам слід попросити на сеансах кодування інтерв'ю - наприклад, реалізуйте сингл, переверніть рядок і т. Д. Це ще простіше: "прочитайте цей шматок небажаного коду і знайдіть що не так "- спробуйте надрукувати та проаналізувати ці роздруківки протягом двох тижнів, і ви значно вдосконалите цю майстерність.

  • навчитися контролювати свій страх. якщо ви вважаєте, що тест занадто важкий і ви зможете скласти лише 20% - зробіть це 20%, не турбуйтеся про інше. Можливо, тест є невиправдано великим за час, який йому потрібно зробити (наприклад, хлопці на співбесіді повинні дати вам 20 хвилин, щоб закінчити його, але їм потрібно завершити співбесіду за 5 хвилин через деякий вибух виробництва тощо) . Можливо також, що інші кандидати встигли скласти лише 10% тестування, тому, склавши 20%, ви все одно випередите інших кандидатів.

  • Коли ви пишете код на інтерв'ю - не турбуйтеся, щоб зробити його ідеальним з першого проходу. просто реалізуйте "щасливий шлях, який є найчастішим сценарієм спочатку", і пізніше потурбуйтеся про помилки. якщо у вас не вистачає часу - просто додайте коротку примітку внизу аркуша аркуша - що б ви зробили для поліпшення коду, якби у вас було більше часу.

[Треба запустити, відредагуйте / покращуйте мою відповідь пізніше]


1

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

Якщо у вас важко виникати проблеми, щоб спробувати вирішити самостійно, використовуйте пошук Google для програмування питань інтерв'ю на вашу мову чи вибір.

Також ви можете забрати книги, призначені для викладання курсів CS нижчого рівня. Більшість цих книг заповнені невеликими завданнями з програмування, які можна швидко виконати вдома. Їх можна використовувати для практики.


0

Я теж дуже поганий на тестах і завжди був. Я не міг за все життя зрозуміти, чому на уроці програмування мені здавали тести, щоб взяти з олівцем і папером. Мені ніколи в цьому не було добре. Однак те, що я робив, було пояснити інтерв'юерам, що у мене була ця проблема і про неї знали. Мені також вдалося взяти інтерв’ю для компаній, які не давали мені дурних тестів.

Моя пропозиція - сказати компанії, перш ніж піти на співбесіду, що ви не робите з такими тестами, однак ви натомість раді. (Знайдіть альтернативу, яка має сенс, і вам комфортно робити це.) Для себе я запропонував надіслати їм код, і одного разу я запропонував, щоб вони дали мені просту програму для написання, і я принесу її зі мною інтерв'ю через 3 дні.

Залежно від того, де ви шукаєте, щоб отримати роботу, це може або не працюватиме для вас.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.