DotNet Interview Preparation
DotNet Interview Preparation
  • Видео 13
  • Просмотров 41 866

Видео

От слесаря до технического директора в геймдеве
Просмотров 2203 месяца назад
Интервью с Константином Рочевым (Технический директор игровой студии). 0:00 Вступление 0:27 Путь в айти 3:06 Полезен ли университет? 4:04 Программирование в стихах 9:45 Альфа-ритмы для изучения нового 10:43 Первое трудоустройство и дальше 14:06 Проекты в игровой студии 14:54 Научная и публичная деятельность 16:01 Совет желающим попасть в IT 16:53 Будущее IT
Как устроиться на работу после обучения и что такое настоящее программирование?
Просмотров 6854 месяца назад
Интервью с Алексеем Поберием 0:00 О чем ролик? 0:32 Начало пути в программирование 2:45 Центр занятости 5:53 Первая работа 12:30 Переезд в Санкт-Петербург 20:48 Собеседование на первую работу с enterprise flow 31:15 Москва и удалёнка 34:58 Framework PureQML 45:34 Советы начинающим разработчикам
"За кулисами" групповых собеседований
Просмотров 9975 месяцев назад
0:00 Введение 0:07 Что такое Персональное собеседование 0:29 Что такое Групповое Собеседование 1:23 Пример группового собеседования 1:30 SOLID 4:47 Исключения 5:17 LINQ 5:47 Типы классов 9:19 Практика: Класс Student 9:44 Garbage Collection 10:47 Практика: Библиотека книг 12:42 Практика: Класс Student 19:09 Статические и экземплярные методы 21:02 Практика: Библиотека книг 25:27 Обратная связь в ...
Пробное Middle C# собеседование (мок-интервью). Часть 2
Просмотров 2,3 тыс.5 месяцев назад
0:00 Использование LINQ 2:10 IQueryable vs IEnumerable 4:02 IEnumerable в LINQ 4:39 Тестирование и отладка 9:58 Обратная связь: Тестирование и отладка 14:45 Завершение #dotnet #csharp #interview #mockinterview
Пробное Middle C# собеседование (мок-интервью). Часть 1
Просмотров 2,5 тыс.5 месяцев назад
0:00 Приветствие 0:08 Обработка исключений 2:42 Безопасность приложений 4:05 Обратная связь: Обработка исключений 6:11 Обратная связь: Безопасность приложений 8:05 Асинхронные операции 10:55 Обратная связь: Асинхронные операции #dotnet #csharp #interview #mockinterview
Пробное Senior C# собеседование (мок-интервью) №3
Просмотров 3,2 тыс.5 месяцев назад
0:00 Вступление 0:35 Самая сложная проблема 3:04 Самая большая ошибка 5:50 Паттерн "Разделяй и Властвуй" 9:40 Безопасность приложений 13:08 Inversion of control & Dependency Injection 17:39 SOLID principles 18:24 Новые функции C# 19:34 Оптимизация LINQ запросов 21:43 Впечатления 22:46 Обратная связь 43:36 Конец #dotnet #csharp #interview #mockinterview
Насколько сложно войти в АйТи в зрелом возрасте? Стоит ли оно того?
Просмотров 9347 месяцев назад
Интервью с Ахматом - человеком, который решился уйти с должности руководителя на должность джуниор разработчика на C#. 0:00 В этом интервью... 1:12 Об Ахмате 1:39 Предыстория 4:43 Зачем менял профессию 6:07 Собеседования в роли руководителя 7:50 Задание на логику 9:03 HR специалисты 9:35 Подготовка к собеседованиям 12:12 Сложности в первое время 13:56 Ожидания vs Реальность 15:24 Поддержка близ...
Пробное Senior C# собеседование (мок-интервью) №2
Просмотров 6 тыс.7 месяцев назад
0:00 Почему ты ищешь новое место работы? 0:26 Проблемы многопоточности и как избежать 1:17 Как избежать дедлока? 2:00 Какие ещё могут быть проблемы с многопоточностью? 2:20 Оптимизация приложений 06:04 Паттерн DDD 6:50 Паттерн Event Sourcing 7:47 Паттерн CQRS 8:55 Что такое микросервисы 12:16 Практическое задание: Система управления инвентарем 43:55 Впечатления 51:58 Обратная связь: Многопоточн...
Пробное Middle C# собеседование (мок-интервью)
Просмотров 10 тыс.7 месяцев назад
0:00 Приветствие 0:07 Расскажи про свой опыт 1:39 Что такое атрибуты? 2:57 Какие паттерны проектирования ты знаешь? 7:59 Как работает async/await? 10:52 Что такое Reflection? 11:43 Разница между процессами и потоками 12:53 Практическое задание: паттерн Наблюдатель 25:50 Обратная связь: Атрибуты 26:45 Обратная связь: Паттерны 21:14 Обратная связь: Async/await 29:00 Обратная связь: Reflection 30:...
Из миддла малоизвестного банка РФ стал руководителем команды разработки в Германии
Просмотров 3537 месяцев назад
0:00 О чем видео 0:18 О знакомстве на курсах и преподавании 1:29 Переезд в Нидерланды 10:22 Сбор документов и стоимость обучения 14:06 Переезд в Германию 20:08 В управленцы из программистов 23:51 Кодят ли руководители? 26:09 Преподавание 27:52 Как произошел переход в лиды 35:26 Конференции и синдром самозванца 42:45 Советы зрителям от Миши 48:20 Выводы и советы от меня Руководитель команды разр...
Пробное Junior C# собеседование (мок-интервью)
Просмотров 8 тыс.8 месяцев назад
0:00 Приветствие 0:19 Расскажи про свой опыт программирования 4:07 Разница между struct и class 4:42 Концепция наследования в ООП 5:25 Const, readonly, static 5:50 Как работает сборка мусора? 6:24 и Equals() 6:45 Практическое задание: класс Book 37:42 Саморефлексия 38:40 Обратная связь: вопрос про опыт 46:22 Обратная связь: struct и class 50:16 Обратная связь: Особенности типа String 51:33 Обра...
Пробное Senior C# собеседование (мок-интервью)
Просмотров 6 тыс.8 месяцев назад
0:00 .NET Core vs .NET Framework, C#12 0:36 Аутентификация и авторизация 2:11 Паттерн "Медиатор" 2:19 Контейнеризация и .NET приложения 4:31 Распределенные транзакции 6:19 Практическое задание 14:47 Саморефлексия 16:00 Обратная связь #dotnet #csharp #interview #mockinterview

Комментарии

  • @alexvalchuk3452
    @alexvalchuk3452 5 часов назад

    Дослушав ответ про async/await сделал вывод о том, что собеседуемый скорее всего как минимум сеньер-разработчик: очень ровно и уверенно отвечает. Местами скромничает, правда - видимо не до всего еще дотянулись руки. Сталкивался с "лидами" и "главами" отделов, которые имели меньшее понимание предмета. Претензии: 1) почему не слепил ивент из делегата? 2) с Observer начал лепить какую-то дичь, но потом исправился. Правда, на мой взгляд это не реализация паттерна Обозреватель, а использование готового решения паттерна в .net. Реализацией было бы создание класса-паблишера с методов add/removeSubscriber, абстракции ISubscriber с методом Signal. Метод Signal мог бы вызываться по фатку изменения состояния паблишера - например, каждого свойства объекта

  • @user-pg8lk1ip5r
    @user-pg8lk1ip5r 5 дней назад

    Собеседование уровня middle все же

  • @Gorikvorik
    @Gorikvorik 8 дней назад

    Извините , это точно Senior собеседование ?

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Если посмотрите предыдущие видео, то увидите, что Олег по факту хотел собеседоваться на миддла, но заодно решил и синьор уровень попробовать. А что именно вас здесь смущает?

  • @vanel9933
    @vanel9933 8 дней назад

    Где таймкоды????? 😡😡

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Там всего один практический вопрос и всё видео про него

  • @Happy-Gappy
    @Happy-Gappy 12 дней назад

    --- "Привет Михаил, расскажи про свой опыт в програмировании" --- "Привет Алексей. Я начал писать какие то простенькие консольные програмки еще в институте. Потом наткнулся на канал по С#. Начал более глубоко погружатся в язык. Понял что мне это нравится. Нашел ментора, чтобы еще больше усовершенствовать свои знания. В результате научился определать приватные конструкторы в классах, присваивать в теле конструктора параметрам свойства которые определены в классе, научился переопределять виртуальные методы без ключевого слова ovveride и с модификатором доступа private. Думаю что у меня достаточно опыта и знаний чтобы претендовать на джуниор вакансию. Вот пришел чтобы окончательно в этом убедится и уже начинать искать работу".

  • @whisper399
    @whisper399 20 дней назад

    Все встроенные структуры в C# неизменяемые. И так же в Рихтере напрямую написано, что желательно их всегда делать неизменяемыми и на примерах показано почему.(не из-за скорости как он несет точно)

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Не уверен, что до конца понимаю про что вы. Если про встроенные структуры, то мы их итак не можем изменить. И в части ситуаций структуры вполне себе работают быстрее, чем классы из-за накладных расходов на указатель и боксинг/анбоксинг.

    • @whisper399
      @whisper399 8 дней назад

      @@DotNetInterviewPreparation эм, вы прочитали мое сообщение в отрыве от контекста того, что говорилось в видео. Он говорил, что все структуры неизменяемые, я просто указал из-за чего он так подумал и перепутал. Так же он сказал, что они неизмяемые из-за скорости, я указал, что это не так и что в рихтере есть примеры почему их надо делать неизменяемыми. Я нигде тут не сравнивал скорость структур и классов

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      @@whisper399 теперь понял, спасибо большое за уточнение 👍

  • @vasinas81
    @vasinas81 28 дней назад

    По DDD, Event Sourcing и CQRS очень спорно. Описанная как ивент сорсинг архитектура скорее была похожа на ивент дривен, что несколько разное. В ивент сорсинге события не простооповещение системы, но и источник построения данных (цепочка событий + снапшоты являются источником построения текущего состояния). А все, в конце при разборе оказывается указали на это) Архитектура из практического примера - ну тоже токое, уж если идти к нормальному уровню абстракции, то можно рассматривать что то типа Clean Architecture, там уровней абстракции куда больше и все универсальнее. При обсуждении асинхронности хорошо было бы упомянуть CAP теорему, если мы асинхронно по шине или сагой пытаемся ввести изменения в данные несколько сервисов. Про дедлоки ниже уже отписались) Вообще показалось как будто слишком лайтово для синьора

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 7 дней назад

      Спасибо большое за такой подробный комментарий. Что касается сложности и глубины собеседования, это ещё будет дорабатываться 😉

  • @alekseyzen9766
    @alekseyzen9766 28 дней назад

    Бро, а если я на телике смотрю. Почему у меня в телеке ещё один телек 😅

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Это для надёжности, чтобы если один сломается, ты мог видео на другом досмотреть 😃

  • @serhio0326
    @serhio0326 Месяц назад

    когда научился пользоваться молотком тебе начинает казаться что вокруг одни только гвозди

  • @TheDirt2208
    @TheDirt2208 Месяц назад

    С MVC чуть уши не загнулись, 2 сеньора сидят и думают что модель это просто данные, а контроллер это бизнес логика =/ Господа в модели есть DAL, и бизнес логика, контроллер занимается по сути просто роутингом и первичной валидацией. Или у вас вся бизнеслогика пишется в экшенах)? Дальше наверное нет смысла смотреть

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation Месяц назад

      То есть вы считаете, что в парадигме MVC буква C отвечает за ASP.NET контроллеры?

    • @TheDirt2208
      @TheDirt2208 Месяц назад

      ​@@DotNetInterviewPreparationя наверное зря перешёл от общего к частному, но это было сделано для наглядности. Давайте обратно обобщим и подумаем вот над чем. При проектировании системы мы всегда стремимся к обособленности , что бы изменения в одном из компонентов оказывали минимальное воздействие на остальные части, и MVC не исключение. Если у нас бизнес логика находится на уровне контроллера, то он становится неразрывно связан с моделью, а это уже противоречит нашим принципам)

  • @filippt9304
    @filippt9304 Месяц назад

    музыка на собесседовании это да )

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Согласен, со звуком надо ещё потренироваться, но и на собеседовании было бы прикольно, если бы была музыка))

  • @igorpak6478
    @igorpak6478 Месяц назад

    Привет, по поводу задания, мне кажется все зависит от задачи бизнесов, если позволяют ресурсы, то почему бы не выполнять в синхроне, подняли нужное количество тачек и поставить выше балансировщик?) в примере с товарами как будто между синхроном и асинхронном лучше синхрон)) ИМХО Но все зависти от анализа бизнесов и ресурсов Отличный выпуск!👍

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Именно так, в этом и была моя идея - использовать подходящие для задачи инструменты, а не те, к которым привык. К сожалению, это частая проблема, которую я и за собой тоже иногда замечаю.

  • @mv.mmaksm
    @mv.mmaksm Месяц назад

    Очень слабо для мидла, даже джунов больше гоняют

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Сильно зависит от компании и обстоятельств. Знаю историю, где джуна за 4 месяца сделали тимлидом, когда вся команда разом уволилась, кроме него. Плюс, даже на один и тот же уровень, требования, скажем в Яндекс, скорее всего будут выше, чем в "Рога и Компы" в небольшом городке в регионе.

  • @raqiw2145
    @raqiw2145 Месяц назад

    Я, который перечитал десятки статей и пару книг, что бы вкурить что такое ассинхронность и как устроены метод-заглушка и стэйт машина и не могу устроиться, а чел делает приватным конструктор и почти взяли на работу😢

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      К сожалению, чтение статей и книг не гарантирует трудоустройства, это правда. Ну и да, с приватным конструктором тут промашка небольшая вышла, но у кого их не бывает? ;-)

  • @yourownazog8069
    @yourownazog8069 2 месяца назад

    Люблю собесы по дотнету смотреть на Ютубе. Но тут как по мне задачи были очень простые. Я даже не знаю какие тогда требования к трейни. Создать класс?😅

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation Месяц назад

      Простые и сложные - субъективные суждения. Но, в целом, соглашусь, что это не многочасовое собеседование, где из тебя всю душу вынимают))

  • @techbuterbrod
    @techbuterbrod 2 месяца назад

    Спасибо за видео, но на middle очень слабые ответы. То, что прошелся по названиям и стилю прям респект. Я реально устал на проектах, когда по названию и сигнатуре метода невозможно понять совершенно, что этот метод делает.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Согласен про стили и названия, если их нет, то что это может показывать недостаток опыта, потому что рано или поздно их во всех компаниях внедряют.

  • @user-du3uv6jc5x
    @user-du3uv6jc5x 2 месяца назад

    Привет! Как можно к вам попасть на мок middle интервью?)

  • @vladimirs6654
    @vladimirs6654 2 месяца назад

    подскажите что за сайт или программу автор использует в практической части

  • @user-cd5se7lf5t
    @user-cd5se7lf5t 2 месяца назад

    Не очень понял пример с Shopify и вообще всю эту полемику вокруг создания товара. Если товары создаются поштучно кликами пользователя, то у вас там будет gRPC. Если вы импортируете товары тысячами из экселевских файлов или внешних систем, то там вполне очевидно вырисовывается асинхронная очередь. Иными словами, я вообще не понял эту сферическую ситуацию в вакууме, где создание товара почему-то дорогое и может занимать минуты.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation Месяц назад

      Бизнес-правила могут быть очень разными. Отличный пример такого долгого создания товара - Авито. Может несколько часов пройти с момента как вы опубликовали объявление на свой товар до момента, как он будет реально опубликован для всего интернета. А если не повезёт и нужна будет проверка модератором и будут какие-нибудь праздники, то время ожидания может и в днях исчисляться. Хочется верить, что сейчас уже быстрее всё проходит, но раньше было так.

    • @user-cd5se7lf5t
      @user-cd5se7lf5t Месяц назад

      @@DotNetInterviewPreparation спасибо за ответ! Тем не менее, разговор был не про долгое создание, а дорогое. Такое дорогое, что мы зачем-то хотим его в очередь засунуть и не можем быстро вернуть результат для отображения на клиенте. Что касается примера с авито, то сам товар же моментально создаётся и отображается в интерфейсе в списке ожидающих модерации-публикации. Очевидно, нет там очереди на C из CRUD -- просто сразу создаётся товар и дальше по статусам двигается. В общем, в моменте Вас куда-то не туда как будто повело, и никто особо не понял, что произошло.

    • @user-cd5se7lf5t
      @user-cd5se7lf5t Месяц назад

      @@DotNetInterviewPreparation на всякий случай, я пробежался снова по моментам, которые меня смутили, а то три недели прошло и я уже всё забыл. Часть разговора на 39-42 минутах, потом самая важная часть с 1:01:40. На мой взгляд, справедливо будет сказать, что речь шла в обоих моментах не про массовый импорт, а про клики пользователей, публикующих товары. По крайней мере, обратного озвучено не было. Также справедливо будет отметить, что в инфраструктуре, где в сутки миллион товаров новых регистрируется, можно будет ожидать десятки и сотни миллионов покупок в сутки. Эти покупки всегда обрабатываются в реалтайме (не может же сервис просто списать деньги и не показать пользователю, что товар из корзины исчез, а в списке заказов появилась новая запись), и бизнес-процесс покупки уж точно дороже бизнес-процесса создания товара.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation Месяц назад

      Давайте уточню то, что я хотел подсветить в тот момент - если ты умеешь использовать какой-то инструмент, это не говорит о том, что его нужно использовать везде. Соответственно, я хотел подтолкнуть собеседника в эту сторону, придумывая различные варианты, где его инструмент будет не очень применим. Да, возможно, был приведен не на 100% очевидный пример, однако, суть была как раз в том, что в зависимости от бизнес потребностей инструменты могут и должны меняться.

  • @user-ot3th5hl5r
    @user-ot3th5hl5r 3 месяца назад

    Очень интересное видео, особенно практическое задание. Кандидат довольно приятный парень, из советов - иногда бывают слова-паразиты, которыми заполняется время на обдумывание ответа. Ну и про RPC в практическом задании да, очень странно. Зато про опыт с профилировкой круто рассказал. Благодарю обоих участников!

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Очень здорово, когда можно с помощью таких людей, как Константин, заглянуть в собеседования со стороны собеседующего. Благодарю за обратную связь.

  • @yuryermolov13
    @yuryermolov13 3 месяца назад

    За MassTransit отдельное спасибо. Если появляется он, то gRPC нафиг не нужен. Все взаимодействие через AQMP

  • @yuryermolov13
    @yuryermolov13 3 месяца назад

    Про распределенные транзакции достаточно было назвать паттерн Saga.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Так как это синьор уровень, то вполне можно ещё и в глубину про реализацию порассуждать на самом деле ;-)

  • @simple_covenant
    @simple_covenant 3 месяца назад

    Прекрасное интервью с совершенно убитым звуком. Приходится переслушивать по несколько раз отдельные моменты, чтобы понять, что говорит Олег. Тем не менее, спасибо, за предоставленную информацию.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Спасибо за обратную связь. Сейчас даже думаю может вообще без музыки выкладывать видео, что думаете?

  • @txcslm
    @txcslm 3 месяца назад

    Очень интересный гость, спасибо за видео!

  • @Mr43046721
    @Mr43046721 3 месяца назад

    Очень интересный формат, спасибо! подписался

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 8 дней назад

      Спасибо, буду продолжать вас радовать интересными видео.

  • @user-ot3th5hl5r
    @user-ot3th5hl5r 3 месяца назад

    Спасибо Олегу, что не постеснялся выложить свой собес на всеобщее обозрение, лайк за смелость и успехов в дальнейшем развитии! Из замечений - Олега иногда плохо слышно, проверяйте перед видосами, как пишется звук

  • @user-wh7yo6nr4s
    @user-wh7yo6nr4s 3 месяца назад

    А "прочитано" почему пропустили, не поработали с "MarkAsRead"

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 3 месяца назад

      Вам именно причина нужна? Или хотели бы увидеть как это могло бы быть реализовано? Если второе, то можете прислать как бы вы это реализовали и я дам вам обратную связь 😉

    • @user-wh7yo6nr4s
      @user-wh7yo6nr4s 3 месяца назад

      @@DotNetInterviewPreparation Я просто не знаю как это реалезовать, есть идеи, но программа раздуется в моём случае, мне интересно как было бы правильно )

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 3 месяца назад

      Боюсь, что без написания дополнительного кода (раздутия программы) здесь никак, да.

    • @user-wh7yo6nr4s
      @user-wh7yo6nr4s 3 месяца назад

      @@DotNetInterviewPreparation Понял, спасибо

    • @user-yj1on3bf1v
      @user-yj1on3bf1v Месяц назад

      @@DotNetInterviewPreparation он же вроде просто процедуру там сделал? А надо функцию ,чтобы передать название книги, автора, год и по сформированной строке уже понять какая книга была прочитана, чтобы пометить. Другой вариант ,как понимаю, использовать this, не уверен, просто прочитал про него только сегодня в книге, пока учу язык. Но по идее изнутри класса можно обратиться и тогда именно функция не нужна.

  • @user-hz1eg9fp3r
    @user-hz1eg9fp3r 4 месяца назад

    Спасибо) хорошее интервью с настоящим специалистом)

  • @bahamengame
    @bahamengame 4 месяца назад

    За советы для новичкам, спасибо! Было интересно послушать.

  • @andyash3337
    @andyash3337 4 месяца назад

    34:40 В SOLID буковка "D" отвечает не за Dependency Injection, а за Dependency Inversion ... Внедрение - не одно и то же, что Инверсия ...

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Да, спасибо большое за уточнение 👍

    • @andyash3337
      @andyash3337 4 месяца назад

      @@DotNetInterviewPreparation Это именно уточнение, если что :) P.s.: продолжайте создавать подобный контент. У Вас - получается.

  • @bloodborn9632
    @bloodborn9632 4 месяца назад

    4 года работаю разрабом. Успел поработать на с# 9 месяцев потом на котлине и джава бэк. 8 месяцев . И все остальное время на с# + ангуляр. До сих пор закрадыаются мысли что я не рыба не мясо, потому что пишу и бэк и фронт. Но посмотрев это интервю. Я прям повысил свою самооценку. :))) я давно оказывается не джун :)) если чесно хорошее видео. Скажу чесно 90 % своих знаний я получил просто анализируя чужой код еа, смотря кто как пишет на проекте так как прект большой многие задачи уже решались кем либо , и 10% гуглеж и видосики на ютубе. Так я изучил ангуряр.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Да, уже (почти) всё решено до нас. Что ещё интереснее, можно попросить нейронку, обученную на существующем коде, написать новый код и она напишет. Мгновенно и почти без косяков. Так что вполне себе хороший инструмент, чтобы пользоваться ;-)

  • @elka1910
    @elka1910 4 месяца назад

    спасибо, понравилось!

  • @elka1910
    @elka1910 4 месяца назад

    Можно убрать музыку? Мешает слушать

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Да, где-то было слишком громко, в других видео должно быть лучше.

  • @IlyaArlenka
    @IlyaArlenka 4 месяца назад

    Зачем??? Зачем спрашивать про сборщик мусора?? Тем более на позицию джуна

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Чтобы человек писал код, который не генерирует OutOfMemoryException при складывании 2+2.

    • @IlyaArlenka
      @IlyaArlenka 4 месяца назад

      @@DotNetInterviewPreparation часто сталкивались с OutOfMemoryException? Это ж надо постараться

  • @user-rg3sp6yk3b
    @user-rg3sp6yk3b 4 месяца назад

    Фидбек про разницу между асинхронностью и многопоточностью - супер! Только не понятно зачем знать про "Стейт машину", что эти знания нам дают? Такое ощущение, что вопрос про "Стейт машину" из разряда - расскажите про сборку мусора

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Это вопрос, который разделяет людей на "я не знаю как это работает, как-то работает, да и ладно" и на "Ух ты! А как это работает?". Плюс, мне недавно один из учеников настойчиво предлагал сделать метод асинхронным, ибо был убеждён, что так правильнее. А то, что добавляя слово async ты автоматически проигрываешь в производительности из-за доп. расходов на как-раз ту самую стейт машину, об этом он не думал.

    • @grozoff
      @grozoff 2 месяца назад

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

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation Месяц назад

      Детали начинают спрашивать с повышением уровня квалификации, то есть от Джуна ожидают, что он просто знает, что такое есть, в то время как от синьора уже могут рассказать о тонкостях реализации. Не уверен, что это прямо нужно на самом деле, но, раз спрашивают, значит надо быть готовым ответить 😉

  • @Pentatonic_Hardcore
    @Pentatonic_Hardcore 4 месяца назад

    Пришел к такому выводу для себя, любой хороший сеньор может впринципе завалить любого хорошего сеньора

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Если цель именно завалить, то это может сделать и джун)))

    • @yuryermolov13
      @yuryermolov13 3 месяца назад

      @@DotNetInterviewPreparation Нет, не может. Это не Сеньор. Он не живет кодом. Он просто хочет получать больше

  • @Pentatonic_Hardcore
    @Pentatonic_Hardcore 4 месяца назад

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

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 4 месяца назад

      Ого, вот это разброс! Не хватает только джуна 😉

  • @mikitaishchanka4688
    @mikitaishchanka4688 5 месяцев назад

    Супер!

  • @WarbeastMr
    @WarbeastMr 5 месяцев назад

    В SOLID буква D - это dependency inversion, а не injection. 34:46

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      И впрямь, а я всегда думал, что они различаются. Спасибо большое, что заметили 😉👍

  • @user-ej9hm2sp3j
    @user-ej9hm2sp3j 5 месяцев назад

    Эхх, жалко, что поздно, в видео есть ошибка, logstah не является базой данных, он служит для модификации и перенаправления сообщений, т.е является неким посредником между отправителем сообщения и его получателем. А стеке ELK базой является буква "E" - elastick search

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Да, вы абсолютно правы, меня постоянно тянет сказать, что Logstash это именно хранилище, потому что stash переводится как тайник. Но по факту, да, это лишь преобразователь данных.

    • @user-ej9hm2sp3j
      @user-ej9hm2sp3j 5 месяцев назад

      ​@@DotNetInterviewPreparationДа, есть такое) Видео вышло интересным, спасибо

  • @DionisiChannel
    @DionisiChannel 5 месяцев назад

    По оптимизации LINQ запросов: Вопрос же поставлен именно относительно LINQ запросов, что подразумевает запросы к БД. Отвечающий корректно начал рассказывать про LINQ to Entities. Если имелось в виду про использование LINQ для работы с данными в коде, то корректнее сказать, например, "Оптимизация LINQ-выражений". Расскажите, у кого какое понимание фразы "LINQ-запросы"?

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Если верить майкрософтовской документации (learn.microsoft.com/ru-ru/dotnet/csharp/linq/get-started/introduction-to-linq-queries), то запросы в LINQ могут быть и к объектам (Linq2Objects), и к XML (Linq2Xml), и к много чему ещё, фактически любым коллекциям, реализующим IEnumerable. Так что говорить, что под запросами понимается именно Linq2Entities я бы не стал. Тем более, что есть более "родная" реализация для работы с бд - Linq2Db. Да и чего уж там, сама расшифровка LINQ содержит в себе слово "запрос" ;-)

  • @benderios
    @benderios 5 месяцев назад

    Бл@дская музыка в бэкграунде, а так спс за видос

  • @user-ck3dq5pb4n
    @user-ck3dq5pb4n 5 месяцев назад

    А где всё это происходит?

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      В зуме

    • @user-ck3dq5pb4n
      @user-ck3dq5pb4n 5 месяцев назад

      @@DotNetInterviewPreparation Да это понятно. Я имею введу сам контекст. Что это курсы? Сообщество? Собрались знакомые? Частный менторинг?

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      @@user-ck3dq5pb4n, на текущий момент это я бесплатно организую такие мероприятия для выпускников своих курсов и зрителей с ютуба.

  • @shatalinator
    @shatalinator 5 месяцев назад

    До чего техника дошла - кандидаты сами себя собеседуют! Можно Battle Royal устроить, победителю - оффер😆

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Если бы в реальности так и происходило, то может быть и устроили бы. Но, к сожалению, на собеседованиях далеко не всегда "побеждает" тот, кто лучше умеет программировать или больше знает 🤷

  • @fed1splay
    @fed1splay 5 месяцев назад

    Garbage Collection - это коллекция... ))) Щас на интервью попасть сложнее, чем его пройти. Предлагаю изменить формат роликов с "собеседование" на "как попасть на собес" 😂

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      А это идея )) Предлагаю всем желающим прислать свои резюме для разбора и обратной связи вот сюда: docs.google.com/forms/d/e/1FAIpQLSfV1oqnhQr81TZlWpeG7TqMIK7d-04z4tddQb1La-Pn-yCmrg/viewform?usp=sf_link

    • @fed1splay
      @fed1splay 5 месяцев назад

      @@DotNetInterviewPreparation да, я про подобное и говорю. Ну и для того, чтобы приблизить всё к реальности, на каждое присланное резюме отвечать нечто вроде: Спасибо за интерес к нашей вакансии! Но в данный момент мы не готовы пригласить Вас на дальнейшее интервью. Мы вернёмся к вашей кандидатуре, когда у нас возникнет такая потребность. 😂

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      @@fed1splay, ха-ха-ха, степень реализма 100%. Хотя, можно сделать ещё лучше - вообще ничего не отвечать, тоже как в жизни будет 🙂

    • @fed1splay
      @fed1splay 5 месяцев назад

      @@DotNetInterviewPreparation я этот вариант опустил, как очевидный 😂 я думаю многие, кто шлёт отклики на ХХ про него в курсе)))

    • @bahamengame
      @bahamengame 5 месяцев назад

      Было бы смешно, если бы не было так грустно :(

  • @KonstantinTurchak
    @KonstantinTurchak 5 месяцев назад

    Как ты отбираешь людей для своих видео? Хочется поучаствовать))

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Всё просто и бесплатно - вступайте в ТГ группу и подписывайтесь на рассылку. Ссылки в информации о канале ;-)

    • @KonstantinTurchak
      @KonstantinTurchak 5 месяцев назад

      Клёвая идея! Это реально очень помогает людям стать лучше. Респект

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      @@KonstantinTurchak, спасибо за поддержку.

  • @mrlait5732
    @mrlait5732 5 месяцев назад

    Кстати, есть вот такой вопрос, а как Linq понимает IQuerible или IEnumerable нужно возвращать?

    • @biterik2245
      @biterik2245 5 месяцев назад

      лично мое мнение, что когда ты у IEnumerable (например List ) вызываешь метод то он и возвращает IEnumerable, а когда у DbSet который реализует IQueryable, то он вернёт IQueryable.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Думаю, здесь нужно начать с того, что такое LINQ? По факту это набор методов-расширений (extension methods). И ответом на ваш вопрос будет "Какой возвращаемый тип в методе написан для типа, на котором вызывается, тот интерфейс и будет возвращён".

    • @yuryermolov13
      @yuryermolov13 3 месяца назад

      @@DotNetInterviewPreparation Не LINQ понимает, а разработчик решает что он хочет увидеть в результате. И надо понимать, что LINQ to Entities это одна история, а LINQ to object другая.

  • @user-bx2er2zx5u
    @user-bx2er2zx5u 5 месяцев назад

    www.youtube.com/@otsobes/videos . Хочу для вашего развития как канала предложить старый и заброшенный , но очень крутой канал про собесы. Рекомендую первые видосы , именно где фронтенд интервью . У этих ребят главное преимущество над вами и большим кол-вом мок-интервьюеров в том , что там был не формат "попытка ответить кандидата => объяснение ведущего" , а прямо-таки раскручивание кандидата в глубь по каждому вопросу . Ясное дело , что там и длина видосов больше ( хотя никто не заставляет делать много вопросов) , но при этом интервью более содержательное , больше раскрывается кандидат , когда его даже поддушивают слегка . Плюс не знаю , как другим зрителям , но формат с этим компьютером и попеременным показом ведущего и интервьюируемого мне не очень заходит . Мне кажется , лучше , когда видно обоих и нет этого отвлекающего дизайна с этим рабочим столом. А так вообще круто делайте , лучшее , что по шарпам находил в интернете!

  • @user-zk4dt2mu9f
    @user-zk4dt2mu9f 5 месяцев назад

    IQueriable же не содержит реализации, о каких оптимизациях речь

    • @mrlait5732
      @mrlait5732 5 месяцев назад

      Я так понимаю, что за счет Expression он строит дерево выражений и пока не вызвал методы для "материализации"(toList и тп) ты можешь писать любые запросы, фильтрации и тд, которые в итоге могут пересекаться и вот эти пересечения он может оптимизировать. (но это домыслы)

    • @user-zk4dt2mu9f
      @user-zk4dt2mu9f 5 месяцев назад

      @@mrlait5732 а если этот IQueriable не про базу данных? Мы же делаем выборку используя какой-то абстрактный провайдер данных. Так что мы вполне можем делать выборку внезапно из файла, из папок на диске или из таблицы экселя. И не факт что оптимизации там есть. Вопрос не раскрыт. Но для галочки что кандидат знает, пойдёт.

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Полностью согласен, сам интерфейс не содержит никаких реализаций. Речь шла про методы, которые возвращают IQueryable. Что вместо того, чтобы применять методы поочередно к одному элементу, как это происходит с IEnumerable, здесь, как уже написали в комментарии выше, мы строим дерево выражений и уже в нём можем оптимизировать работу, например, преобразовав все множество методов в один запрос к базе данных.

    • @yuryermolov13
      @yuryermolov13 3 месяца назад

      @@DotNetInterviewPreparation IQueryable наследуется от IEnumerable и вы все правильно сказали, что главная особенность это то что IQueryable постоянно оптимизирует именно SQL запрос.

  • @shatalinator
    @shatalinator 5 месяцев назад

    Ждём части три. Где будет мок-оффер на 300к/наносек.😎

    • @DotNetInterviewPreparation
      @DotNetInterviewPreparation 5 месяцев назад

      Вот вы смеетесь, а у нас уже планируется такой мега-мощный мок собес с практически настоящим оффером. Ну а чтобы получить третью часть, вы знаете что делать - оплачивайте билетики ;-)