Так что у меня есть несколько программ / сайт в моем портфолио. Они делают деньги, но не очень много.
Поэтому я решил получить некоторый опыт работы, в основном, работая на младших позициях по разработке на Java / PHP.
Проблема в том, что я отвечаю на все технические вопросы правильно, и мы планируем сделать тестовый «тест», заключительный этап интервью. Я никогда не могу расслабиться и обдумать вещи и в конечном итоге сделать тест очень медленно. ИЛИ иногда я просто ударяю по блоку и мне очень трудно думать на ногах.
Я не понимаю этого, потому что другие вещи, которые я написал, решали гораздо более сложные проблемы, в то время как «Тест» на самом деле очень прост, такой как написание и тестирование палиндрома.
В других случаях мне дадут логический тест с потоками на математические операции, и я снова не смогу сделать это в назначенное время.
Я знаю, что могу написать продаваемое программное обеспечение / веб-сайты, которые могут приносить небольшой доход и находить способы решения проблем, но у меня большие трудности с простыми тестами кодирования в интервью.
Какие-либо предложения?
Ответы:
Продолжайте посещать интервью. В конце концов вы найдете место, где будут задаваться вопросы, более отвечающие вашим сильным сторонам. Вы также будете лучше и комфортнее проводить собеседования, которые могут только помочь. Посмотрите на это как на игру, потому что это действительно так. Продолжайте играть, и в итоге вы выиграете.
источник
bool isPalindrome(string)
потому что должен был написать это на бумаге, в срок (15 минут?). С учетом текстового редактора и без ограничения по времени, я считаю, что я мог бы сделать это идеально за минуту.Это очень распространено. Большинство программистов способны эффективно программировать, когда они находятся в своей зоне комфорта. Например, я могу работать только в Ubuntu, с vim, если у меня нет этого рабочего пространства, мне не хочется программировать. Я также требую , в некоторой степени, Google для исследований.
Я уверен, что вы разработали некоторую зону комфорта для программирования. Я бы порекомендовал привыкнуть к среде, где кто-то позади вас ждет завершения своего кода. Лучший способ привыкнуть к этому - продолжать ходить на собеседование.
Вы можете подумать, что это не имеет большого влияния, а может и нет. Но для некоторых из нас программирование с музыкой или без нее, использование IDE или простого текстового редактора, использование деревянного стула или сидение на диване, в темной комнате или светлой комнате ... имеют огромное значение в нашем развитии скорость.
Обратите внимание, что, получив работу, вы обычно можете создать собственную зону комфорта в офисном помещении, которое они вам предоставляют.
РЕДАКТИРОВАТЬ : Этот вопрос напоминает мне к продавцу, спрашивая, как чувствовать себя комфортно и лучше при холодных звонках. Лучший ответ - продолжать делать холодные звонки и размышлять над каждым звонком. Через некоторое время продавцы улучшают свои навыки и комфорт. Я думаю, что программисты ничем не отличаются при посещении интервью, ведь главное - продать себя интервьюеру.
источник
Это только мое предложение, почему бы не попробовать быть предпринимателем. Может быть много людей, которые сталкиваются с подобной проблемой. Если вы можете писать сайты с небольшим доходом, то, безусловно, вы можете заработать на этом большие деньги.
источник
Вы уже определили, в чем заключается ваша проблема - решение проблем под давлением (например, когда кто-то наблюдает за вами). Это потому, что вам не хватает уверенности, или у вас недостаточно опыта, или вы ломаетесь под давлением?
Ходить на множество собеседований, чтобы получить некоторый опыт и практику, может быть хорошей идеей, но также может привести к обратным эффектам. Постоянные неудачи на собеседованиях могут еще больше подорвать вашу уверенность, поэтому будьте осторожны.
Я бы посоветовал вам попробовать одноранговое программирование, чтобы вам было удобно решать проблемы, когда за вами наблюдают. Кроме того, попытайтесь выяснить, что мешает вам действовать под давлением (это стресс от самого тестирования, стресс от работы под пристальным наблюдением, стресс от работы в течение определенного периода времени и т. Д.).
источник
Похоже, вы задыхаетесь под давлением. Поскольку вы должны делать приуроченные примеры как часть процесса собеседования, вам нужно научиться обходить это. Все дело в управлении страхом, а не в навыках программирования.
Одним из вариантов было бы попрактиковаться в написании типовых задач и время самостоятельно. Как только вы узнаете, что можете сделать это менее чем за десять минут, вы можете бояться, что у вас будет меньше времени.
Другой вариант - придумать технику, чтобы успокоить ваш страх, и использовать ее, чтобы избавиться от удушья. Изучение техники медитации может вам помочь. Или выучите наизусть литанию против страха (от Дюны ). Изучите какую-нибудь хитрость, чтобы снять реакцию страха.
источник
Я весьма удивлен, что никто еще не спросил об этом, но как вы подходите к задачам программирования ?
Если вы просто прыгаете в код, то есть вероятность, что вы потеряете себя и в конечном итоге будете делать простые ошибки и волноваться. Делайте это по одному шагу за раз:
На самом деле, когда вы решаете проблемы с кодированием, интервьюер не очень-то ищет отличный код. Это больше, чтобы увидеть, как вы решаете данную проблему. Погружение прямо в код - это плохо, точка.
Вы также обнаружите, что, когда вы говорите о проблеме (сбор требований и дизайн), вы почувствуете себя немного более комфортно и с меньшей вероятностью будете делать глупые ошибки во время части кода.
источник
Проект Эйлера
Мне кажется, что вы провалили тест на fizzbuz . Запомните простые алгоритмы, которые обычно не служат какой-либо практической цели, кроме как определить, понимаете ли вы основные концепции программирования.
Почистить основы
Я бы порекомендовал вам освежить свои основы.
http://projecteuler.net/
Зарегистрируйтесь и начните практиковать, вы увидите, что, пройдя через эти примеры, вы получите более глубокое понимание основных концепций программирования. Я думаю, что вы найдете там вопрос о палиндроме вместе с последовательностями Фибоначчи и другими математическими понятиями (звучит знакомо).
источник
Попросите обратную связь во время или после интервью. Что им понравилось? Что им не понравилось? Вы можете быть удивлены ответами.
Разные люди, конечно, ищут разные вещи, но то, как вы решаете проблему, обычно важнее, чем на 100% правильное решение. Вы можете беспокоиться обо всех неправильных вещах.
Лучший способ стать лучше во всем - это практиковаться. Попробуйте записать список коротких проблем. Затем для каждого элемента в списке напишите небольшую программу, которая решит проблему. Начните с очень простых задач, таких как FizzBuzz , и увеличивайте сложность по мере продвижения . Можете ли вы решить проблемы, которые вы видели в предыдущих интервью? Найти самую большую подстроку, которая имеет две общие строки? Рассчитайте простую факторизацию n !?
Идея состоит не в том, чтобы научиться решать каждую проблему, с которой вы можете столкнуться, а в том, чтобы научиться быстро писать небольшие программы, а также выяснить, где находятся ваши слабые места, чтобы вы могли их улучшить. Многие проблемы легко решить с помощью правильной структуры данных, но в противном случае это сложно, поэтому убедитесь, что у вас есть прочная основа в структурах данных.
источник
Потренируйтесь и найдите кого-то, кто поможет вам пройти через основы того, как пройти через это. Это может занять несколько попыток, но может быть удивительно, что будет обнаружено, если вы сможете получить некоторую обратную связь и попрактиковаться в этом. Я попросил вербовщика рассказать мне, как решить проблему с доской, что похоже на вашу проблему здесь.
Я не предлагаю запоминать ответы так же, как иметь план того, что делать, когда возникает такая проблема, и как ее решить. Как это выглядит? Вы видели похожие проблемы? Что могут дать некоторые простые подходы с точки зрения алгоритма? По крайней мере, это мое предложение для вас.
источник
Разработчики программного обеспечения довольно часто проваливаются, когда их просят пройти тестирование кода или написать небольшой кусочек кода на собеседовании. Как кто-то уже упоминал, это потому, что большинство из нас может писать код только тогда, когда мы находимся в нашей «зоне комфорта» и сидя в маленькой комнате, окруженной 2-5 интервьюерами, на самом деле не добавляет особого комфорта.
Ответ тройной:
практиковаться и практиковаться больше. Попробуйте в течение месяца выполнять 30-40 минут программирования с бумагой и ручкой, и вы удивитесь, насколько легко это станет. Во время практики - попробуйте те задачи программирования, которые вы ожидаете получить на сеансах кодирования интервью - например, внедрите одиночный код, переверните строку и т. Д. С «прочесть этот кусок ненужного кода еще проще» и найдите, что не так. "- попробуйте печатать и анализировать эти распечатки в течение двух недель, и вы значительно улучшите этот навык.
научитесь контролировать свой страх. если вы считаете, что тест слишком сложный и вы можете выполнить только 20%, сделайте это 20%, не беспокойтесь об остальном. Может случиться так, что тест неоправданно велик для времени, отведенного на его проведение (например, ребята на собеседовании должны дать вам 20 минут, чтобы завершить его, но им нужно завершить собеседование за 5 минут из-за какого-то взрыва производства и т. Д.) , Также возможно, что другим кандидатам удалось пройти только 10% тестирование, поэтому, пройдя 20%, вы все равно будете опережать других кандидатов.
При написании кода на собеседовании - не беспокойтесь о том, чтобы сделать его идеальным с первого прохода. просто внедрите «счастливый путь или самый распространенный сценарий в первую очередь», а потом обработайте ошибки. если у вас не хватает времени - просто добавьте заметку внизу листа с описанием - что бы вы сделали, чтобы улучшить код, если бы у вас было больше времени.
[Должен бежать, отредактирую / улучшу мой ответ позже]
источник
Как уже говорили многие люди, я практикую, это одна из самых важных вещей. Если вы уже столкнулись с подобной проблемой, вы сможете быстро найти решение.
Если у вас возникли проблемы с поиском и попыткой решения проблем самостоятельно, воспользуйтесь поиском в Google для программирования вопросов об интервью для вашего языка или выбора.
Также вы можете подобрать книги, которые предназначены для преподавания низкоуровневых курсов CS. Большинство из этих книг заполнены небольшими заданиями по программированию, которые можно быстро выполнить дома. Они могут быть использованы для практики.
источник
Я тоже очень плохо на тестах и всегда был. Я не мог на всю жизнь понять, почему на уроке программирования мне дали тесты с карандашом и бумагой. Я никогда не был хорош в этом. Однако я объяснил интервьюерам, что у меня была эта проблема, и я знал об этом. Мне также удалось взять интервью у компаний, которые не давали мне глупых тестов.
Мое предложение состоит в том, чтобы сообщить компании, прежде чем вы пойдете на собеседование, о том, что вы не будете участвовать в такого рода тестах, однако вместо этого вы рады X. (Придумайте альтернативу, которая имеет смысл, и вы чувствуете себя комфортно.) Для себя я предложил отправить им код, и однажды я предложил, чтобы они дали мне простую программу для написания, и я принесу ее со мной собеседование через 3 дня.
В зависимости от того, где вы ищете, чтобы получить работу, это может или не может работать для вас.
источник