Вопросы по языку С# и платформе .NET
Вопросы по языку С# и платформе .NETПоследнее обновление: 10.11.2021
Глава 1. Основы C#
Переменные
Базовые типы данных
Операции
Преобразование типов
Циклы
Массивы
Параметры
Массивы параметров и params
Область видимости переменных
Перечисления
Глава 2. Объектно-ориентированное программирование
Классы и объекты
Структуры
Модификаторы доступа
Свойства
Перегрузка методов
Статические члены класса
Константы и поля для чтения
Перегрузка операторов
Наследование
Преобразование типов
Перегрузка операций преобразования типов
Виртуальные методы и свойства
Абстрактные классы и члены классов
Обобщения
Интерфейсы
Делегаты
Ковариантность и контрвариантность делегатов
Пространства имен
Анонимные типы
Глава 3. Асинхронность
Асинхронные методы, async, await
- Глава 1. Основы C#
- Переменные
- Базовые типы данных
- Операции
- Преобразование базовых типов
- Циклы
- Массивы
- Параметры
- Массивы параметров и params
- Область видимости переменных
- Перечисления
- Глава 2. Объектно-ориентированное программирование
- Классы и объекты
- Структуры
- Модификаторы доступа
- Свойства
- Перегрузка методов
- Статические члены класса
- Константы и поля для чтения
- Перегрузка операторов
- Наследование
- Преобразование типов
- Перегрузка операций преобразования типов
- Виртуальные методы и свойства
- Абстрактные классы и члены классов
- Обобщения
- Интерфейсы
- Делегаты
- Ковариантность и контрвариантность делегатов
- Пространства имен
- Анонимные типы
- Глава 3. Асинхронность
- Асинхронные методы, async, await
YooMoney:
410011174743222
Перевод на карту
Номер карты:
4048415020898850
Номер карты:
4890494751804113
Как проходит собеседование начинающего разработчика на С++
Разработчик в Яндексе, студент Школы анализа данных и код-ревьюер курса по С++ в Яндекс.Практикуме Турмец Макоев рассказал, что должен знать начинающий разработчик С++, чтобы получить должность, и составил список терминов, которые стоит повторить перед собеседованием.
Оценка soft skills
Первая часть собеседования — это знакомство и разговор о вашем образовании и прошлом опыте. Советую перед собеседованием пробежаться по своему резюме, повторить основные проекты и пройденные курсы, чтобы на самом собеседовании не пришлось судорожно вспоминать их.
Образование. Расскажите о том, где учитесь или учились. Если вы прошли дополнительные курсы в Практикуме, на Coursera или еще где-то, обязательно упомяните их. Также не стоит забывать о дополнительном офлайн-образовании. Если у вас в копилке есть какой-нибудь пройденный интенсив или достижения на олимпиадах по программированию, обязательно поделитесь этим.
Предыдущий опыт. Рассказывая о своем опыте, не стоит скромничать, но и не нужно преувеличивать свои достижения. Некоторые люди не хотят показаться наглыми или невоспитанными и стесняются говорить «я написал», «я внедрил», «я спроектировал», но это ошибка. На собеседовании вам нужно на примерах показать, чем вы занимались и какую пользу это принесло.
Говорить нужно только правду, ведь интервьюер может углубиться в тему и задать пару вопросов о проекте. Вы должны быть способны ответить на уточняющие вопросы.
Если у вас мало опыта в коммерческой разработке, расскажите про учебные проекты, которые вы выполняли, pet-проекты, упомяните участие в хакатонах и конкурсах, профильных конференциях.
Помните, что важно рассказывать про опыт, который будет полезен для вакансии. Например, стоит рассказать о владении разговорным английским, но не стоит говорить, что вы ходили на курсы по дайвингу. Не связанные с вакансией вещи вы потом расскажете своим будущим коллегам на кофе-брейке.
В этом блоке важно показать, что вы готовы брать ответственность, умеете работать в команде и можете проявить инициативу.
Заранее продумайте, как вы ответите на такие вопросы:
1. Случались ли у вас провалы? Расскажите о самом большом из них.
Ответ на этот вопрос покажет, как вы умеете рефлексировать над ошибками, какие выводы делаете после неудач.
2. Какими проектами вы гордитесь?
Выберите один-два проекта и в деталях расскажите, как вы участвовали в них: в чем была сложность, как вы подошли к решению, какие проблемы возникали в работе, как вы их решали, какие получились результаты.
3. Какая была самая сложная ситуация, которую вам удалось разрешить?
Ответ на этот вопрос покажет, готовы ли вы брать инициативу, насколько вы самостоятельны, умеете ли работать в стрессовой ситуации, не теряетесь ли в сложных условиях.
Оценка hard skills
В разных компаниях собеседования проводятся немного иначе, но чаще всего после знакомства вы перейдете к технической части. Она бывает разная, обычно это решение какой-то задачки и общение на тему алгоритмов и структур данных.
Еще могут быть вопросы, которые касаются специфики вакансии, например, если вы собеседуетесь на разработчика Qt, то вас спросят, что вы о нем знаете. Если предполагается работа над игровым движком, стоит ожидать вопросов по математике.
Задачи. Интервьюер предложит вам задачку легкого или среднего уровня, по типу такой. Скорее всего, вас попросят решить ее на бумаге или доске, но бывает, что можно решить и на компьютере в каком-нибудь простом текстовом редакторе.
Выслушав условие, не спешите писать код, уточните, верно ли вы поняли задачу, разберите ее на нескольких примерах с собеседующим, подумайте, какие подводные камни возможны, и по необходимости уточните условие. И только если вы уверены, что правильно понимаете задачу, приступайте. Хорошая практика — задавать вопросы по задаче, это показывает интервьюеру, как вы думаете над проблемой, насколько вы способны видеть ее узкие места.
Итак, вы точно поняли задачу, пора решать. В процессе решения рассуждайте вслух: так же как и с вопросами, в этот момент интервьюер делает выводы о вашем подходе к задаче.
Я стараюсь идти по следующему пути при решении задачи:
1. Предложить самое простое решение.
2. Попытаться улучшить узкие места. Если чувствуете, что, скорее всего, сможете решить лучше, так и скажите: «Вот идея навскидку, но будет лучше». То есть идите от простого к сложному.
Давайте предположим, что вам досталась задачка сложного уровня и у вас нет идей. В этом случае снова задавайте вопросы, можете попросить подсказку. Помните, что просить помощи не значит провалить собеседование. Задавать вопросы — это нормально.
Вы придумали решение, что дальше? Нужно его проанализировать и написать. Проанализировать — это значит посчитать асимптотику по времени и памяти. То есть вы должны уметь спрогнозировать, насколько итоговая программа будет быстро работать и сколько памяти ей нужно. Хорошее решение предполагает оптимальное использование времени и памяти.
«Написать» означает, что вы должны реализовать ваше решение без багов, с корректным синтаксисом и адекватным кодстайлом. То есть программа должна компилироваться, правильно работать на всех возможных входах, код должен быть читабельным.
Если вы использовали какие-то алгоритмы из stl (стандартная библиотека шаблонов), вас тоже, скорее всего, попросят оценить, как быстро программа будет работать и сколько ей нужно памяти. Вы должны понимать, как работают функции, которые вызываете, даже если их написали не вы. Иначе вы не сможете подсчитать результирующую асимптотику вашего кода.
Для подготовки к этому этапу я рекомендую прорешать как можно больше задач на сайте leetcode.com — это сайт, на котором собраны сотни задач, похожих на те, что дают на собеседованиях. Вы решаете задачу, сайт автоматически проверяет решение и показывает скорость, с которой это решение выполняется. Кроме этого, на сайте можно обсудить решение с другими разработчиками.
Алгоритмы. Я составил список популярных алгоритмов, которые с большой вероятностью понадобятся на собеседовании. Вас могут спросить непосредственно о них, они могут использоваться в задаче.
1. Бинарный поиск
2. Сортировки
3. Два указателя
4. Сканирующая линия
5. Обход в глубину
6. Обход в ширину
Еще упомяну два важных понятия. Полноценными алгоритмами их не назовешь, но знать их необходимо:
1. Префикс-/постфикс-сумма, также известная как предподсчет
2. Рекурсия
Структуры данных. Теперь посмотрим на список по структурам данных, которые необходимо знать:
1. Вектор
2. Связный список
3. Дек
4. Стек
5. Очередь
6. Куча
7. Деревья поиска, в частности бинарные
8. Хеш-таблица
Вас могут попросить рассказать, как эти вещи устроены, для каких задач используются и за сколько асимптотически выполняются основные операции, если речь о структурах данных.
Чтобы подготовиться к вопросам об алгоритмах и структурах данных, я рекомендую посмотреть курс Максима Бабенко «Алгоритмы и структуры данных поиска» в Школе анализа данных.
Вопросы про С++. На этом возможные технические вопросы не заканчиваются. Перейдем к тому, что от вас потенциально ожидают с точки зрения языка программирования, в нашем случае — C++.
Конечно, вы должны быть знакомы с синтаксисом. Не обязательно знать все возможные интересные слова, типа explicit, external и volatile, но то, как объявить класс, наследоваться от него и задать оператор меньше, вы знать должны.
Есть базовые знания, которые должны иметь все разработчики, независимо от языка программирования: что такое ООП, базовая работа с Git, базы данных. На этих пунктах я не буду останавливаться. Я сформулировал список обязательных знаний для разработчика С++. Рекомендую изучить его:
1. Шаблоны
2. Наследование и полиморфизм, виртуальные методы
3. Правило пяти
4. Процесс компиляции и линковки
5. Инвалидация итераторов
6. Модель памяти в C++
7. Move-семантика
8. Умные указатели
9. Идиома RAII
10. Перегрузка операторов
Вам нужно уметь объяснить, как эти вещи устроены и для каких задач используются. Чтобы подготовиться к вопросам по С++, рекомендую пройти курс «Разработчик C++».
После собеседования
Если вы прошли собеседование и получили должность, поздравляю! Если не получили, не стоит сдаваться, такое случается. Попросите у HR-специалиста обратную связь. Спросите, что вам стоит подтянуть в будущем, чего не хватило для этой должности, и пробуйте снова. Умение проходить собеседования — это тоже навык, которому нужно учиться.
Полезные ссылки для подготовки к собеседованию
1. leetcode.com — сайт, где вы можете решать задачи, похожие на те, что задают на собеседованиях.
2. «Информатикс» — ресурс, где можно найти много полезной информации об алгоритмах и структурах данных.
3. Статья «Как проходят алгоритмические секции на собеседованиях в Яндекс».
4. Курс лекций Максима Бабенко «Алгоритмы и структуры данных поиска».
Станьте разработчиком на C++
вопросов для интервью | Prospects.ac.uk
Хотя вы никогда не знаете точно, о чем вас спросят, вы можете подготовиться, спланировав ответы на некоторые из наиболее распространенных вопросов собеседования
Работодатели должны понимать, почему вы хотите получить эту работу, почему вы re лучший человек для этой роли, и насколько хорошо ваша личность будет вписываться в организацию. То, как вы ответите на вопросы интервью, будет ключевым фактором в их решении.
То, что вы говорите, безусловно, самое важное, но то, как вы отвечаете, также играет роль. Уверенность и энтузиазм особенно важны. Заранее подготовившись к некоторым вопросам, с которыми вы ожидаете столкнуться, вы сможете добиться наилучших результатов в течение дня. Вот некоторые из вопросов на собеседовании, с которыми вы, скорее всего, столкнетесь…
Расскажите немного о себе?
Этот вопрос, обычно начальный, возглавляет список типичных вопросов на собеседовании. Это невероятно важно, так как вы можете произвести на интервьюера отличное первое впечатление. Подготовка важна, но ваш ответ не должен звучать отрепетированным. Сосредоточьтесь на своих навыках, характеристиках и успехах, а также на том, как они делают вас сильным кандидатом с точки зрения должностной инструкции.
Ответьте не более чем на пять минут. Как правило, начните с обзора своей высшей квалификации и величайших достижений, прежде чем рассказывать о своем опыте работы и приводить примеры навыков, которые вы развили. Если ваш опыт работы ограничен, сосредоточьтесь на тех областях науки, которые вам больше всего нравились, и на том, как это связано с работой.
Почему вы хотите работать здесь?
Продемонстрируйте, что вы изучили эту роль, обсудив навыки и интересы, которые привели вас к подаче заявки. Используйте то, что вам нравится — используйте примеры из своей академической, профессиональной или внеучебной жизни, которые говорят о том, что вы сильно мотивированы и можете быть тесно связаны с организацией. Поговорите о конкретных аспектах объявления о вакансии, которые вас привлекли.
Аналогичные вопросы включают:
- Что вы знаете о компании?
- Что побудило вас подать заявку на эту работу?
Каковы ваши сильные стороны?
Выберите три или четыре качества, желаемых работодателем в характеристике человека, таких как командная работа, лидерство, инициативность и нестандартное мышление. Какие бы сильные стороны вы ни выбрали, вы должны быть в состоянии подтвердить их примерами.
Аналогичные вопросы включают:
- Как бы друг описал вас?
- Как бы вы описали свой характер?
- Какие три положительные вещи сказал бы о вас ваш последний босс?
Каковы ваши слабости?
Вы можете положительно сформулировать свой ответ, выбрав характеристики, которые вы предприняли для улучшения. Например, проблемы с уверенностью в себе могли ранее приводить к трудностям с принятием критики, но скажите интервьюеру, что вы научились принимать конструктивную обратную связь, поскольку она позволяет самосовершенствоваться. В качестве альтернативы обсудите, как вы преодолели потенциальную обратную сторону своей самой сильной стороны. Например, вам, возможно, пришлось научиться справляться с конфликтами, если вы отлично работаете в команде.
Никогда не говорите, что у вас нет слабостей, что вы перфекционист или что вы слишком много работаете. Это шаблонные ответы, которые изображают вас высокомерным, нечестным или лишенным самосознания.
Аналогичные вопросы включают:
- Как вы реагируете на критику?
- Как бы ваш злейший враг описал вас?
Как вы расставляете приоритеты в своей работе?
Работодатель хочет знать, организованы ли вы, укладываетесь ли вы в сроки и способны ли вести несколько проектов одновременно. Лучший способ ответить на этот вопрос — привести примеры случаев, когда вы совмещали несколько разных задач и при этом выполняли их качественно и в срок. Эти примеры могут быть взяты из предыдущей работы, учебы в университете или вашей внеклассной деятельности. Подробно расскажите о том, какие методы вы используете для отслеживания своего прогресса и продуктивности.
Как бы вы улучшили наш продукт/услугу?
Ваши знания и понимание того, чем занимается компания, окажутся бесценными. Не относитесь слишком критично к продукту или услуге — вы ведь хотите там работать — но в то же время не говорите, что ничего не будете менять. Интервьюер хочет услышать некоторые идеи.
Попробуйте придумать одну или две вещи, которые, по вашему мнению, можно было бы улучшить. Суть в том, чтобы предложить объяснение того, как и почему вы вносите эти изменения. Убедитесь, что вы сосредоточены на соответствующих областях, за которые вы будете нести ответственность, если получите работу.
Можете ли вы привести пример, когда вам приходилось справляться с трудной ситуацией?
Этот вопрос является одним из самых популярных вопросов на собеседованиях, основанных на компетенциях. Это позволяет работодателю оценить, насколько вы спокойны и надежны в условиях давления. Опишите случай, когда вы справились с неожиданной проблемой, обсуждая, как вы реорганизовали и управляли своим временем. Вспомните случаи, когда вам приходилось укладываться в сжатые сроки или иметь дело с трудными людьми.
Аналогичные вопросы включают:
- Приведите пример ситуации, когда вам приходилось справляться с давлением.
- Приведите пример, когда вы справились с серьезным кризисом.
- Как вы распределяете свое время и расставляете задачи по приоритетам?
- Как вы реагируете на стресс и давление?
Реклама
Какое ваше самое большое достижение?
В идеале ваш ответ должен свидетельствовать о навыках, имеющих отношение к работе, таких как работа в команде, инициативность, коммуникабельность, целеустремленность и организованность. Для вдохновения вспомните случай, когда вы получили награду, организовали мероприятие, узнали что-то новое или преодолели сильный страх. Всегда готовьте несколько примеров.
Избегайте получения диплома об окончании университета — это не отличит вас, если только вы не столкнулись с серьезными трудностями, такими как болезнь или личные проблемы.
Аналогичный вопрос, который вам могут задать: «Чем вы больше всего гордитесь в своей трудовой жизни?»
Каковы ваши цели?
Это ваш шанс показать рекрутеру, что вы амбициозны и профессионально настроены. С энтузиазмом говорите о своих реалистичных краткосрочных и долгосрочных целях, основывая свои ответы на работодателе, отрасли, ваших навыках и опыте.
Опишите различные шаги к вашей идеальной работе, но только в отношении должности, на которую вы претендуете, и предложения компании по развитию карьеры. Крайне важно, чтобы вы объяснили, как ваши цели делают вас ценным для организации. Вы можете упомянуть свое знание соответствующих профессиональных организаций и квалификаций или указать, что вы изучали карьерные пути, которыми следуют другие выпускники.
Аналогичный вопрос: «Что вы планируете делать через пять лет?»
Каковы ваши ожидания по зарплате?
На этот вопрос может быть неудобно отвечать, так как вы не хотите недооценивать себя или давать настолько высокую цифру, чтобы исключить себя из работы. Если вы решите предложить диапазон, не делайте его слишком широким, иначе будет казаться, что вы избегаете вопроса. Вместо этого сузьте круг и упомяните, что вы готовы проявить гибкость и вести переговоры.
Чтобы подготовиться, проверьте, указана ли в описании вакансии оклад или диапазон окладов, и примите это за отправную точку. Затем изучите похожие роли, чтобы узнать, какая средняя зарплата в отрасли или секторе, в котором вы хотите работать. Профили вакансий дадут вам несколько примеров.
Если вы уже работаете, возможно, вас спросили о вашей текущей зарплате, когда вы подавали заявление о приеме на работу. Поскольку постепенный прогресс является наиболее распространенным явлением, работодатель может быть удивлен, если ваши ожидания будут либо ниже, либо значительно выше, чем ваша текущая зарплата.
Есть вопросы?
Прибытие без вопросов произведёт плохое впечатление. Все, о чем вы спрашиваете, должно касаться самой работы или развития карьеры. Подготовьте вопросы заранее и не забудьте задать вопросы, если момент естественно возникнет во время фактического интервью. Чтобы узнать о некоторых идеях, см. 7 хороших вопросов, которые можно задать на собеседовании.
Если вам нужна дополнительная помощь, университетские службы карьеры и трудоустройства предоставят вам практические собеседования. К ним стоит обратиться, если вы студент или недавний выпускник.
Узнайте больше
- Узнайте, как подготовиться к собеседованию.
- Прочитайте все о 5 главных ошибках на собеседовании.
- Узнайте, какие вопросы на собеседовании вы можете ожидать.
Автор Рэйчел Суэйн, главный редактор
Перспективы · май 2021 г.
Также в этом разделе…
Как бы вы оценили эту страницу?
По шкале, где 1 — не нравится, 5 — нравится
Что-то пошло не так. Пожалуйста, попробуйте еще раз.
- неприязнь1
несчастный-Every
- 2
НЕДВИЖИМАЯ
- 3
Нейтральный
- 4
- Подобно 5
Happy-Over
Не заполняйте это в
. страницаОткрытые и основанные на поведении вопросы для интервью: Примеры
Изучите пять ключевых шагов, которые помогут вашему стартапу внедрить ESG.
При собеседовании с кандидатами на должность избегайте, насколько это возможно, фактических, закрытых вопросов, требующих ответа «да» или «нет». Вместо этого попытайтесь заставить кандидата говорить, используя открытые и основанные на поведении вопросы.
Открытые вопросы требуют от кандидата предоставить более подробную информацию и продемонстрировать свои коммуникативные навыки (например, «Расскажите мне о времени…»).
Вопросы, основанные на поведении, требуют, чтобы соискатель предположил, что он будет делать, если ему представится реалистичный сценарий рабочего места. Этот тип структуры демонстрирует их навыки суждения и принятия решений.
В приведенном ниже списке представлены некоторые примеры открытых и основанных на поведении вопросов для интервью.
- Расскажите о себе.
- Как бы вы себя описали?
- Как бы ваш начальник/коллеги и/или подчиненные описали вас?
- Что вами движет?
- В чем вы видите свои сильные стороны?
- Какими достижениями вы особенно гордитесь?
- Что вы знаете о нашей компании, отрасли и/или должности?
- Почему вас интересует эта должность?
- Как бы вы определили успех в этой роли?
- Что для вас важнее всего в работе, менеджере и/или компании?
- Опишите свою идеальную работу.
- Почему мы должны нанять вас?
- Кем ты видишь себя через два года?
- При каком стиле управления вам лучше всего работать?
- Каков ваш стиль управления?
- Как вы мотивируете людей?
- Как вы справляетесь с конфликтами?
- Как вы справляетесь со стрессом?
- В какой рабочей среде вы преуспеваете?
- Можете ли вы объяснить этот пробел в вашем трудовом стаже?
- Можете ли вы объяснить, почему вы занимали так много позиций за такой короткий период времени?
- В вашем последнем обзоре производительности какие области были отмечены как ваши сильные и слабые стороны? Какие шаги вы предприняли для устранения своих недостатков?
- Рекомендации важны для нас. Что ваш менеджер расскажет нам о ваших сильных и слабых сторонах?
- Почему вы оставили свою последнюю позицию? Какие рекомендации предоставит ваша предыдущая компания?
- Какова ваша текущая зарплата? Каковы ваши ожидания по зарплате?
- Приведите пример сложного решения, которое вам пришлось принять в вашем положении. Что мешало и каков результат?
- Опишите конкретную проблему, с которой вы столкнулись на своей должности. Как вы подошли к ее решению?
- Приведите мне пример, когда вам пришлось сделать все возможное, чтобы выполнить работу.
- Расскажите мне о случае, когда вам нужно было работать с группой людей, чтобы выполнить работу.
- Расскажите мне о случае, когда вы были перегружены работой. Как вы расставили приоритеты в своих задачах?
- Приведите пример напряженной ситуации, с которой вы столкнулись за последние X месяцев. Как вы справиться с этим?
- Опишите ситуацию, в которой вам нужно было достичь консенсуса.