ТОП 15 ВОПРОСОВ И ОТВЕТОВ НА СОБЕСЕДОВАНИИ C# РАЗРАБОТЧИКА

Поділитися
Вставка
  • Опубліковано 22 січ 2025

КОМЕНТАРІ • 68

  • @incredibleBY
    @incredibleBY 11 місяців тому +18

    Ошибки:
    1а."Инкапсуляция - это возможность скрыть..". Нет, инкапсуляция -это не сокрытие. А что? Ответ: (обьединение внутреннего состояния и реализации) +(защита и сокрытие внутренностей)+(интефейс коммуникации .. публичный... в широм смысле (не обязательно public) )
    1b."Полиморфизм подтипов - возможность использовать абстрактные классы и интерфейсы" Нет. Это частный случай.Не полное определение.Это не только использование вышеперечисленного, но и в первую очередь use и обычныех базовых классов в качестве параметров методов вместе с наследниками....да и не только базовых см. контрвариантность...А вообще это "способность метода обрабатывать данные разых типов". И ни каких "интерфесов и абст класоов" в определении сего быть не должно.
    1с. 2:42 "Абстракция - user не должен знать как реализован....итд." Простите. Бред. От начала и до конца.. Вышесканое автором это что-то про термин "сокрытие". Абстракция же, как принцип ООП - это выделение значимого. да .Всего 2 слова... Значимых характеристик, свойств, методов, даже наименований чего-либо ...Чего?Обьектов или не-обьектов c#(например интерфейсов)
    2а."ссылчные типы хранят в себе ссылку на объект в стеке" Не верно. Они хранят ссылку на объект. Эта "ссылка на обьект" не обятельно находится в стеке. может и в куче.It depends от места и формата использования этих объектов в коде...
    2b. "значимые типы храняться в стеке" Ужас. Никогда такого не говорите на собесе. Это очень, очень распространенная ложная формулировка....Правильно сказать: они МОГУТ храниться в стеке
    4. Не сказано более важное смысловое отличает ref от out: в методе с параметром out это параметр обязан быть инициализирован в теле метода.В случае с ref - нет.
    8. 11:46 "а данный метод(Dispose) часто используется для таких операции как чтение или запись.."..полагаю имелось ввиду ..Упоси вас Бог использовать Dispose() для чтения или записи с диска, в бд итд.
    15."Помимо обычных делегатов так же существуют multicast делегаты" Эм.Не верно .Любой обьект обычного делегата, т.е делегатоэа созданного с помощью ключевого слова delegate - это и есть обьект класса MulticastDelegate (точнее производная от него)...который наследуется от abstract class Delegate....и вообще джуну лучше про внутренюю кухню делегатов, не говорить если не спросят.
    Замечания:
    1d. "приведение типов - ad-hoc полиморфизм" - это очень, очень сомнительное утверждение, которые многие в комьюнити не поддерживают.А поддерживают то, что приведение типов - не полиморфизм.
    6. Не сказано про главное: концептуальное отличие: Интерфейс - это контракт Абстр класс - это класс(увы товтология) т.е сущность в иерархии наследования.Т.к c# нет множественного наследования наследования, то даже при одинаковом содержимом абстр класса и интерфеса, при проектировании одного класса, использование в качестве "родителя" интерфейса != использованию абстр класса. У них разная суть. Разные отношения возникают между классами: реализация vs наследование. Это очень важно....и ещё опционально можно акцентировать внимание что нет множественного наследование классов, но есть - интерфейсов...и что структуры могут реализовать интерфейсы
    PS: спасибо за видео автору Все остальное что сказано.Сказано хорошо.
    PPS: пункты 1b, 8, 15 от меня - не очень существенные, и частично доколебки к словам. Но вот пункты 1а, 1с, 2а, 2b, 4 - это ввжно. И они ИМХО критичны для собеседующегося, и если сказаное автором будет повторно - это будет в минус, покажет незнание и/или вызовет дальнейшее уточняющие вопросы
    Готовлюсь к собесу. Наткнулся на видос.Спасибо автору ещё раз. Критикую с целью помощи людям.
    PPS2: Краине малоизвестный факт: обьекты ссылочных типов целикм могут храниться в стеке!!.. см термины " escape analisis" и "скалярізация"

    • @Excalib
      @Excalib  11 місяців тому +1

      Большое спасибо! Очень детально разобрал!

    • @JamesBond-bu8co
      @JamesBond-bu8co 3 місяці тому

      @@Excalib Можно еще добавить ,что с c# 10 в структурах можно создавать конструктор без параметров.

  • @Excalib
    @Excalib  3 роки тому +14

    Это единственный видос, который я сам досмотрел на ютубе, только потому что люблю наблюдать за спидранами)))

  • @myaroslav
    @myaroslav 2 роки тому +3

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

  • @DeMoniaqGRANI
    @DeMoniaqGRANI 3 роки тому +27

    Про инкапсуляцию неверно рассказал, сокрытие - это лишь частный случай инкапсуляции. Основной смысл - это данные и поведение(методы) у объекта находятся вместе и объект рассматривается как чёрный ящик со скрытой реализацией из которого торчат только интерфейсы взаимодействия, а что там внутри(реализация) - неважно. Держу в курсе, что у некоторых языков с ООП нету модификаторов private, но это не отменяет для них инкапсуляцию. Меня за сокрытие не раз на собесах имели, так что знаю, что говорю.

    • @Excalib
      @Excalib  3 роки тому

      инкапсуляция - сокрытие

    • @maxmilevski
      @maxmilevski 2 роки тому +3

      @@Excalib ограничивать понимание инкапсуляции сокрытием - мягко говоря глупо)

    • @DimaBriquez
      @DimaBriquez 2 роки тому +1

      @@maxmilevski поддерживаю

    • @Excalib
      @Excalib  2 роки тому

      А грубо говоря?

    • @PanDurko-ks2hv
      @PanDurko-ks2hv 2 роки тому

      @@Excalib грубо говоря тебя за такое мнение могут уебашить битой в темном переулке. Без обид но инкапсуляция это не сокрытие.

  • @ДмитрийМоржанов
    @ДмитрийМоржанов 3 роки тому +19

    Автор, за видео спасибо, полезно) Только спидран на фоне сильно отвлекает((

  • @duhamuk8802
    @duhamuk8802 3 роки тому +1

    Отличное видео! Спасибо! И со спидраном на фоне умно придумал) было интересно смотреть

  • @ДмитрийМоржанов
    @ДмитрийМоржанов 3 роки тому +12

    Про классы и структуры еще одно значимое отличие - от структуры нельзя наследоваться

  • @Witcher-simple-YouTube
    @Witcher-simple-YouTube 3 роки тому +1

    Очень хороший разбор !

  • @goldgold594
    @goldgold594 2 роки тому +3

    Слушай, это пушка. Все супер разжевал за исключением нескольких моментов. Мне, как начинающему Trainee+ было супер полезно
    На счет игры на фоне - спорно вышло :)

    • @Excalib
      @Excalib  Рік тому

      Насчёт игры спорно, согласен, но я так залип на этот спидран, аж олдскулы свело

  • @konstantinkav.9975
    @konstantinkav.9975 3 роки тому +1

    Отличное видео, спасибо

  • @Ultrasard
    @Ultrasard Рік тому

    Спасибо, очень полезно.

  • @ИльяЧапаев-т4к
    @ИльяЧапаев-т4к 3 роки тому +4

    очень полезный видос! что-нибудь по типу rode map c# разработчик можно сделать

    • @Excalib
      @Excalib  3 роки тому

      он у меня был в видосах

  • @ГеоргийБарышников-п7т

    Лучший 👍

    • @Excalib
      @Excalib  2 роки тому

      Спасибо:)

  • @instkoff
    @instkoff 3 роки тому +4

    Давай следующий видос по базам? Индексы, ключи, связи, нормализация и тд)

    • @Excalib
      @Excalib  3 роки тому +1

      Давай) Я вообще планирую след видос снять про алгоритмическую сложность

  • @instkoff
    @instkoff 3 роки тому +10

    Ща тебя ExtremeCode за инкапсуляцию накажет )

    • @Excalib
      @Excalib  3 роки тому +1

      я их сам накажу

  • @MisterGenix
    @MisterGenix 3 роки тому +7

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

  • @БогданМухутдинов-т4и

    спасибо

  • @SoferPeOZN
    @SoferPeOZN 3 роки тому +3

    уважаю

    • @Excalib
      @Excalib  3 роки тому

      Спасибо

    • @SoferPeOZN
      @SoferPeOZN 3 роки тому +1

      @@Excalib тебе спасибо за ответ, я забыл подписатся ❤

    • @Excalib
      @Excalib  3 роки тому

      Рад что кому то нравится:))) спасибо за подписку

  • @РаймондМаршалл
    @РаймондМаршалл Рік тому +3

    Ребятки, не рекомендую к просмотру. Не тратьте время(((

  • @bookuha
    @bookuha 2 роки тому +1

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

    • @Excalib
      @Excalib  2 роки тому

      отвечать развернуто это хорошо, но лить воду не надо!

  • @alberltteregulov4536
    @alberltteregulov4536 3 роки тому +2

    Онимечникам привет, остальным соболезную

    • @Excalib
      @Excalib  3 роки тому

      ониме на аве, кто то в канаве

    • @zelepupka2911
      @zelepupka2911 3 роки тому

      @@Excalib Здоровья маме, вообще-то

    • @Excalib
      @Excalib  3 роки тому

      @@zelepupka2911 точно

  • @Excalib
    @Excalib  3 роки тому +8

    Полезные ссылки, не забывай поставить лайк, написать любой комментарий и подписаться на канал(колокольчик само собой) Так ты меня поддержишь и видео будут выходить чаще!
    Статья про SOLID: habr.com/ru/company/productivity_inside/blog/505430/
    Сайт с паттернами: refactoring.guru/ru/design-patterns

  • @angrycatstudio2816
    @angrycatstudio2816 3 роки тому

    Там кстати от источника к источнику от 3 до 9. Кто то инкапсуляцию убирает. Кто то добавляет посылку сообщений, хотя это такая очевидная вещь. Ну и инкапсуляция, это не совсем сокрытие)

  • @justdude77
    @justdude77 Рік тому

    Большую часть видоса просто смотрел спидран

  • @ЗелдБафет
    @ЗелдБафет 8 місяців тому

    красава че

  • @Pravda-bw3tj
    @Pravda-bw3tj 3 роки тому +5

    так и не рассказал про вопросы по asp net core :(

    • @Excalib
      @Excalib  3 роки тому +4

      Могу снять отдельное видео просто там много всего так же могут спросить(

  • @КостяКостин-ю1ь
    @КостяКостин-ю1ь 2 роки тому +5

    может и полезно, но подача на слух на фоне игры - чушь

    • @Excalib
      @Excalib  2 роки тому

      Спасибо уже учёл

  • @Pravda-bw3tj
    @Pravda-bw3tj 3 роки тому +1

    Почему 5 парадигм если 6? Парадигма повторное использование грустит в сторонке (9((

    • @Excalib
      @Excalib  3 роки тому

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

  • @star_lord1911
    @star_lord1911 3 роки тому +2

    уаййййййййй а где примерчики кода?

    • @Excalib
      @Excalib  3 роки тому

      А какие примерчики нужны?

    • @star_lord1911
      @star_lord1911 3 роки тому +2

      @@Excalib вот допустим ты говоришь по ссылочные типы, можно было показать присвоив какому то классу какие то значения затем создать второй экземпляр класса и присвоить ему первый экземпляр и поменять значения в первом экземпляре и посмотреть что будет во втором экземпляре, так было бы очень наглядно и запомнилось бы лучше)

    • @star_lord1911
      @star_lord1911 3 роки тому +1

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

    • @Excalib
      @Excalib  3 роки тому

      В таком случае видос будет огромным

    • @star_lord1911
      @star_lord1911 3 роки тому +1

      @@Excalib да согласен, можно не писать код на видео, а просто показать примерчики уже готовые

  • @mikeg470
    @mikeg470 2 роки тому +1

    видеоряд очень отвлекает. лучше видеоряд по теме или что то спокойное

    • @Excalib
      @Excalib  2 роки тому

      Спасибо, учту!

  • @Pravda-bw3tj
    @Pravda-bw3tj 3 роки тому +2

    Почему про синглтон не стоит говорить? В правильных руках и антипаттерн - паттерн, например для геймдева синглтон достаточно полезен во многих случаях, про кор не знаю.

  • @proliitariat7576
    @proliitariat7576 3 роки тому

    Скинь сылку про соли

  • @Meyredzhi
    @Meyredzhi 2 роки тому +1

    Спасибо