Тестовое собеседование C# | .NET Junior Mock interview

Поділитися
Вставка
  • Опубліковано 28 чер 2024
  • Для записи на консультацию напишите в телеграм бот: t.me/excalib_advice_bot
    😽Всем кусь😽
    Тестовое интервью с разработчиком, который не имеет опыт в компании, однако пол года занимался фрилансом, как думаете получится устроиться в компанию? Сможет стать джуном или всё же не дотягивает?
    Telegram channel: t.me/excalib_channel
    Telegram chat: t.me/excalib_chat
    Vk: excalib88
    Может вы хотите поучаствовать в мок интервью? Пишите мне в телеграм(приложите свое резюме и расскажите о себе): @excalib
    Таймкоды:
    00:00 интро: о себе, опыт
    11:34 ООП, принципы. Полиморфизм
    13:42 виды и инструменты полиморфизма, polymorphism of subtypes
    16:43 SOLID
    18:02 LSP
    21:49 DIP, инструменты DIP, Service Locator
    23:48 IoC, DI Dependency injection, DI lifetimes(singleton, transient, scoped)
    27:16 Можно ли преждевременно прервать время жизни
    внедренной зависемости, например scoped-зависемости?
    29:46 типы данных С# ; когда value types храняться в куче?
    31:03 boxing/unboxing
    32:46 приведи примеры значимых и ссылочных; DateTime - ref or value?
    34:29 string, особенности? иммутабнльность, интернирование.
    37:23 abstract class vs interface; когда использовать?
    43:06 что может хранить interface?: константы? fields?
    46:00 async/await.
    48:39 как await реализует не блокирование основного потока?
    49:03 concurrent collections
    51:00 примитивы синхрнонизации: семафоры, мьтексы, spinlock,
    54:20 ASP.NET: конвейер обработки запросов, составные части? Middleware, filters, типы фильтров
    58:05 EF core: ORM; code first, DB first
    1:00:00 трекинг; как отключить трекинг? AsNoTracking();
    1:01:53 проходилось ли: оптимизировать запросы? used индексы?used профильровщик?
    1:04:18 опыт в технологиях: RabbitMQ, Raddis
    1:04:30 Raddis; expiration time cache, sliding expiration.
    1:10:05 SignalR; режимы: short polling, long-poling, web-socket
    1:18:45 итоги, feedback

КОМЕНТАРІ • 31

  • @incredibleBY
    @incredibleBY 3 місяці тому +6

    00:00 интро: о себе, опыт
    11:34 ООП, принципы. Полиморфизм
    13:42 виды и инструменты полиморфизма, polymorphism of subtypes
    16:43 SOLID
    18:02 LSP
    21:49 DIP, инструменты DIP, Service Locator
    23:48 IoC, DI Dependency injection, DI lifetimes(singleton, transient, scoped)
    27:16 Можно ли преждевременно прервать время жизни
    внедренной зависемости, например scoped-зависемости?
    29:46 типы данных С# ; когда value types храняться в куче?
    31:03 boxing/unboxing
    32:46 приведи примеры значимых и ссылочных; DateTime - ref or value?
    34:29 string, особенности? иммутабнльность, интернирование.
    37:23 abstract class vs interface; когда использовать?
    43:06 что может хранить interface?: константы? fields?
    46:00 async/await.
    48:39 как await реализует не блокирование основного потока?
    49:03 concurrent collections
    51:00 примитивы синхрнонизации: семафоры, мьтексы, spinlock,
    54:20 ASP.NET: конвейер обработки запросов, составные части? Middleware, filters, типы фильтров
    58:05 EF core: ORM; code first, DB first
    1:00:00 трекинг; как отключить трекинг? AsNoTracking();
    1:01:53 проходилось ли: оптимизировать запросы? used индексы?used профильровщик?
    1:04:18 опыт в технологиях: RabbitMQ, Raddis
    1:04:30 Raddis; expiration time cache, sliding expiration.
    1:10:05 SignalR; режимы: short polling, long-poling, web-socket
    1:18:45 итоги, feedback
    PS:
    1) 43:39 Поправка интервьвера: в интерфейсе могут храниться филды. Но не всякие.только НЕ обьектные . Статические. Константы потому и могут храниться, что это тоже статика.
    2) 36:54(как реализовать такой функционал, повторные литералы не создают новый объект в куче а переиспользуют)Вопрос с подвохом: интернирование по-умолчанию включено в CLR для литералов, т.е строковых констант.(И one note: 100%-но отключить её нельзя: есть атрибут который указыт clr что он может его не использовать...а может и использовать, как сам решит.) делать ничего не нужно.
    PPS: благодарю за видео. Готовлюсь на себес mid+/senior-. Вот отвечаю на джуновские вопросы😊

    • @Excalib
      @Excalib  3 місяці тому

      До компа доберусь в описание добавлю

  • @MrSega13
    @MrSega13 2 місяці тому +1

    Спасибо автору за все эти интервью! Очень помогает в подготовке, когда сначала самостоятельно пытаешься ответить на вопрос, потом уже слушаешь дальше)

  • @MarikYurchak
    @MarikYurchak 3 місяці тому +3

    я правильно зрозумів це все що потрібно знати для джуна?
    1. Основи програмування:
    - Розуміння базових понять програмування: змінні, типи даних, умови, цикли, функції.
    - Вивчення основ синтаксису C#: декларація змінних, операції, умови, цикли, функції.
    2. Об'єктно-орієнтоване програмування:
    - Розуміння понять класів, об'єктів, успадкування, інкапсуляції, поліморфізму.
    - Вивчення основ ООП в C#: створення класів, використання об'єктів, успадкування, інтерфейси.
    3. Робота з колекціями:
    - Вивчення базових колекцій: масиви, списки, словники, черги, стеки.
    - Робота з колекціями в C#: додавання, видалення, зміна елементів, сортування.
    4. Робота з файлами та даними:
    - Основи роботи з файлами: читання, запис, видалення файлів.
    - Використання базових структур даних: рядки, масиви, структури, класи.
    5. Робота з базами даних:
    - Основи роботи з SQL: створення таблиць, вибірка, вставка, оновлення, видалення даних.
    - Робота з базами даних у C#: підключення до БД, виконання запитів, взаємодія з даними.
    6. Вивчення бібліотек та фреймворків:
    - Ознайомлення з популярними бібліотеками та фреймворками для розробки на C#: .NET Framework, ASP.NET, Entity Framework.
    7. Розробка веб-додатків:
    - Вивчення основ веб-розробки: HTML, CSS, JavaScript.
    - Розробка веб-додатків на C#: створення серверної частини, взаємодія з клієнтом, робота з HTTP запитами.

    • @IhorArkh
      @IhorArkh 3 місяці тому +2

      только ознайомлення с асп нетом и ЕФом поменяй на уверенные знания. Плюс ты не упомянул всякие вещи типа делегатов, асинхронности. Знать что такое репозитории и юнит оф ворки написать с ними проект и забыть про них, дальше только CQRS. Возможно придется и фронт учить, если хочешь побыстрее работу найти. почти все вакансии фуллстек.
      короче просто смотри подобные видео, все что ты услышишь тебе надо знать (ребит и кафка с данного видео исключения). Но это все теория, а нужна еще и практика. возьми за правило каждый день хотя бы по паре часов кодить, гитхаб должен быть весь зеленый.
      Я и сам сейчас в процессе поиска, кардинально изменил подход и уверен что в течении 1-3 месяцев уже буду веслами грести.
      Но для этого надо делать не то что все вокруг.
      основы очень советую разобрать детально, особенно работу value and ref types. ref/out. Объекты по типу базовых классов и их поведение. Строки(очень подробно, как устроены, почему и как переопределены базовые методы, что такое интернирование, конкатенация, интерполяция, стрингбилдер, как он устроен под капотом).
      на книги лучше время не тратить, создай сой роадмап как и что ты будешь учить, практиковать. Должно быть четкое понимание что ты делаешь и конечная цель. и понимание как ты собираешься быть лучше других.
      Ну и само собой год опыта нарисовать в резюме.
      а, ну и английский. Пиши апер интерммидиат, ходи на спикинг клабы, практикуйся отвечать на general вопросы. Инфу с ютуба тоже на англ поглощай обучающую технологиям.
      легко не будет, но если делать праивльные шаги, то конкуренция не такая уж и большая)

  • @araslanrus
    @araslanrus 17 днів тому

    Молодец пацан, толковы. далеко пойдет!!

  • @user-qs3un4pr8k
    @user-qs3un4pr8k 3 місяці тому +4

    Намного легче смотря отвечать, чем быть на месте собеседуемого :D

    • @Excalib
      @Excalib  3 місяці тому

      ну конечно:)

  • @yuryermolov13
    @yuryermolov13 3 місяці тому

    С Database First не согласен - там не причем слово автоматически. Мало того, что для качественной автоматической генерации модели вам придется купить какой-нибудь Devart и плюс вы можете легко и не принуждено написать все классы вручную и DBContext их подхватит. Например, попробуйте использовать scaffold для существующей Oracle Database в которой куча представлений, хранимых процедур и станет понятно что там сгенерится.

  • @yuryermolov13
    @yuryermolov13 3 місяці тому +2

    К слову, те кто поопытнее прекрасно знают, что изначально у EF было 3 подхода. Code First, Database First, Model First и вот те кто использовали последний именно им не повезло, потому что периодически приходилось вручную править edmx модель.

    • @Excalib
      @Excalib  3 місяці тому

      Я до сих пор вручную это делаю на одном из проектов….

    • @Excalib
      @Excalib  3 місяці тому

      Она выросла настолько что через ui это делать уже не получается поэтому через xml разметку

    • @yuryermolov13
      @yuryermolov13 3 місяці тому

      @@Excalib Я именно про ручную правку и говорю. В вас то я не сомневаюсь, просто собеседник только один знает, и не подразумевает что есть еще большие проблемы. И вообще Code First породил целое поколение разработчиков, который работают с БД через Code First и понятия не имеют об SQL.

    • @yuryermolov13
      @yuryermolov13 3 місяці тому

      @@ExcalibКак и 90% enterprise компаний.

    • @air47
      @air47 3 місяці тому

      ​@@yuryermolov13 Не вижу ничего плохо в Code first подходе, также как и в других.
      Вы говорите про большие проблемы, конечно они есть, но разве в других подходах их нет ?
      Если EFCore уже предоставляет готовый и удобный инструмент для Code First подхода, значит он не так уж и плох, не так ли ?
      И что значит "породило поколение разработчиков понятия не имеющих об SQL", т.е несколько лет работать только через ORM, шутите что ли ?
      Часто возникает потребность залезть в базу напрямую, это намного удобнее чем каждый кидать запрос на сервер, который обратится за этими же данными к базе через ORM. И как тогда без SQL ?

  • @user-zd7zm5vu9c
    @user-zd7zm5vu9c 3 місяці тому

    когда тайм коды?

    • @raindance174
      @raindance174 3 місяці тому

      учу масс транзит сделаю наверное завтра)

    • @user-zd7zm5vu9c
      @user-zd7zm5vu9c 3 місяці тому

      @@raindance174 а что там учить?

    • @raindance174
      @raindance174 3 місяці тому

      @@user-zd7zm5vu9c разбираюсь как на практике создавать сагу с оркестрацией

  • @CountryManOpinion
    @CountryManOpinion 3 місяці тому +1

    Это все реально у джунов на каждом собесе спрашивают? Я лет 15 на собесах не был, вообще хз что там происходит. Мрак какой-то. И сколько таким джунам платят? 200+ ?

    • @Excalib
      @Excalib  3 місяці тому

      Лям+:))

    • @CountryManOpinion
      @CountryManOpinion 3 місяці тому

      @@Excalib я серьёзно интересуюсь) сколько твоих видео глянул, ты либо гоняешь по всем возможным вопросам, либо таким джунам реально лям платят, либо на настоящем собесе спросят 10% от этого. Вот интересно какова реальность.

    • @arturgamidov7547
      @arturgamidov7547 3 місяці тому

      @@CountryManOpinion На реальном спросят больше и выставят зп максимум 150

    • @Excalib
      @Excalib  3 місяці тому

      Я думаю спросят чуть меньше теории и спросят про реальный опыт про пет проекты

    • @Excalib
      @Excalib  3 місяці тому

      А ну еще дадут тестовое и по нему пройдутся

  • @yuryermolov13
    @yuryermolov13 3 місяці тому

    Данному кандидату неплохо бы поменять аватарку.

    • @Excalib
      @Excalib  3 місяці тому

      По признакам не касающих его проф деятельности я не оцениваю:)