Тёмный

Что должен знать C# Junior разработчик? 

Sergey Nemchinskiy
Подписаться 360 тыс.
Просмотров 92 тыс.
50% 1

В этом видео обсудим техническую базу, которая нужна для того, чтобы успешно пройти собеседование на позицию C# Junior Developer. Приятного просмотра!
💻 Направление о котором говорит Сергей:
Курсы для будущих С#-разработчиков:
C# START - go.foxminded.ua/42LjnAJ
C#/.NET - go.foxminded.ua/41qgnZy
Обучение на проекте - go.foxminded.ua/3VSsf5o
Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - t.me/foxminded
😭 5 самых распространенных ошибок в обучении на программиста (студентам будет больно) - • Ошибки в обучении на п...
📵10 ошибок в поисках работы программистом, которые тормозят вас в получении оффера - • Это тормозит программи...
Вы можете стать спонсором канала и получать плюшки - / @sergeynemchinskiy
❤ FoxmindEd в Instagram: / foxminded.ua
Курсы для будущих JS-разработчиков:
JavaScript Start - go.foxminded.ua/3BfCLdd
FRONT-END (ANGULAR, REACT) - go.foxminded.ua/3VTO0S9
NODE.JS - go.foxminded.ua/44Th40c
Курсы для будущих Java-разработчиков:
JAVA Start - go.foxminded.ua/3O1CUJ1
Инструментарий JAVA - go.foxminded.ua/42KVEAz
JAVA - go.foxminded.ua/44OBzv3
Обучение на проекте - go.foxminded.ua/3VSsf5o
Курсы для будущих Python-разработчиков:
PYTHON Start - go.foxminded.ua/3MjHgdo
PYTHON - go.foxminded.ua/3Bf7Q0C
🎓 Другие направления:
ANDROID - go.foxminded.ua/41tX9Cn
SALESFORCE Developer - go.foxminded.ua/3ptYzPY
UI/UX дизайн - go.foxminded.ua/3I39YfM
Unreal Engine - go.foxminded.ua/41oJNHj
QA Automation - go.foxminded.ua/44LscfP
IOS разработка - go.foxminded.ua/3LXN5vq
PHP - go.foxminded.ua/3nZKpW6
Unity - go.foxminded.ua/42oG7GQ
GOLANG - go.foxminded.ua/44SKfkc
🎓Продвинутые курсы для состоявшихся девелоперов:
Enterprise patterns - go.foxminded.ua/44Rzoqz
Алгоритмы и структуры данных - go.foxminded.ua/3BfglsT
C# NEXT - go.foxminded.ua/44RmoB9
🔧 Пробное техническое собеседование со специалистом уровня Senior Developer/ Team Leader - go.foxminded.ua/3LYjodX
👔 Карьерная консультация с Сергеем Немчинским - go.foxminded.ua/3LSZsJb
Сайт FoxmindEd для новичков: go.foxminded.ua/3pz11o2
Сайт для разработчиков уровня мидл+: go.foxminded.ua/3BhS5Gw
FoxmindEd в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
Мой Telegram: t.me/nemchinskiyOnBusiness
Для деловых запросов: youtube@foxminded.ua
Тайминг:
00:00 - Вступление
00:24 - Общие вопросы
04:41 - Платформа .NET
06:34 - Классы, структуры и интерфейсы
07:13 - Базы данных
08:18 - Тестирование

Опубликовано:

 

16 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 290   
@SergeyNemchinskiy
@SergeyNemchinskiy Год назад
Регистрация на C#/.NET менторинг тут - go.foxminded.ua/41qgnZy
@user-wr6tk5up1m
@user-wr6tk5up1m Год назад
Как зарегистироваться если я из Беларуси?
@Serhii-TV
@Serhii-TV Год назад
Здравствуйте Сергей, сделайте пожалуйста видео с Иваном Головачом. Интересно где он сейчас.
@xeither289
@xeither289 19 дней назад
БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@xeither289
@xeither289 19 дней назад
​@@user-wr6tk5up1m❤БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@xeither289
@xeither289 19 дней назад
​@@Serhii-TV❤БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@spjlesher759
@spjlesher759 11 месяцев назад
1. Изучить основные принципы ООП ( с помощью метонита ) 2. От какого класса неявно наследуются все классы в .Net 3. Разрешено ли множественное наследование в c#? 4. Как вы понимаете REST? 5. Что такое exception? 6. Что такое garbage collector на базовом уровне? 7. Какие типы данных вы знаете ?/ коллекции / структуры данных 8. Что такое тип значения, а что такое тип ссылки 9. Что из этого class, а что struct 10. В каком участке памяти они хранятся? 11. Что такое boxing и unboxing? 12. какие знаете коллекции ? 13. Чем отличается абстрактный класс от интерфейса ? 14. Зачем нужны интерфейсы и какие задачи они выполняют ? 15. Разница между структурой и классом 16. Привести примеры структур 17. Изучить асинхронность 18. Что такое асинхронность и чем она отличается от многопоточности? 19. Какие типы join существуют в sql? 20. Недостатки, отличая joinов и в каких случаях что используется 21. Зачем нужны unit тесты? 22. Какие преимущества и недостатки использования unit тестов? 23. Из каких трех логических блоков состоит unit тест ?
@artemky3bmu45
@artemky3bmu45 10 месяцев назад
Основные принципы ООП (объектно-ориентированного программирования) включают: Инкапсуляция: скрытие внутренних данных и методов объекта от прямого доступа, обеспечение доступа к ним через публичные интерфейсы. Наследование: возможность создания новых классов на основе существующих, наследование их свойств и методов. Полиморфизм: использование одного интерфейса для представления различных типов объектов, позволяет использовать объекты разных классов через общий интерфейс. Абстракция: выделение общих характеристик объектов и создание абстрактных классов или интерфейсов для их представления. В .NET все классы неявно наследуются от базового класса System.Object. В C# не разрешено множественное наследование классов (то есть класс не может наследовать от нескольких классов), однако множественное наследование интерфейсов разрешено. REST (Representational State Transfer) - это архитектурный стиль разработки программного обеспечения, который определяет набор ограничений и принципов для построения распределенных систем. RESTful веб-API обеспечивает взаимодействие между клиентом и сервером с использованием стандартных HTTP-методов, URL-адресов и представлений ресурсов. Exception (исключение) - это объект, который представляет ошибку или исключительную ситуацию, возникшую во время выполнения программы. Когда возникает исключение, выполнение текущего потока прерывается, и поиск исключения начинается в стеке вызовов, пока не будет найден обработчик исключения или программа завершится. Сборщик мусора (garbage collector) - это механизм в среде выполнения .NET, который автоматически управляет памятью, выделенной для объектов. Он отслеживает объекты, которые больше не используются в программе, и освобождает выделенную ими память, чтобы она могла быть использована для других целей. В C# известны следующие типы данных: Примитивные типы: целочисленные типы (int, long, byte и т. д.), типы с плавающей точкой (float, double), символьный тип (char), логический тип (bool). Строковый тип (string): представляет последовательность символов. Массивы (arrays): упорядоченные наборы элементов одного типа. Списки (List), множества (Set), словари (Dictionary) и другие коллекции: предоставляют удобные структуры данных для хранения и обработки групп элементов. Структуры (struct): пользовательские типы данных, которые могут содержать поля и методы, похожие на классы, но передаются по значению. Пользовательские классы (class): определенные пользователем типы данных, которые могут содержать поля, свойства и методы. Тип значения (value type) - это тип данных, который хранит свое значение непосредственно в памяти, независимо от ссылки на него. Значения типа значения хранятся в стеке памяти и копируются при присваивании или передачепараметра в методы. Тип ссылки (reference type) - это тип данных, значения которого хранятся в куче памяти, а переменная содержит ссылку на это значение. Переменная типа ссылки не содержит само значение, а лишь ссылку на него. При присваивании или передаче параметра в метод копируется только ссылка на значение, а не само значение. class и struct являются ключевыми словами в C# для определения пользовательских типов данных. ```class` используется для создания ссылочных типов. Экземпляры классов создаются в куче памяти, а переменные содержат ссылку на эти объекты. Классы поддерживают наследование, множественное вхождение в интерфейсы и динамическое связывание. ```struct` используется для создания значимых типов. Экземпляры структур создаются в стеке памяти или встроенном в другой объект, а переменные содержат само значение структуры. Структуры обычно имеют небольшой размер и передаются по значени. Объекты классов хранятся в куче памяти, в то время как значения структур хранятся в стеке памяти. Куча - это область памяти, в которой выделяются и освобождаются блоки памяти динамически во время выполнения программы. Стек - это область памяти, в которой хранятся временные данные, такие как локальные переменные и вызовы методов. Boxing и unboxing - это процессы преобразования значимых типов (типов значения) в ссылочные типы (типы ссылок) и обратно. Boxing - это процесс упаковки значения типа значения в объект типа System.Object или его производного типа. Например, когда значение типа int упаковывается в объект, оно становится ссылкой на объект, содержащего это значение. Unboxing - это процесс извлечения значения из упакованного объекта и преобразования его обратно в значение типа значения. Например, при unboxing объекта типа System.Object в значение int значение извлекается из объекта и приводится к соответствующему типу. Некоторые известные коллекции в C#: List: упорядоченная коллекция элементов с динамическим размером. Dictionary: коллекция пар "ключ-значение" с быстрым доступом к элементам по ключу. HashSet: коллекция уникальных элементов без повторений. Queue: коллекция элементов с доступом в порядке "первый пришел - первый вышел" (FIFO). Stack: коллекция элементов с доступом в порядке "последний пришел - первый вышел" (LIFO). LinkedList: двусвязный список элементов с эффективной вставкой и удалением элементов. ObservableCollection: коллекция, которая предоставляет уведомления об изменениях в своих элементах.
@artemky3bmu45
@artemky3bmu45 10 месяцев назад
Отличия между абстрактным классом и интерфейсом: Абстрактный класс может содержать как реализацию методов, так и абстрактные методы, в то время как интерфейс может содержать только сигнатуры методов и свойств без их реализации. Класс может наследовать только один абстрактный класс, но реализовывать несколько интерфейсов. Абстрактный класс может иметь поля и конструкторы, а интерфейс может содержать только сигнатуры методов и свойств. Абстрактный класс может предоставлять базовую реализацию методов, которую наследующие классы могут переопределить, в то время как интерфейс не предоставляет реализацию методов. Интерфейсы используются для определения контрактов, которые классы должны реализовывать. Они определяют сигнатуры методов, свойств и событий, но не предоставляют реализацию. Задачи, которые выполняют интерфейсы: Определение общих методов и свойств, которые должны быть реализованы классами, чтобы обеспечить единый интерфейс взаимодействия. Разделение поведения между несвязанными классами. Реализация множественного наследования через интерфейсы, поскольку класс может реализовывать несколько интерфейсов одновременно. Разница между структурой и классом: Структуры являются типами значений (value types), в то время как классы являются ссылочными типами (reference types). Структуры передаются по значению, а классы передаются по ссылке. Структуры обычно используются для представления простых значений, а классы - для более сложных объектов и функциональности. Структуры не могут наследоваться и не поддерживают наследование, а классы могут наследоваться и быть наследниками других классов. Примеры структур: Point: структура, представляющая точку с координатами X и Y. Rectangle: структура, представляющая прямоугольник с координатами верхнего левого и нижнего правого углов. DateTime: структура, представляющая дату и время. TimeSpan: структура, представляющая промежуток времени. Асинхронность (асинхронное программирование) в программировании относится к возможности выполнять задачи независимо от основного потока выполнения программы. Асинхронные операции позволяют продолжать выполнение других задач во время ожидания завершения операции ввода-вывода, долгих вычислений или запросов к базе данных. Асинхронность отличается от многопоточности следующим образом: В асинхронном программировании нет необходимости создавать и управлять явными потоками, что делает его более легким в использовании. В асинхронном программировании операции могут быть выполнены на одном потоке без блокировки, что позволяет более эффективно использовать ресурсы. Асинхронностьпозволяет создавать отзывчивые приложения, которые не блокируются во время выполнения длительных операций, таких как сетевые запросы или обращения к базе данных. В многопоточности операции выполняются параллельно на разных потоках, в то время как в асинхронности операции могут выполняться последовательно, но без блокировки основного потока выполнения. В SQL существуют следующие типы объединений (join): INNER JOIN: Возвращает только те строки, которые имеют совпадающие значения в обоих таблицах, участвующих в объединении. LEFT JOIN (или LEFT OUTER JOIN): Возвращает все строки из левой (первой) таблицы и соответствующие строки из правой (второй) таблицы. Если в правой таблице нет совпадающих значений, то для них будут возвращены NULL значения. RIGHT JOIN (или RIGHT OUTER JOIN): Возвращает все строки из правой (второй) таблицы и соответствующие строки из левой (первой) таблицы. Если в левой таблице нет совпадающих значений, то для них будут возвращены NULL значения. FULL JOIN (или FULL OUTER JOIN): Возвращает все строки из обеих таблиц и заполняет NULL значениями для неподходящих строк. CROSS JOIN: Производит декартово произведение двух таблиц, возвращая все возможные комбинации строк. Недостатки и отличия различных типов объединений (join) зависят от конкретной задачи и структуры данных: INNER JOIN: Возвращает только строки с совпадающими значениями в обеих таблицах. Если в таблицах отсутствуют совпадающие значения, соответствующие строки не будут возвращены. LEFT JOIN: Возвращает все строки из левой (первой) таблицы, независимо от наличия совпадающих значений в правой (второй) таблице. Если в правой таблице нет совпадающих значений, будут возвращены NULL значения. RIGHT JOIN: Аналогично LEFT JOIN, но возвращает все строки из правой (второй) таблицы, независимо от наличия совпадающих значений в левой (первой) таблице. Если в левой таблице нет совпадающих значений, будут возвращены NULL значения. FULL JOIN: Возвращает все строки из обеих таблиц, заполняя NULL значениями для неподходящих строк. Может создавать большие результаты и быть менее эффективным в использовании ресурсов. CROSS JOIN: Производит декартово произведение таблиц, возвращая все возможные комбинации строк. Результат может быть очень большим, особенно для больших таблиц. Unit-тесты используются для автоматизированной проверки отдельных частей кода (обычно отдельных методов) на корректность и соответствие ожиданиям. Они помогают обнаруживать ошибки и проблемы в коде на ранних стадиях разработки и обеспечивают уверенность в работоспособности тестируемых компонентов.
@artemky3bmu45
@artemky3bmu45 10 месяцев назад
Преимущества использования unit-тестов: Обеспечивают автоматическую проверку корректности кода: Unit-тесты позволяют автоматически проверить, что отдельные части кода работают правильно и соответствуют ожиданиям разработчика. Обнаруживают ошибки и проблемы на ранней стадии разработки: Unit-тесты позволяют обнаружить ошибки и проблемы в коде на ранних этапах разработки, что помогает их быстро исправить и предотвращает их распространение в другие части системы. Улучшают качество кода и его структуру: При написании unit-тестов разработчику необходимо разбить код на более маленькие тестируемые части, что способствует улучшению архитектуры и структуры кода. Облегчают рефакторинг: Наличие хорошо написанных unit-тестов позволяет уверенно проводить рефакторинг кода, так как тесты помогают обнаружить возможные нарушения функциональности после внесения изменений. Повышают надежность и поддерживаемость кода: Unit-тесты служат документацией к коду и помогают быстро проверить, что изменения в коде не сломали уже существующую функциональность. Недостатки использования unit-тестов: Требуют времени и ресурсов: Написание и поддержка unit-тестов требует времени и усилий со стороны разработчика. Необходимо обеспечить покрытие тестами всех важных частей кода, что может быть трудоемкой задачей. Могут быть сложными для написания и поддержки: Некоторые части кода могут быть сложными для тестирования, особенно в случае с взаимодействием с внешними ресурсами или зависимостями. Иногда требуется использовать моки или заглушки, чтобы изолировать код от внешних зависимостей. Не гарантируют отсутствие ошибок: Наличие unit-тестов не гарантирует полное отсутствие ошибок в коде. Тесты могут не покрывать все возможные сценарии использования или не обнаружить некоторые сложные ошибки. Могут увеличить время разработки: Написание и поддержка unit-тестов требует дополнительного времени, что может увеличить время разработки проекта. Unit-тесты обычно состоят из трех логических блоков, известных как "AAA" (Arrange, Act, Assert): Arrange (Подготовка): В этом блоке происходит подготовка окружения для тестирования. Создаются необходимые объекты, настраиваются зависимости и устанавливаются начальные условия. Act (Действие): В этом блоке выполняется тестируемое действие или вызывается метод, который должен быть протестирован. Assert (Утверждение): В этом блоке проверяются результаты выполнения теста. Сравниваются ожидаемые значения с фактическими результатами, чтобы убедиться, что код работает правильно.
@user-rh7ww9wd9b
@user-rh7ww9wd9b 9 месяцев назад
Привет всё есть строка string str = "Hello"; Как мне вывести еë вот так H He Hel Hell Hello
@pody8205
@pody8205 9 месяцев назад
​@@user-rh7ww9wd9bСамое простое через for (int i до длины строки) writeline(str.substring(0,i)
@sahibrzayev8968
@sahibrzayev8968 Год назад
Благодарю Сергей !!! Надеюсь сделаете в будущем вторую часть 🔥
@sergioramos9052
@sergioramos9052 Год назад
Сергей, спасибо огромное за видео. Давно его ждал
@user-lg9qv5bz8b
@user-lg9qv5bz8b Год назад
Спасибо, Сергей, огромное! Вырос как разработчик на ваших видео, 3 года - полет нормальный, перехожу на C# Backend, очень в тему для кругозора :)
@evgenyjagushinsky6695
@evgenyjagushinsky6695 Год назад
Как всегда всё понятно и достОйно рассказано, Сергей! Дай Бог здоровья тебе и твоим близким
@slippers__
@slippers__ Год назад
Спасибо за видео, очень интересно было бы узнать про PHP
@user-nb6ln5jm1g
@user-nb6ln5jm1g Год назад
Полезная информация, спасибо большое!)
@sergeykolesnikov6333
@sergeykolesnikov6333 5 месяцев назад
Благодарю Вас, Сергей, за Ваши видео! Очень полезно, содержательно и мотивирующе.
@ShomLZ
@ShomLZ Год назад
Отличное видео, спасибо.
@jongaur8097
@jongaur8097 Год назад
спасибо за видео! давай такое же по фронтенду :)
@VladislavGnatiuk
@VladislavGnatiuk Год назад
Привет, спасибо за видео. Сделай пожалуйста так-же по С++
@unfeastbeats986
@unfeastbeats986 Год назад
Спасибо за видос!
@Kriptio
@Kriptio Год назад
Теперь мы просим точно такое же видео для nodejs и фронтэнда ,не ну а че,мы же джаваскриптизеры тоже видлсика отдельного заслуживаем (двух) :)
@DoctorKrolic
@DoctorKrolic Год назад
Не знаю, как там в Java, но в C# начинающие разработчики почти не пишут sql руками. "Стандартная" ORM для C# - Entity Framework Core, очень хорошо абстрагирует от sql и его диалекта для конкретной бд. Можно заджоинить 5 таблиц, особо не осознавая этого) Писать sql самому приходится только в специфических случаях, с которыми новички вряд ли сталкиваются. Это и хорошо и плохо одновременно. Поэтому, наверное, вопрос про то, что такое джоины и какие они бывают лучше, чем попросить написать sql самому, ибо человек просто растеряться может. С другой стороны, думаю, и то и другое встречается на реальных собесах
@donlinoleum831
@donlinoleum831 Год назад
Во-во). Как я понимаю, в современном мире ведь чистым sql редко орудуют. В основном ведь все через orm идет. Конечно, полезно знать что там идет внутри, но что бы прям обязательно. Ну хз))
@dest8488
@dest8488 Год назад
когда пишешь учебную прогу с 3 таблицами 10 записями и без order by без проблем, а потом приходишь на "галеру" где какой нибудь очет из БД генерируется из 10 таблиц с 100 000+ записей, с кучей order by. Удачи тебе с EF и производительностью. EF инструмент хороший, но нужно уметь в базовый SQL и понимать во что генерится твой Linq в EF.
@DoctorKrolic
@DoctorKrolic Год назад
@@dest8488 Ну значит вы не умеете пользоваться EF. Он отлично вам построит запрос и с ORDER BY, и с джоинами. Другой вопрос, что если программист не понимает, что там под капотом происходит и инклюднет все таблицы, заставив их заджоиниться целиком, то да, это гг. Но это уже вопрос об умении пользоваться EF, а не sql
@dest8488
@dest8488 Год назад
​@@DoctorKrolic он то построит, но будет ли этот запрос эффективен по времени выполнения? Учить EF не зная SQL, это как считать на калькулятора не зная правил арифметики, рано или поздно наступит момент когда ты поделишь на 0 и будишь долго тупить, а если еще и на проде... Может легче все таки было бы выделить на базовый SQL неделю.
@DoctorKrolic
@DoctorKrolic Год назад
@@dest8488 Ну, если составить нормальный EF-запрос, то он его нормально в Sql и перестроит. Парадокс ещё в том, что для того, чтобы понимать, что в запросе не так, нужно чуть больше уровень, чем базовый sql за неделю. В любом случае, это задача на чтение sql, а не на написание. А на собесе как раз будут долбать, мол "а напиши мне ..."
@macmyem9527
@macmyem9527 Год назад
От Object Нет, но разрешена множественная реализация интерфейсов Rest - стиль, позволяющий проще обмениваться данными между небольшими приложениями для удобства масштабирования всей структуры. Exception - предоставляет возможность отследить непредвиденные ошибки, другие наследуемые от него Исключения более конкретизирует назначение их самих в той или иной ситуации. Garbage Collector работает автоматически и выгружает из памяти уже не нужную информацию. В некоторых ситуациях необходимо ручное указание в коде для его использования или нет. shortint, int, long, float, double, emun, string (класс), DateTime и прочие Тип значение - непосредственно само значение из простых сипов данных, тип Ссылка это уже классы по типу String, где информация хранится в виде ссылки на другую ячейку памяти со значением или набором значений. NullPointer или null Коллекции List, Dictionary, разные хэш-таблицы - одна из главных особенностей имеют встроенные методы для работы с ней на максимально оптимизированном уровне. Интерфейс не имеет реализации ни одного из методов внутри, абстрактный класс может имеет хотя-бы частичную реализацию методов. Интерфейсы нужны в качестве обязательств, которые обязательно должны быть в реализующем этот интерфейс классе. Данные классов передаются по ссылке, а структуры копируются. многопоточность - одна задача выполняется как разделенная на части на процессоре, асинхронность подразумевается выполнение на нескольких процессорах разных машин. Inner Join (от же обычный Join), left join, right join, cross join - в разной степени нужны для включения результатов из дополнительной таблицы связанной по данным, которые будут или нет выводить сами данные и в зависимости от их наличия будут или нет выдавать NULL в качестве отсутствующих значений. Unit тесты нужны для больших проектов, проще говоря, где требуется быстро проверить, не отвалилось ли чего в процессе последних изменений в коде. Занимают много времени на их написание, но упрощают исправление и улучшения кода в целом. Состоит из настройки каждого конкретного теста и использования в комплекте или по одиночке, какой третий логический пункт понятия не имею либо не понял вопроса. Сергей, если прочитаете, напишите, есть ли мне смысл искать работу или все плохо?)
@west8663
@west8663 Год назад
в c# 8.0 может же быть реализация в интерфейсе?
@user-tq3zn1wm1k
@user-tq3zn1wm1k Год назад
По поводу join есть небольшой недочёт. Дело в том, что его функция именно в объедение двух и более таблиц. А дополнительная информация left, right и тд указывает на способ объединения. Если еще проще представить это что то типо диаграммы объединения диаграмм эйлера, в зависимости от контекста может быть разное объединение.
@jonnesfal6024
@jonnesfal6024 Год назад
Ну как максимально короткие ответы на вопросы - ок, как ответы на интервью слишком мало, ну и есть ошибки В Шарпее разрешено множественное наследование интерфейсов и множественная реализация интерфейсов, а множественное наследование классов не разрешено В какой-то их последних версий дали возможность писать реализацию внутри интерфейсов, но с жуткими ограничениями Многопоточность - это одновременное выполнение нескольких задач на разных потоках(тредах) процессора(ов) (или одной задачи, разбитой на несколько разных) Thread, ThreadPool, BackgroundWorker, Parallel, PLINQ, Task. Aсинхронность - выполнение нескольких задач с быстрым переключением между ними Асинхронность может быть многопоточной(параллельной) Task, async/await . Пример, есть UI и какаянить CPU Bound задача - ну пусть будет подсчет факториала и еще IO Bound задача - запрос к БД. При многопоточной реализации, мы все три задачи вешаем на три разных потока и они выполняются параллельно на них. При асинхронной - мы запускаем все три задачи на одном потоке, и поток постоянно быстро переключается между задачами, так что и UI не тормозит и факториал наш считается и запрос к БД ожидается(если конечно вычислительных мощностей хватает), при асинхронной многопоточности, задачи прыгают между потоками, например UI может всегда висеть на одном потоке, потом мы сделали IO Bound задачу (запрос к БД) тогда из тредпула выделяется еще поток, который обращается к бд и ждет ответа, пусть ответ придет через 30 секунд. Тут мы еще запускаем подсчет нашего факториала(CPU Bound). Т.к. ожидание ответа IO Bound и не требует вычислительных мощностей, то поток переключается на задачу вычисления факториала и считает его 40 секунд, за это время БД прислало ответ на запрос, и тогда выделяется третий поток и он уже принимает ответ от БД. Тем самым у нас при обычное многопоточности было 3 разных потока, каждый занимался своим делом, какие-то полезным CPU Bound: UI и факториал, а другой простаивал в спинвеит 30 секунд в IO Bound задаче, ожидая ответа от БД, а при асинхронном многопоточном сценарии у нас поток не блокировался на IO Bound задаче, а пошел выполнять CPU Bound задачу, а при получении ответа от БД, эту задачу подхватил другой поток. Все это тоже достаточно упрощено, вообще многопоточность - это огромная тема и TAP (Task Async* Pattern) сильно упростило вкатывание в неё. По тестам - состоят из трех логических блоков паттерна AAA (не посню как он расшифровывается, помню вторая A - act): этап подготовки- объявление переменных, создания классов и т.п. Этап самого тестирования (Действие) - этап где мы запускаем тестируемый код. И, наконец, третий этап - Этап проверки (Asset) где мы проверяем получили ли мы тот результат, который ждали
@darkhekromant
@darkhekromant 11 месяцев назад
Про асинхронность дичь какую-то написал. Асинхронность, это когда ты отправил, например, запрос к сетевому апи, пошел дальше что-то делать, а потом вернулся и проверил ответ. В основе обычно лежит простой цикл перебора. Это гораздо дешевле, чем создавать поток и позволяет одновременно выполнять гораздо больше задач, если их большая часть времени выполнения - просто ожидание ответа.
@darkhekromant
@darkhekromant 11 месяцев назад
Интерфейс - это контракт, который класс должен исполнять, например опредленный набор методов с заданной сигнатурой. Абстрактный класс - базовый класс, экземпляр которого нельзя создать; может не имееть реализации части методов/свойств. Какого-то прямого отношения к реализации это в общем то не имеет
@user-fj4wn4ur6j
@user-fj4wn4ur6j 8 месяцев назад
Спасибо за Ваш труд! Сделайте пожалуйста такое же видео по ios-разработке)
@Infinity-ua
@Infinity-ua Год назад
Спасибо за видео !
@user-ik4rw9uf3l
@user-ik4rw9uf3l Год назад
Очень ждем для Python, очень благодарен вам за ваш труд.
@Inclydi
@Inclydi Год назад
Супер відео ) дякую за інфу хоч і я не junior фле було декілька що не зразу відповів би )
@user-zn8jl7go2s
@user-zn8jl7go2s Год назад
Сергей, скорее всего вам придётся выпустить ряди таких видео, по всем языкам программирования :)
@user-ml6qt1kg4g
@user-ml6qt1kg4g Год назад
Добрый день, понравилось это видео, можете сделать видео что должен знать junior QA и UX UI designer
@alexandertattoo_spb1958
@alexandertattoo_spb1958 Год назад
супер! сейчас, благодаря видео начал путь в изучение Java, но в универе писали на c++, но видосик по c# я сохраню! так как хочу в будущем понимать хотя бы базово java, с#, и с++
@MERKYRIY-fn5rw
@MERKYRIY-fn5rw Год назад
Не розпиляйся, вибери щось одне і гати)))😂
@alexandertattoo_spb1958
@alexandertattoo_spb1958 Год назад
@@MERKYRIY-fn5rw тоже верно)
@titanovsky
@titanovsky 5 месяцев назад
Большое спасибо.
@denisbragin4264
@denisbragin4264 Год назад
Сергей, респект😊
@user-fu5ff6zq7m
@user-fu5ff6zq7m Год назад
гарне відео хоч і вчусь не на С# розробника)) було б круто пройтись по всім ТОП 10 мовам програмування)) дякую за відео))
@user-hw1zc7vi2w
@user-hw1zc7vi2w 9 месяцев назад
Ти ж моє сонечко❤❤❤. Більше б таких людей
@NickOlifirovych
@NickOlifirovych Год назад
Привет, спасибо за видео. Сделайте пожалуйста так-же по Python
@neonsun6162
@neonsun6162 Год назад
давно не был на собеседование, но что-то вопросы странные. Это скорей вопросы на экзамен, чем на собеседование. Достаточно знание общих принципов, всё остальное можно подтянуть по мере надобности. Разработка сегодня стала слишком объемной и всё в голове не удержишь, хотя конечно если писать только в одном языке и больше ничем не заниматься, то наверное стоит знать как можно больше об этом языке. А в C# еще много всего интересного. Сколько лет в нем пишу и все равно иногда открываю что-то новое
@mitsuro3815
@mitsuro3815 Год назад
а вы уже Senior С# dev? Backend?
@neonsun6162
@neonsun6162 Год назад
@@mitsuro3815 скорей Full Stack Web Developer, делаю всё что придется. Просто C# это то, с чем я работал больше всего, ну и в принципе этой мой любимый язык) Но обычно это только часть проекта и делать приходиться много чего другого, поэтому изучать полностью что-то одно, нет смысла и времени. Достаточно разобраться в том, что требуется для выполнения задачи.
@rexdraconis1703
@rexdraconis1703 Год назад
Дадада, я вроде не так уж мало пишу, но каково же было удивление, когда я узнал что можно функцию в методе создавать... А вроде штука базовая должна быть.
@mvttofficial
@mvttofficial Год назад
Ждем по JavaScript
@dianashakirova2614
@dianashakirova2614 Год назад
Жду базу для Джава-Скриптизера!!!
@user-bk5nn6sc8y
@user-bk5nn6sc8y Год назад
Інформативне відео, дякую за вашу працю! Зробіть, будь ласка, такий же формат по С++ 🙂
@arsen_kh_8445
@arsen_kh_8445 Год назад
Очень интересное видео Можете, пожалуйста, сделать такое же видео, но об iOS разработке
@tor19v
@tor19v Год назад
Интересно было бы глянуть такой же видос для анрдоида, видео получилось информативное
@johnsilver3804
@johnsilver3804 Год назад
Entity framework, вот как мы с базами работаем)))
@user-wv8xz3vi3l
@user-wv8xz3vi3l Год назад
по поводу join. по моему опыту не надо писать сложные запросы в коде, нужно создавать или stored procedure или views и работать уже с ними со стороны бэка. и да, я как сениор сходу не смог ответить на все вопросы))
@user-dv1nc2xo2w
@user-dv1nc2xo2w Год назад
Весело. И как тогда нам любителям вкатывать в IT. :)
@cliobro3890
@cliobro3890 Год назад
@@user-dv1nc2xo2w А вот это уже, не их проблема...
@user-dv1nc2xo2w
@user-dv1nc2xo2w Год назад
@@cliobro3890 это понятно. :)
@user-wv8xz3vi3l
@user-wv8xz3vi3l Год назад
@@user-dv1nc2xo2w да не не парься. это как зуюрежка экзамена сдал и забыл.
@nerewan
@nerewan Год назад
я бы предложил тогда не разбивать логику на содержащуюся непосредственно в основной приложухе и на хранимки в субд, а перенести код хранимых процедур и вьюх в ресурсы приложения это упростит контроль версий + код будет в одном месте на текущем проекте частенько возникают сложности из-за того, что бизнес-логика вот так вот разбита на две части, намучился разбираться в хитросплетениях)
@mike_gachan
@mike_gachan Год назад
Почти всё это есть в книге шилдта под C#, можете прочитать, она даже на русском языке есть, большая часть правда из этого может вам особо никогда и не понадобится, но ради интереса почитать можно. (:
@qrthack3233
@qrthack3233 5 месяцев назад
Привет, у меня такой вопрос, коммерческого опыта нет, знаю C, Python, люблю Computer Science. Хочу в backend, выбираю между Java, C#, Golang что посоветуешь, и почему? интересно твое мнение.
@fada9238
@fada9238 Год назад
Единственное, чего я не знаю - это REST и вопросы по тестированию. Слегка неуверен в работе с базами данных. То есть, на словах - я осознаю в чём разница между разными видами JION'ов, но на практике - я какие запросы не писал, разницу видел лишь между INNER и OUTER. Между LEFT и RIGHT - какую тестовую базу данных не строил(вероятно это я просто не умею их проектировать), а запросы всегда были одинаковыми по возвращаемому содержанию! Разве что имели разный порядок строк, тогда как я ожидал увидеть нечто иного содержания.
@vasa7572
@vasa7572 Год назад
Давно подписан на этот канал. Интересно. Серёж, а не мог бы ты сделать обзор от программиста принципов тестирования. Их семь. Они описывают ошибки в разработке, но как-то не очень по-разработчески. Какие-то идеи мне ясны, какие-то рассказчики не могут толком объяснить "а чё так?" В общем, рассказывают как QA2QA, а хочется лучше понять, что происходит. С уважением, QAE
@motivator3d
@motivator3d Год назад
Приятного просмотра😊
@johnsilver3804
@johnsilver3804 Год назад
А wpf, asp, blazor, angular, entity можна пропустить, і одразу роботу шукати?
@nurken2345
@nurken2345 Год назад
Здравствуйте Сергей, можете сделать такое видео про Php. Салам из Казахстана
@_curtman
@_curtman Год назад
Ну хз. У меня ничего из этого на последнем собеседование не спрашивали. Вопросы больше были по технологиям типо Entity framework или Dependecy injection. Сейчас ведь недостаточно знать только язык, нужны фрэймворки.
@user-ey8ff2gd9p
@user-ey8ff2gd9p Год назад
Для будущих Питонистов такое видео снимете?
@m_maksym
@m_maksym Год назад
з того що не прозвучало, були питання: SOLID, різниця stack-heap, паттерни, ну і ще всяке так з наскоку не згадаю. Але багато народу просто беруть і задають питання з ваших відосів типу "що знати джуну" і кривляться коли називаю паттерн сінглтон і повторюють Ваші слова майже дослівно)) тож піду погуглю трохи бо вже позабував дещо.
@Moonrider7777
@Moonrider7777 Год назад
SOLID, різниця stack-heap, паттерни, -це ,мабуть, стосуєтся будь якої мови строгої типизації, не тільки С#
@avusar2702
@avusar2702 Год назад
Не понимаю, зачем C# разработчику знать типы джоинов, если Entity Framework уже за него делает эти самые джоины. Если знаете, скажите, с какой целью вообще писать голый SQL запрос в коде, а не использовать уже придуманные инструменты?
@aokijikuzan2131
@aokijikuzan2131 Год назад
Если джун учил сразу EF Core, то рабоать с базой он в полне сможет, и не только join, а даже select не напишет
@folium5725
@folium5725 Год назад
Здравствуйте Сергей! Спасибо за видео) Ждём такое же видео, но уже по языку HTML🤡, уже очень долго учу этот язык программирования🤡🤡
@artemmm095
@artemmm095 Год назад
К чему этот подкол? К тому что разработчик определяется не по языку, а по специализации?
@olegkovalenko2797
@olegkovalenko2797 Год назад
HTML не мова програмування
@goldgold594
@goldgold594 Год назад
Знаю все из перечисленного в видео на хорошем уровне, работу не могу найти даже Trainee уже пол года. Привет из россиюшки
@mitsuro3815
@mitsuro3815 Год назад
А какие вопросы ещё задавали на собесах? Или имеется ввиду, что вакансий нет?
@yehortverytinov5478
@yehortverytinov5478 Год назад
Ждем по Golang
@rexdraconis1703
@rexdraconis1703 Год назад
Как то легко... Я что зря асп нет и ангуляр учил, со всякими библиотеками по типу SignalR... Короче надо будет реально работу начать искать, обнадеживающие видео.
@user-ls6tj4nz5c
@user-ls6tj4nz5c Год назад
Сергей, давайте про пхп
@nomugop8017
@nomugop8017 Год назад
а чистой архитектуры к них нет ? или solid для всех един ?
@user-st8yq5rw8x
@user-st8yq5rw8x Год назад
Что по python ?
@ei2292
@ei2292 9 месяцев назад
Посоветуйте книгу по sql для чайника под c#
@deprussian
@deprussian Год назад
Теперь давайте о Golang'е
@yabarm
@yabarm Год назад
Давай по питону такое же видео))
@user-tv4ju7ps2u
@user-tv4ju7ps2u Год назад
Здравствуйте, Сергей я попробовал пройти по вашей ссылке на обучение C# у меня отобразилось окно о запрете владельцем . Подскажите вы не обучаете пользователь с РФ или это ютб запрет выдаёт? Заранее спасибо за ответ .
@Infinity-ua
@Infinity-ua Год назад
Нет, конечно не обучают.
@travoltik
@travoltik 3 месяца назад
Каким образом они будут обучать студентов из РФ, если они не смогут за обучение заплатить? Банки РФ изолированы от всего мира, ты никому не сможешь перевести денег, кроме как Беларуси через МИР и то не везде.
@notdeadyet6512
@notdeadyet6512 Год назад
Действительно если знать это все можно искать работу? Мне кажется этого мало
@xeither289
@xeither289 19 дней назад
❤БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@user-wr2mp9gm1w
@user-wr2mp9gm1w Год назад
А по Scala сделайте)
@fficktiff
@fficktiff Год назад
Куда-то стримы пропали(
@user-oz6xm9zp9d
@user-oz6xm9zp9d 4 месяца назад
блин, меня по фронтовым вопросам как джуна помню так е..ли на собесах. ts js react вопросов по 15-20 плюс задача и практика. на бэке чё реально такие вопросики?
@vova9962
@vova9962 Год назад
Давайте таке ж про react, php, node...
@stark1902
@stark1902 Год назад
Досмотрел до 1.50. не смог удержаться чтобы не написать - бегите как от огня от тех всех кто абстракцию называет мало того что именно принципом ООП, а одним из основных принципов ООП! Особенно бегите оттуда когда интервьювер на техническом собеседовании утверждает, что основных принципов ООП 4, и четвертый это абстракция. Запомните. Как было три основных принципа ООП, так и будет всегда. И по меньше читайте индусов)
@user-ff3lk3ft1f
@user-ff3lk3ft1f Год назад
Можно на c++
@newm_2002
@newm_2002 Год назад
Давай про Go junior
@Dima-fr8cw
@Dima-fr8cw Год назад
Можно такое же видео но о Rust?)
@USER_____Oo_____USER
@USER_____Oo_____USER Год назад
Давай ещё по питону))
@austinpowers8850
@austinpowers8850 Год назад
А можно такое же для Python?... Очень просим ) (я и жена )))))
@user-fb6of7uy4w
@user-fb6of7uy4w Год назад
Здравствуйте)
@sergei1412
@sergei1412 Год назад
Ребята, может кто-то посоветовать с чего лучше начать основы безопасности??
@EarthCitizen124
@EarthCitizen124 Год назад
Про JOIN-ы и работу с базой в C# ... знать надо 100% Но Вы, Сергей, в Java вообще ORM используете?)) Некоторые фигачат простые CRUD сервисы даже не зная как Entity Framework запрос транслирует и во что)) И прекрасно живут... и получают свои ЗПшки на галлерах))
@tututu6425
@tututu6425 5 месяцев назад
А как же умение пользоваться GitHub
@muratfaizmf
@muratfaizmf Год назад
gracias
@maxyablochkin4313
@maxyablochkin4313 Год назад
Круто, а теперь про мобильную разработку
@yari_la
@yari_la 2 месяца назад
А чё делать, если меня даже до собеса не берут, постоянно тестовые задания какие-то
@user-skrivosein
@user-skrivosein Год назад
Null reference называется. Но можно и null pointer
@user-lf6bl7jf3p
@user-lf6bl7jf3p Год назад
На каком языке можно писать и сайты и моб приложения и дескотные приложения?
@user-kd9fl9yj9v
@user-kd9fl9yj9v Год назад
Как раз таки c# себя и позиционирует, насколько я знаю, как язык-универсал. Хоть игры в unity на нём пишутся
@errantwanderer
@errantwanderer 9 месяцев назад
Вопрос про sql странный, аля: "Вы точно разработчик C#, если не знаете JOIN", ну как бэ, я могу быть разработчиком мобильных приложений на Unity, там используется C#, но не используется sql, wtf dude
@Zaenaks
@Zaenaks Год назад
Давайте відео "Що потрібно знати Python Junior"!
@dolbolesya
@dolbolesya Год назад
1. Принципы ООП Наследование - у нас есть базовый класс (например юзер) и от него наследуются ещё два класс,, например админ и модератор. Они имеют такие же свойства как юзер, но в отличии от него, могут иметь свои поля/методы Инкапсуляция - инструмент защиты класса от маслят Полиморфизм - создание одноименных методов см разным функционалом Абстракция - почти тот же класс, но уже не с полным функционалом. 2. Object 3. Нет 4. Rest
@dolbolesya
@dolbolesya Год назад
Rest - это взаимодействие с апи через юзер интерфейс
@dolbolesya
@dolbolesya Год назад
5. Понимаю для чего нужен эксепшен, но нормально объяснить не могу. Видимо плохо это понимаю😅
@dolbolesya
@dolbolesya Год назад
Сборщик имеет 3 поколения, у третьего есть ещё loh и poh Используется он сам и удаляет из памяти то, уже не будет использоваться. Запускается он раз в тик или когда уже нет памяти
@dolbolesya
@dolbolesya Год назад
7. Тут лёгко, даже перечисливать не буду
@Anna-td4cq
@Anna-td4cq Год назад
а можно для питона?
@Nik-gfg
@Nik-gfg Год назад
Цікаво що потрібно для golang та c lang, бо достатньо дивні мови, за відео дякую
@yuryermolov13
@yuryermolov13 3 месяца назад
По поводу JOIN не согласен. Oracle Database пишут SQL без JOIN используют плюсики (+)
@user-qc7ds5pg5x
@user-qc7ds5pg5x Год назад
А какие обязательные требования знания фреймворка, чтобы искать работу?
@user-wv8xz3vi3l
@user-wv8xz3vi3l Год назад
учи angular
@WorldAwesomeShorts
@WorldAwesomeShorts Год назад
​​@@user-wv8xz3vi3l фронт и js не интересны
@siberiancoder9327
@siberiancoder9327 Год назад
С ооп скользкая тема. Можно ударится в софистику вспомнить про посылку сообщений и подвести к тому, что все популярные языки (C++ java) не ооп, так как они вызывают методы и используют переменные другого класса напрямую.
@mykola_kanyuk
@mykola_kanyuk Год назад
chatGPT видав ще 5-й принцип ООП - composition
@alexandrapersukova
@alexandrapersukova Год назад
от вже чатик)
@Moonrider7777
@Moonrider7777 Год назад
Це генератор маячні по суті
@igorab1
@igorab1 Месяц назад
как по мне, лишнего снобизма много: "точно ли человек разработчик, елси он не пишет joinы в sql запросах". вообще в C# технология Linq родная для языка, с двумя типами синтаксиса, т.е. человек может просто не помнить синтаксис стандартного SQL.. Хотя Linq может уже уровень мидла или сеньора? .. да и в целом вопросы по алгоритмам должны быть и они важнее для понимания - джун, понимающий работу алгоритмов на графах в 10^6 раз ценнее знающего синтаксис SQL
@vatican8153
@vatican8153 Год назад
А можно под Rust?))
@ImyaNety
@ImyaNety 4 месяца назад
А куда он смотрит?
@user-yx9fo3er9r
@user-yx9fo3er9r Год назад
Вопрос немного не по теме, но думаю здесь есть люди, которые разбираются: почему в игровых движках в основном используют С++, а на Юнити С#? Это из-за открытого исходного кода или есть ещё какие-то причины?
@riyazvagapov1449
@riyazvagapov1449 Год назад
По-моему юнити это часть дотнет, поэтому само собой на ней МС сделала упор на Шарп. Имхо
@RodshotOfficial
@RodshotOfficial Год назад
C++ быстрее C#
@Moonrider7777
@Moonrider7777 Год назад
Потому что у производителей движков есть свобода выбора) Если бы я был разработчиком игр, я бы вообще выбрал CryEngine. Там скрипты на Lua и искусственный интеллект , а не только С++, P.S. Последняя версия CryEngine V поддерживает скрипты на С# )
@exactly4234
@exactly4234 6 месяцев назад
В C++ можно напрямую глубже работать с памятью, а также делать вставки из С и Ассемблера, шарп рядом не стоял по возможностям и требованиям к знаниям.
@hairyrope3890
@hairyrope3890 Год назад
Сделайте пожалуйста по Python!!
@pavlu4o695
@pavlu4o695 Год назад
Щас бы курс купить, от такого крутого мужика. «Мы не сотрудничаем с резидентами РФ и РБ» серьезно??? Я думал вы выше такого.
@Xtemple135
@Xtemple135 Год назад
Ахаха, а чего ты ожидал от подобных личностей, как программист он крут, но политика это точно не его)
@arekusei9580
@arekusei9580 Год назад
Мой тебе совет - не стоит обманываться умными словами, которые раскидывает этот мужчина. Любому программисту сразу понятно, что он про реальную разработку и реальный код ничего полезного для джунов не говорит, только какие-то общие абстракции. Собственно поэтому чему-то полезному научить людей он не способен, у него деятельность информатора, а не учителя.
@sansskelet860
@sansskelet860 Год назад
Им просто лень е*аться с системой платежей, для обхода санкций РФ и РБ, поэтому проще написать так.
@user-ex4nd8fs1q
@user-ex4nd8fs1q Год назад
@@Xtemple135 даун? Он из України, хули он должен связь поддерживать, с жителями страны которая на него напала?
@garkin4339
@garkin4339 Год назад
Дякую. А чому нема посила на відео "Що треба знати Java розробнику-початківцю"? Про всяк випадок - ось воно ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-bLzuTIGXVLg.html .
@alexandrapersukova
@alexandrapersukova Год назад
додала в опис)
@fromua2918
@fromua2918 Год назад
От би ще точно таке відео, тільки про Junior Python розробника 😇
@sergeymatpoc
@sergeymatpoc Год назад
во валит-то Немчинский... =) По теме - я не отвечу ни на один, хотя я и не программист. Буду думать что с этим делать дальше =).
@marcotaliente4785
@marcotaliente4785 Год назад
Go: Что должен знать C# Middle разработчик
@pixeji220
@pixeji220 Год назад
По С++ пожалуйста
Далее
FOOLED THE GUARD🤢
00:54
Просмотров 11 млн
🎙ПОЮ твои ЛЮБИМЫЕ ПЕСНИ💥
3:22:10
Java vs C# (C Sharp). Что выбрать?
14:40
Просмотров 239 тыс.
FOOLED THE GUARD🤢
00:54
Просмотров 11 млн