Тестовое собеседование 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
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-. Вот отвечаю на джуновские вопросы😊
До компа доберусь в описание добавлю
Спасибо автору за все эти интервью! Очень помогает в подготовке, когда сначала самостоятельно пытаешься ответить на вопрос, потом уже слушаешь дальше)
я правильно зрозумів це все що потрібно знати для джуна?
1. Основи програмування:
- Розуміння базових понять програмування: змінні, типи даних, умови, цикли, функції.
- Вивчення основ синтаксису C#: декларація змінних, операції, умови, цикли, функції.
2. Об'єктно-орієнтоване програмування:
- Розуміння понять класів, об'єктів, успадкування, інкапсуляції, поліморфізму.
- Вивчення основ ООП в C#: створення класів, використання об'єктів, успадкування, інтерфейси.
3. Робота з колекціями:
- Вивчення базових колекцій: масиви, списки, словники, черги, стеки.
- Робота з колекціями в C#: додавання, видалення, зміна елементів, сортування.
4. Робота з файлами та даними:
- Основи роботи з файлами: читання, запис, видалення файлів.
- Використання базових структур даних: рядки, масиви, структури, класи.
5. Робота з базами даних:
- Основи роботи з SQL: створення таблиць, вибірка, вставка, оновлення, видалення даних.
- Робота з базами даних у C#: підключення до БД, виконання запитів, взаємодія з даними.
6. Вивчення бібліотек та фреймворків:
- Ознайомлення з популярними бібліотеками та фреймворками для розробки на C#: .NET Framework, ASP.NET, Entity Framework.
7. Розробка веб-додатків:
- Вивчення основ веб-розробки: HTML, CSS, JavaScript.
- Розробка веб-додатків на C#: створення серверної частини, взаємодія з клієнтом, робота з HTTP запитами.
только ознайомлення с асп нетом и ЕФом поменяй на уверенные знания. Плюс ты не упомянул всякие вещи типа делегатов, асинхронности. Знать что такое репозитории и юнит оф ворки написать с ними проект и забыть про них, дальше только CQRS. Возможно придется и фронт учить, если хочешь побыстрее работу найти. почти все вакансии фуллстек.
короче просто смотри подобные видео, все что ты услышишь тебе надо знать (ребит и кафка с данного видео исключения). Но это все теория, а нужна еще и практика. возьми за правило каждый день хотя бы по паре часов кодить, гитхаб должен быть весь зеленый.
Я и сам сейчас в процессе поиска, кардинально изменил подход и уверен что в течении 1-3 месяцев уже буду веслами грести.
Но для этого надо делать не то что все вокруг.
основы очень советую разобрать детально, особенно работу value and ref types. ref/out. Объекты по типу базовых классов и их поведение. Строки(очень подробно, как устроены, почему и как переопределены базовые методы, что такое интернирование, конкатенация, интерполяция, стрингбилдер, как он устроен под капотом).
на книги лучше время не тратить, создай сой роадмап как и что ты будешь учить, практиковать. Должно быть четкое понимание что ты делаешь и конечная цель. и понимание как ты собираешься быть лучше других.
Ну и само собой год опыта нарисовать в резюме.
а, ну и английский. Пиши апер интерммидиат, ходи на спикинг клабы, практикуйся отвечать на general вопросы. Инфу с ютуба тоже на англ поглощай обучающую технологиям.
легко не будет, но если делать праивльные шаги, то конкуренция не такая уж и большая)
Молодец пацан, толковы. далеко пойдет!!
Намного легче смотря отвечать, чем быть на месте собеседуемого :D
ну конечно:)
С Database First не согласен - там не причем слово автоматически. Мало того, что для качественной автоматической генерации модели вам придется купить какой-нибудь Devart и плюс вы можете легко и не принуждено написать все классы вручную и DBContext их подхватит. Например, попробуйте использовать scaffold для существующей Oracle Database в которой куча представлений, хранимых процедур и станет понятно что там сгенерится.
К слову, те кто поопытнее прекрасно знают, что изначально у EF было 3 подхода. Code First, Database First, Model First и вот те кто использовали последний именно им не повезло, потому что периодически приходилось вручную править edmx модель.
Я до сих пор вручную это делаю на одном из проектов….
Она выросла настолько что через ui это делать уже не получается поэтому через xml разметку
@@Excalib Я именно про ручную правку и говорю. В вас то я не сомневаюсь, просто собеседник только один знает, и не подразумевает что есть еще большие проблемы. И вообще Code First породил целое поколение разработчиков, который работают с БД через Code First и понятия не имеют об SQL.
@@ExcalibКак и 90% enterprise компаний.
@@yuryermolov13 Не вижу ничего плохо в Code first подходе, также как и в других.
Вы говорите про большие проблемы, конечно они есть, но разве в других подходах их нет ?
Если EFCore уже предоставляет готовый и удобный инструмент для Code First подхода, значит он не так уж и плох, не так ли ?
И что значит "породило поколение разработчиков понятия не имеющих об SQL", т.е несколько лет работать только через ORM, шутите что ли ?
Часто возникает потребность залезть в базу напрямую, это намного удобнее чем каждый кидать запрос на сервер, который обратится за этими же данными к базе через ORM. И как тогда без SQL ?
когда тайм коды?
учу масс транзит сделаю наверное завтра)
@@raindance174 а что там учить?
@@user-zd7zm5vu9c разбираюсь как на практике создавать сагу с оркестрацией
Это все реально у джунов на каждом собесе спрашивают? Я лет 15 на собесах не был, вообще хз что там происходит. Мрак какой-то. И сколько таким джунам платят? 200+ ?
Лям+:))
@@Excalib я серьёзно интересуюсь) сколько твоих видео глянул, ты либо гоняешь по всем возможным вопросам, либо таким джунам реально лям платят, либо на настоящем собесе спросят 10% от этого. Вот интересно какова реальность.
@@CountryManOpinion На реальном спросят больше и выставят зп максимум 150
Я думаю спросят чуть меньше теории и спросят про реальный опыт про пет проекты
А ну еще дадут тестовое и по нему пройдутся
Данному кандидату неплохо бы поменять аватарку.
По признакам не касающих его проф деятельности я не оцениваю:)