Ответ 1
Вот хороший список: О чем должны знать Великие разработчики .NET.
Очень открытый вопрос. Я программировал на С# для за последние 5 месяцев выполнял небольшие проекты, которые я завершил успешно.
Сегодня я пошел в интервью для роли С#. Первый вопрос
"Расскажи мне о боксе". Учитывая мой опыт, у меня не было
Идея, что имел в виду парень. Излишне говорить интервью
не так хорошо. Другие вопросы были "почему бы и нет"
рекомендуется использовать ArrayList
of int
',' скажите мне, что вы
знать о потоке "и т.д.
Я действительно не хочу, чтобы это повторилось, поэтому я планирую потратьте некоторое время на чтение (и практикуете) больше на С#. я понять, что лучший способ обучения - это кодирование, но кодирование не помогло бы мне ответить на вопрос например, о "боксе".
Я не прошу вас ответить на вышеуказанные технические вопросы. Фактически, я знаю теперь их ответ, когда я пошел прямо Google после интервью, и я понял, что мой Знание С# несколько ограничено.
Мой вопрос: на ваш взгляд, какие знания должны быть У разработчика С# есть? В идеале было бы лучше, если бы вы могли классифицировать его (базовые знания, которые любой человек должен иметь без исключение, передовые знания, экспертные знания и т.д.). Не нужно чтобы вдаваться в подробности. Изучение того, что вы перечислите, будет быть хорошим упражнением для меня.
Вот хороший список: О чем должны знать Великие разработчики .NET.
Я бы ожидал, что кто-то будет заниматься профессиональной работой С#, чтобы узнать о:
Мой личный опыт с давних времен, когда я учился в школе.
Я пошел, чтобы увидеть, как мой отец работает в банке. В то время большая часть его дня занималась учетными записями и следила за тем, чтобы все работало. Я видел, что он пытался подсчитать/вычислить большие числа и вычислить (базовые дополнения/умножения...).
После того, как он заметил его, я спросил его: Папа, если все, что вам нужно сделать, это основные дополнения и умножения, почему нужно учиться до окончания?
Его ответ был: хотя вам не нужно использовать все знания, которые вы приобрели, это знание поможет вам принимать обоснованные решения.
Приступая к вашему вопросу: пока вам не нужно использовать весь набор понятий, зная, что они существуют, помогут вам принять правильные решения, пока вы код.
Мое предложение вместе с остальными сообщениями состояло в том, чтобы попытаться потратить некоторое время на stackoverflow каждый день.
Удачи.
Хороший собеседник не собирается заманить вас в пустяки. Вот почему у нас есть Google. Хороший собеседник собирается найти те районы, которые вы не знаете, и задавать вам вопросы там, так как это лучшее место, чтобы узнать, как вы реагируете, когда сталкиваетесь с чем-то, чего у вас нет.
Лучший совет, который я могу дать для интервью, - не слишком беспокоиться о технических мелочах. Вместо этого, в интервью, сосредоточьтесь на навыках решения проблем. Если вы ничего не знаете, не пытайтесь скрыть это, просто признайте это. Если вы думаете, что знаете, все в порядке, чтобы сказать: "Я не уверен, но я думаю, что это так". И не смущайтесь - в этот момент, как правило, интервьюер даст вам подсказку. Это не просто дает вам ответ, это еще одна часть теста - чтобы убедиться, что, учитывая толчок в правильном направлении, вы можете экстраполировать оттуда.
Для вопросов бокса /ArrayList/int, если бы я брал интервью, и вы не понимали бокса, я бы дал вам общее описание того, что сделал бокс. Тогда я бы спросил вас, зная, что я вам только сказал, почему вы думаете, что использование ints в ArrayList может быть плохой идеей.
Одна вещь, которая зайдет далеко в любом интервью, сосредоточена на требованиях, желаемом результате и граничных условиях или краевых случаях. Поскольку большинство вопросов, связанных с интервью, попадают в категорию "напишите этот метод", убедитесь, что вы получили следующее правильное:
1) Входы к методу 2) ожидаемый выход метода 3) Граничные и краевые случаи.
Это звучит смешно, но удивительно, как многие разработчики, даже те, кто имеет опыт, не думают об этом. Код решает проблему - если вы не понимаете проблему правильно, вы не можете решить ее правильно.
Вы можете найти много в этой теме:
Хорошие вопросы интервью с С# для должности старшего разработчика
Этот вопрос/тема облегчает вашу работу.
Я должен был бы сказать, что если собеседника можно одурачить, если у кого-то есть больше возможностей .NET/С#, он или она посещает веб-страницу, тогда интервьюер не работает. Я сам взял интервью у нескольких людей, и мне очень нравится подход, который дает им понять, какую проблему решить, и попросить их написать код на белой доске. Даже если они запомнили ответы на каждый вопрос в блоге Скотта Хансельмана, я бы много узнал о том, насколько они удобны на этом языке, а также о том, как они решат проблемы. Я ищу разработчика, а не партнера для Trivial Pursuit,.NET Developer Edition.
Тем не менее, поддерживать блоги, такие как Hanselman, - это фантастический способ не отставать от жаргона. Вы можете кодировать С# в вакууме в течение многих лет, полностью понять преимущество строго типизированного List <int> над ArrayList, но на самом деле не используют термин "бокс". Но гораздо больше времени в интервью, чтобы спросить: "Опишите преимущество повторения с помощью List <int> вместо ArrayList of int", чем нужно спросить: "Расскажите мне о боксе". Плюс, фактически исследуя ответы на вопросы интервью Hanselman.NET(особенно, если вы изучите детали и спросите "Почему?" ), Вы сделаете вас лучшим разработчиком. Так что, непременно, продолжая читать Гензельмана.
И еще одно примечание... Если я спрошу кого-нибудь, является ли String ссылочным типом или типом значения, и они просто говорят: "Хммм... Тип ссылки", я не буду так же счастлив, как Я бы ответил: "Хммм... Тип ссылки, но это интересный вопрос". "Почему это?", Я говорю... "Поскольку строка реализована так, что строка неизменна, позволяя вам делать что-то с ней, как безопасно использовать ее как хэш-ключ. Или передать ее методу, зная значение не может быть изменено. Таким образом, строки могут действовать так же, как типы значений..." И это будет отличный разговор, который заставит меня спросить: "Так расскажите мне больше о том, почему ключи хэша должны быть неизменными..."
Это не просто разница между правильным ответом на вопрос 50/50 и всей дополнительной информацией во втором ответе. Интеллектуальная беседа с собеседником приводит меня к мысли, что я буду проводить такие разговорные разговоры на регулярной основе, как только собеседник станет моим коллегой. И это то, что я точно ищу.
Прочтите Руководство по программированию на С# и С# Reference в MSDN.
Также зависит от роли. Если это было объявлено как роль jnr, то вопрос о потоке немного жесткий... иногда агентства/работодатели имеют нереалистичные ожидания.
Аналогичная вещь произошла с моим значительным другом, проводящим тест вождения. Государственный солдат сказал: "Сделайте круговую развязку", и она не знала, о чем он говорит. Мы оба считаем, что круговое движение - это тип дорожной разметки с большим кругом, а не разворот, как это имел в виду инструктор. Поэтому я знаю, что вы имеете в виду.
Интервью с заданиями на программирование сильно различаются. Некоторые люди думают, что вы не можете действительно судить программиста в интервью и готовы дать каждому, у кого есть хорошее впечатление, шанс. Другие - изнурительные вещи, которые пройдут только те, кто переоценил позицию, и вы, вероятно, будете удивлены, как часто вы получаете звонок от них.
Это то, о чем я много размышлял в последнее время. Использование С# много, но не уверен, что мне не хватает.
Я заказал
Фонд разработки приложений Microsoft®.NET Framework
Что покрывает много земли, связанной с С#
Также смотрите С# в глубине
Прочитайте это уже. Имеет отличную информацию от автора высокого качества.
В глубине продается также через Jon Skeet blog
Пять месяцев без знания бокса? Мой дорогой, дорогой, мальчик. Я бы смутился быть на вашем месте. Почему, я помню те дни, когда я, как и ты сейчас, тоже не обладал некоторыми базовыми знаниями об инструментах моего ремесла. Но, не отчаивайтесь, парень! У вас есть время и желание учиться. Давайте немедленно дадим вам некоторые знания, которые вы можете использовать для своей будущей выгоды! Ура!
Прочитайте CLR Via С# для обложки. Возьмите книгу Linq (не могу рекомендовать никого с головы). Напишите приложение с помощью WPF (для xaml). Эти три вещи, которые, я думаю, дадут вам самый большой удар для вашего доллара прямо сейчас.