Готовься к Этим 4 Вопросам на Собеседовании Junior С# Developer

Sdílet
Vložit
  • čas přidán 10. 02. 2020
  • Собеседование на C# Junior Developer - это не так просто. Джуниор C Sharp - первая ступень работы программиста в данной сфере. Чтобы точно пройти собеседование и стать джуном си шарп - посмотри это видео и подпишись на мой канал! Меня зовут Роман Сакутин, и я помогу тебе познать мир GameDev, а так же легко пройти публичное и техническое собеседование.
    Подготовка к собеседованию (бесплатный курс) - lk.ijunior.ru/Course/View/14?...
    БОРИС (Бесплатное Обучение Разработке Игр) - ijunior.ru/boris/promo01?...
    Обучение с нуля с гарантией трудоустройства - ijunior.ru/csharp-light?...
    МОЯ КНИГА - csharpbook.sakutin.ru
    ГРУППА КАНАЛА - holymonkey
    ШКОЛА ПРОГРАММИРОВАНИЯ ЯЮНИОР - holymonkey_sandbox
    Я В VK - rsakutin
    INSTA - / sakutinhuytin
    ЧАТ В ТЕЛЕГЕ - t.me/csharp_faggots_fan_club

Komentáře • 187

  • @rsakutin
    @rsakutin  Před 4 lety +29

    На каких вопросах валились вы?

    • @skainet_
      @skainet_ Před 4 lety +73

      Что такое c#?

    • @dubovikovpv
      @dubovikovpv Před 4 lety +25

      Что вы знаете о Garbage collector'e ?
      Когда вызывается статический конструктор?
      В чем преимущество StringBuilder перед String ?
      Что такое Linq?
      Вы на плюсах писали ?

    • @vicooller
      @vicooller Před 4 lety +2

      Delegate и Enum после компиляции?

    • @AlexeyKamchatkin
      @AlexeyKamchatkin Před 4 lety

      Dippps а в чем проблема? Есть книги как писать 3д движки , возможно вы просто книги не читаете

    • @TheOmokage
      @TheOmokage Před 4 lety +7

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

  • @cherepyiiika
    @cherepyiiika Před 4 lety +237

    Роман, мы вам перезвоним!

    • @PoixoN
      @PoixoN Před 3 lety +2

      Ви что терасофт?

    • @Mr.Epsilion
      @Mr.Epsilion Před 2 lety

      @@PoixoN нет, просто чернокожий...

    • @Tat_rat
      @Tat_rat Před 2 lety +2

      Так и не перезвонили

  • @denisk8342
    @denisk8342 Před 4 lety +189

    Мое личное мнение.
    Задавать такие вопросы на собеседовании это признак того, что работодатель не понимает для чего ему сотрудник. Дело в том, что компания обычно занимается вполне определенным видом работ и эти работы не абстрактны, как показанные задачи. Поэтому стоит спрашивать именно по часто встречающимся задачам для будущего сотрудника, а не просто какие-то интересные вопросы из справочника.

    • @vivaleute5141
      @vivaleute5141 Před 3 lety +13

      Да проблема ещё и в том, что вопросики так себе. Особенно 4-й, это тупость. Это работает потому что у строки, например, оператор == перегружен и работает как equals(), где помимо сравнения ссылок сравнивается ещё и контент. Просто тупой вопрос как по мне, можно просто создать класс подобного типа с перегруженных оператором сравнения.

    • @JohnDoe-tm1rv
      @JohnDoe-tm1rv Před 3 lety +1

      @@vivaleute5141 Я проверил - оно работает с ненулевыми строками.

    • @vivaleute5141
      @vivaleute5141 Před 3 lety

      @@JohnDoe-tm1rv Ну молодец, что проверил, хотя, если ты программист, то как бы знать должен. Так а к чему это было сказано?

    • @JohnDoe-tm1rv
      @JohnDoe-tm1rv Před 3 lety

      @@vivaleute5141 Забудь, оно таки не работает

    • @vivaleute5141
      @vivaleute5141 Před 3 lety

      @@JohnDoe-tm1rv Не работает у тебя в голове разве что

  • @Primeraby
    @Primeraby Před 4 lety +3

    Вроде на джуна такие вещи и спрашивали, полезный для начинающих видос :)

  • @user-uh5qc6ep7r
    @user-uh5qc6ep7r Před 4 lety +3

    Продолжай, ну и зацепи Unity естественно :3

  • @user-nh1lp8xt4j
    @user-nh1lp8xt4j Před 2 lety

    Круто. Уже что-то понимаю в языке)

  • @ljlj
    @ljlj Před 3 lety +63

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

    • @sergs2919
      @sergs2919 Před 3 lety +6

      ну я бы не сказал вопросы в принципе простые

    • @dkvChannel
      @dkvChannel Před 2 lety

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

    • @kadencode5347
      @kadencode5347 Před 2 lety

      @@dkvChannel так это легкие вопросы

    • @dkvChannel
      @dkvChannel Před 2 lety +1

      @@kadencode5347 , ну я рад за тебя...

    • @kadencode5347
      @kadencode5347 Před 2 lety

      @@dkvChannel ну смотри, первое задание например совсем понятное. Перегрузку ты должен был проходить в изучении функций. Класс B наследуется от класса A.
      A - его родитель, и в соответствии B наследует все его методы. Но поскольку метод Foo перегружается в классе B вывод очевиден)

  • @Brick87Game87
    @Brick87Game87 Před 4 lety

    хитрость про интерфейс не знал. спасибо

  • @elsee8865
    @elsee8865 Před 4 lety +63

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

    • @LionbI4
      @LionbI4 Před 4 lety +5

      для Unity - нужны. Junior-ы занимаются версткой интерфейсов и созданием вьюшек под них.

    • @dkvChannel
      @dkvChannel Před 2 lety +3

      Вывод - пилю игру сам в соло) Главное что бы для игрока всё работало, как я там буду три яруса говна мазать игроку не интересно. Если игра получит аудиторию у меня появятся деньги и время на переписывание кода уже в тиме с более менее толковым кодером. Нахер студии с их 100500 три в ряд и донатными помойками!

  • @zachemny
    @zachemny Před 4 lety +60

    По второму вопросу объяснение в корне неправильное. Если бы был боксинг, то структуры через using вообще нельзя бы было освобождать - ведь был бы тот же боксинг. Но никакого боксинга в реальности тут не будет, т.к. в данном случае будет выполнен constrained вызов Dispose(). А вот копирование структуры выполнено действительно будет, но не на выходе из блока using, а на входе в него. Просто using так работает - копирует то, что ему подано на вход извне.
    По 4-му - тоже. Дело не в интернировании строк (этот механизм по-умолчанию всегда отключен), что легко проверить, передав конструктору строки непустой массив. А в том, что генерируется ссылка на String.Empty, кот. единственная на домен.
    В общем, читайте первоисточники, а не ориентируйтесь на ролики в ютюбе.

    • @nooftube2541
      @nooftube2541 Před 3 lety

      Главное не ориентироваться на такие комментарии...
      Про using я половину не понял. Но почему это using копирует? Это не так. Если заменить структуру на класс в примере все заработает. using ничего не освобождает - учит мат часть. Кстати с 8го шарпа пример таки заработает, ибо там убрали каст к интерфейсу и теперь using просто вызовет Dispose() даже если IDisposable не указан.
      Стринги всегда по умолчанию интернируются, если что. Не уверен про сам пример, но интернирование работает только с литералами. Если включить интернирование, то следующий код будет верен:
      string a = "a";
      string b = "a";
      a != b
      Но вообще пример из ролика подозрительный конечно.

    • @zachemny
      @zachemny Před 3 lety +5

      @@nooftube2541 Зачем наезжаете на чужие комментарии, если в своём пишете чушь?
      1) using копирует на входе, чтобы убедиться в этом, достаточно взглянуть на IL, даже лезть в спецификации не нужно. То что в случае класса работает - так то копируется ссылка. Удивительное, как говорится, рядом.
      2) Не надо придираться к словам, пытаясь казаться умнее. Dispose в нормальной жизни как раз освобождает ресурсы - для этого и предназначен.
      3) Про C# 8.0 - опять чушь пишите. using работает через duck typing только для ref struct. Это особый случай, в бизнес коде встречающийся крайне редко. Очевидно, вы что-то слышали, но только левым ухом или поняли не до конца.
      4) Стринги никогда по умолчанию не интернируются, с чего вы это взяли? Прежде чем писать свой коммент, я это кстати проверил, как и все др. свои утверждения. Что же касается вашего кода, то едва ли вы его проверяли, ведь он даже не компилируется, и разбираться, что вы там имели в виду, я не собираюсь. Интернирование литералов - это вообще тут не подходит, где вы в примере 4 видели литералы?

    • @nooftube2541
      @nooftube2541 Před 3 lety

      @@zachemny
      1. ошибся - да. Логично что копирует
      2. есть множество способов использования Dispose помимо освобождения ресурсов. Но то что сам Dispose ничего не освобождает - особенно сам объект - это самое важно в понимании Dispose. Но если грубо, то конечно можно так сказать... но в любом случае это освобождение ресурсов, а не объекта.
      3. Действительно, у меня компилится только для ref struct, что странно, потому что по спеке - должно работать для всего: docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/using#detailed-design
      4. литералы всегд аинтернируются по дефолту: docs.microsoft.com/en-us/dotnet/api/system.string.intern?view=netcore-3.1 но можно отключить. "Обычные" (то есть собранные) стринги не интернируются, и это никак нельзя включить "по-дефолту", только явным вызовом String.Intern(). Но в примере действительно не в этом дело. Странные дела со string.Empty, не знал что оно так хитро работает.
      А причем мой тут код, и откуда вы знаете компилируется он или нет?

    • @zachemny
      @zachemny Před 3 lety +3

      @@nooftube2541
      1) Ага, уже вежливее, это хорошо.
      2) Если у вас в коде Dispose будет часто заниматься чем-то, кроме освобождения ресурсов, то это будет вызывать закономерные WTF у ваших коллег на код-ревью или при поддержке. Так что лучше ИМХО всё-таки придерживаться общепринятых норм. А так-то конечно: конструктор может заниматься освобождением ресурсов, а Dispose() - их выделением, компилятору всё равно, что вы в них напишите.
      3) Там по вашей ссылке какая-то вода:
      The language will add the notion of a disposable pattern. Это вообще в будущем времени.
      ref struct: These types can't implement interfaces today and hence can't participate in using statements. А это уже не актуально.
      Так что ИМО лучше читать пропозалы, там как-то более чётко описывается, что было/будет имплементировано.
      4) Когда-то давным-давно можно было включить автоинтернирование для всех строк, но видимо потом эту фишку выпилили. Возможно никому не пригодилась. Впрочем могу и ошибаться, никогда этим не пользовался.
      4.1) Со String.Empty ничего хитрого: referencesource.microsoft.com/#mscorlib/system/string.cs,1577 Вот код конструктора строки из массива char, предельно простой.
      5) Ваш код:
      string a = "a";
      string b = "a";
      a != b
      Что такое a != b ?
      Чтобы обсуждать код надо писать законченные фрагменты. К тому-же 2 одинаковые строки конечно будут равны между собой, будь там интернирование, или нет его. Проверять интернирование надо так:
      var isInterned = String.IsInterned(a);
      а на единый общий инстанс так:
      var eq = ReferenceEquals(a, b);
      А ваш код ни к селу ни к городу. Вот и создаётся ощущение (правильное), что у человека каша в голове.

    • @sergs2919
      @sergs2919 Před 3 lety

      using Dispose() тут просто обнуляет ссылку на кучу... так как в using передается копия ссылки

  • @StrelokSitonix
    @StrelokSitonix Před 4 lety

    Отличный контент!

  • @dapdizzy
    @dapdizzy Před 4 lety +3

    На вход дан массив цифр (2-9). Каждой цифре может соответствовать несколько символов (как латинские символы на кнопках старых сотовых телефонов).
    По заданной последовательности цифр вывести все возможные комбинации символов получаемые заменой каждой цифры одним из символов соответствующим цифре.
    Пример: на входе - 233
    2 - abc
    3 - def
    Вывод:
    add
    ade
    adf
    aed
    aee
    aef
    afd
    afe
    aff
    ...
    cff

  • @mimineko3100
    @mimineko3100 Před 4 lety +47

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

    • @apdgslfhsodbna
      @apdgslfhsodbna Před 4 lety +28

      Просто приходишь к начальнику, кладёшь ноги на стол и говоришь:«С этого дня я работаю у вас»

    • @user-zb2ed1is1v
      @user-zb2ed1is1v Před rokem +3

      желательно чтоб соискателю было не больше 20ти лет а опыта работы не мнее 10ти.

  • @kirillsviderski4739
    @kirillsviderski4739 Před 4 lety +2

    Очень крутой контент. Будет что спрашивать у ребят на зачете в конце школьного года ;)

  • @brix7267
    @brix7267 Před 2 lety +4

    C# знаю на уровне синтаксиса, но в целом стаж 10+ лет с другими языками. Как ни странно, но ответил на все правильно, хотя соображения почему отличались от ответа автора

  • @stanislavshilo6022
    @stanislavshilo6022 Před 3 lety

    слушай, ну если в java вот так сделать, наверное ошибки нее будет, потому что в шорт диапазон интовая единица входит

  • @romedov882
    @romedov882 Před 4 lety +2

    Очень полезно. Спасибо!
    Свалился на 3 и 4

  • @tomdwan5423
    @tomdwan5423 Před 3 lety

    кто-то понял кто автор последнего вопроса?
    Напишите пожалуйста Имя не могу понять что Роман сказал

  • @unknown3164
    @unknown3164 Před 3 lety +1

    DownCast (вниз к производному классу) невозможен без предварительного UpCast(вверх к базовому классу)

  • @alexsft2024
    @alexsft2024 Před 3 měsíci

    Батенька, интерфейс реализуется структурой, а не наследуется! Также забыл сказать какой именно интерфейсный метод реализуется. Тоже что ли, пойти по-предовать? :)

  • @user-wd2xw9oh7w
    @user-wd2xw9oh7w Před 4 lety +2

    В 3, как показалось, не совсем верно объясняется - то, что short не вмещает всех значений int, не является причиной падения, на (long)obj точно так же падало бы; приводить можно , именно как дальше говорится, только к вышестоящим по иерархии, а в случае структур это могут быть только интерфейсы или ValueType

    • @nooftube2541
      @nooftube2541 Před 3 lety

      Разве к ValuType можно кастить?

    • @user-wd2xw9oh7w
      @user-wd2xw9oh7w Před 3 lety

      @@nooftube2541 сейчас проверил такой код, всё работает
      int i = 4;
      object o = i;
      ValueType vt = (ValueType)o;
      Console.WriteLine(vt);
      а почему должно быть нельзя?

    • @sometexthere4169
      @sometexthere4169 Před rokem

      @@nooftube2541 Все значимые типы наследуются от ValueType, так что можно, если тип одинаковый (я про распаковку)

  • @nikitafrolov3859
    @nikitafrolov3859 Před 4 lety +2

    Если бы было подробнее, тогда было бы лучше, а то некоторые определения совершенно не понятны

  • @alexpirotsky6247
    @alexpirotsky6247 Před 3 lety

    Последнее, а бул подойдёт?

  • @sergey.stafeev
    @sergey.stafeev Před 4 lety

    По ссылке не бесплатный курс, надо сделать какие-то действия, потратить на это время, время это деньги. Так то.

  • @yuryermolov13
    @yuryermolov13 Před 4 měsíci

    Так красивее:
    object x = new string(string.Empty);
    object y = new string(string.Empty);
    Console.WriteLine(x == y);

  • @myganter
    @myganter Před 3 lety +1

    Я ЧУВСТВУЮ что ты немного затролил Александра Шевчука из itvdn :3

  • @KapSLifeCHaNNeL
    @KapSLifeCHaNNeL Před 3 lety +6

    Только начинаю изучать программирование, из видео нифига не понял. Вернусь Джуниором через пол года :D

    • @belozerov_mi
      @belozerov_mi Před 3 lety

      5 месяцев прошло, как дела?

    • @user-_AMG_
      @user-_AMG_ Před 3 lety

      @@belozerov_mi Бро, шаришь в с#?

  • @metalkefir591
    @metalkefir591 Před rokem +1

    Ответ на 2 очень простой, трахнуть стулом по голове человека который описывает структуры с диспоуз и пишет юзинг в такой манере.
    Структуры в Шарпе нужны для интеропа и взаимодействия с С++ либами например, после вызова метода библиотеки она вернет нам указатель на место где лежит результат в стеке, мы сможем зная размеры типов полей наложить туда структуру и прочесть результат.
    Наличие в структурах ссылочных типов и тем более объекта который необходимо утилизировать это говнокод. Вопрос зачем спрашивать про говнокод?

  • @ultrarabbit8116
    @ultrarabbit8116 Před 4 lety +56

    Очень напоминает статью из метанита.

    • @instkoff
      @instkoff Před 4 lety +10

      Это и есть с метанита

    • @yippeeki-yey
      @yippeeki-yey Před 3 lety

      @@instkoff А на метаните с Рихтера

    • @alazarnfreeman9216
      @alazarnfreeman9216 Před 2 lety +4

      @@yippeeki-yey а Рихтер не для джунов, ту-дунс )

  • @yarosroman
    @yarosroman Před 2 lety

    А что мой комментарий то стерли про IDisposable?

  • @user-bx1kc2bd5z
    @user-bx1kc2bd5z Před rokem

    object x= new Random (0,0);
    object y = new Random (0,0);
    Console.writeLine(x==y);

  • @user-tn9pq7bv5h
    @user-tn9pq7bv5h Před rokem

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

    • @softed
      @softed Před rokem

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

  • @UnrealSPh
    @UnrealSPh Před 3 lety +2

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

  • @_kk_
    @_kk_ Před 4 lety +1

    Почему 'x' и 'y' в этом случае равны:
    object x = new string( new char[0] );
    object y = new string( new char[0] );
    А в этом нет:
    object x = new string( new char[1] { '0', } );
    object y = new string( new char[1] { '0', } );
    ?

    • @detmalone
      @detmalone Před 4 lety +7

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

    • @elamaunt
      @elamaunt Před 3 lety

      Будут равны, только если сравнивать так (string)x == (string)y. Тогда вызовется переопределенный оператор сравнения ==, а в нем реализовано сравнение по значению. Еще будут равны, если написать object.Equals(x,y)

  • @alexgorodecky1661
    @alexgorodecky1661 Před 4 lety +8

    С dispose пример чудовищный. Использование disposed объектов запрещает сам смысл using. Троллинг с value типами, это вообще отдельный котел для создателей c#

    • @nooftube2541
      @nooftube2541 Před 3 lety

      Не запрещает, если знаешь как используется.

  • @crossbow258
    @crossbow258 Před 3 lety

    В четвертом ещё можно было создать со стрингом метод инсерт

  • @_Otets_
    @_Otets_ Před 2 lety

    А я думал такие вопросы померли еще в 2010-ом.

  • @ram0973
    @ram0973 Před 3 lety +1

    Никто не видел детальное сравнение ООП и прочего в Java и C# ?. Например, в Java нет virtual, почему, чем это хорошо/плохо, какой аналог struct может быть в Java и т.д.

    • @justfairytale5722
      @justfairytale5722 Před rokem +1

      Знаю, что опоздал, но мало ли кто-то прочтет.
      В джаве все нестатические методы по умолчанию виртуальные, а аналогов структурам нет.

    • @rexdraconis1703
      @rexdraconis1703 Před rokem

      Ну структуры быстрее работают(они же в стекле вроде), поэтому скорее всего, чисто теоретически будет быстрее с ними.

  • @user-dp5ru5kg6q
    @user-dp5ru5kg6q Před 2 lety

    как охуенно объяснил просто лацк!

  • @olego5633
    @olego5633 Před 2 lety

    IDisposable произносится вообще не так, и ударение не там. Почему все разработчики так ужасно коверкают English? Потому что не удосуживаются сверяться со словарем и шпарят по когда-то освоенным шаблонам, конечно же неправильным.

  • @25x25RS
    @25x25RS Před 4 lety +2

    В 3 вопросе у Вас ошибка объяснения.
    (long)obj - тоже выдаст ошибку.

    • @user-ud2rt2kx7f
      @user-ud2rt2kx7f Před 4 lety

      Ну да, логичнее было сказать что value тип при анбоксинге должен быть таким же, как и при боксингом

    • @25x25RS
      @25x25RS Před 4 lety

      @@user-ud2rt2kx7f почти. в int? не будет ругаться.

    • @nooftube2541
      @nooftube2541 Před 3 lety

      @@25x25RS почему почти? Был int, и должен стать int.

  • @supromental
    @supromental Před 4 měsíci

    Если такие тонкости должен знать джун, что тогда должен знать мидл интересно.

  • @Razor_Zet
    @Razor_Zet Před rokem

    1/4. Я просто тупень... У меня всё.

  • @streamcnoremorse3323
    @streamcnoremorse3323 Před 3 lety

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

  • @camelCased
    @camelCased Před 2 lety +2

    Я придумал еще одно решение:
    object x = new string(string.Empty);
    object y = new string(string.Empty);
    Console.WriteLine(x == y);
    Похоже, что string.Empty ("" тоже подойдет) приводит к такому же результату, как пустой массив символов.

  • @KraGenGames
    @KraGenGames Před 2 lety +1

    Курст не бесплатный. Нжно 20баллов что бы их получить нужно
    Подтвердить почту +5 балов
    Пригласить друга +5 балов
    получить сертификат + 50 балов. Так что нифига он не бесплатный

  • @satorlous
    @satorlous Před 4 lety +6

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

  • @trofimchikchik
    @trofimchikchik Před 4 lety +1

    Бесплатный курс с гарантией.

  • @loam
    @loam Před rokem

    А че за прикол с бесплатным курсом, который не бесплатный по итогу?))

  • @LionbI4
    @LionbI4 Před 4 lety +3

    Я бы даже отвечать не стал на эти вопросы. Просто не пошел бы к работодателю, у которого на интервью такие идиотские вопросы.

    • @LionbI4
      @LionbI4 Před 4 lety +5

      Это вопрос из серии: что будет если на java написать Integer a = 1; Integer b = 1; log(a == b); Integer a1 = 1000; Integer b1 = 1000; log(a1 == b1); - в первом случае покажет true, а во втором - false. Потому что в java во время боксинга интов - до 127 - возвращаются Singleton интегера. А после 127 - новый объект. Абсолютно бесполезные знания для написания реальных вещей на java. тем более для Junior.

  • @daniyarm2922
    @daniyarm2922 Před 4 lety +20

    Если ты хорошо знаешь С#, это ты должен вести собеседования. Достоин ли они что бы платит тебе ))

  • @paulgarrett7044
    @paulgarrett7044 Před 2 lety

    Ставьте скорость на 0.5 и смело засыпайте.

  • @sometexthere4169
    @sometexthere4169 Před rokem

    На 3 автор сам не понимает почему распаковка в short не возможна. "Мы туда упаковали int, а short не кастится до int. Дело в том, что short меньше по размеру". А если бы мы туда long кастили, то получилось бы? Автор, кастится должно к тому же типу, а не к большему или меньшему. Сам не понимаешь процессов, которые объясняешь

  • @BlushSmith
    @BlushSmith Před 3 měsíci

    Честно говоря, основательно подумал бы, прежде чем соглашаться на работу в контору, задающие такие вопросы джуну.
    Делать структуру IDisposible? Серьёзно, так кто-то в мире буедет делать?
    И джун должен шарить в тонкостях работы юзинга при обработке структур?
    Это даже не смешно.
    PS: в четвёртом вопросе стоило бы обратить внимание не на фокусы с угадыванием, а на то, что структуры сравниваются по значению, соответственно подойдёт new int() или new DateTime(), без всяких там nullable

  • @siviristm9668
    @siviristm9668 Před 4 lety

    Отучился 2 года на программиста, не разу не юзал object и var. Слышал, но не использовал... Пора читать книги...

    • @JackFastGame
      @JackFastGame Před 3 lety +2

      var - это синтаксический сахар, который используется лишь в зависимости от конвенций компании, в которой работаете.

  • @ajiekcahdppeperoni7011
    @ajiekcahdppeperoni7011 Před 3 lety +2

    Это не те вопросы, у джуна нет опыта. его надо спрашивать теорию, а не дрочить мозг какими-то тонкостями.

    • @JohnDoe-tm1rv
      @JohnDoe-tm1rv Před 3 lety +3

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

  • @subscribe-on
    @subscribe-on Před rokem

    4 из 4. Задачки какие-то ну уж через чур лёгкие. По поводу 4 задачи: чтобы всегда возвращало true нужно убрать "?" перед вызовом конструктора структуры int. Да и вообще подойдёт вызов любого конструктора 2-х одинаковых структур... 2-е решение это какие-то танцы с бубном, потому что можно было просто сделать var x = new char(); и всё (собственно, опять же вызов конструктора структуры).
    Но нет же! Нужно блеснуть своим "умом" и написать что-то вроде:
    var x = new string(new char[new char().ToString().IndexOf("", StringComparison.Ordinal)]);
    var y = new string(new char[new char().ToString().IndexOf("", StringComparison.Ordinal)]);
    Если бы мне такое собеседующий задвинул, я бы рукой себе лоб пробил.

  • @free115
    @free115 Před 3 lety +7

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

    • @dkvChannel
      @dkvChannel Před 2 lety

      Кстати да)))

    • @VoimiX2008
      @VoimiX2008 Před 10 měsíci

      Сапожник без сапог)

  • @tvtv7026
    @tvtv7026 Před rokem

    ВСЕГДА БЫЛО ПЛЕВАТЬ НА СОБЕСЕДОВАНИЕ ЭТО Я ИМ НУЖЕН НЕ ОНИ МНЕ

  • @lobstercrab6491
    @lobstercrab6491 Před rokem

    Ай диспосЕйбл... у меня всё.

  • @danyilkorotych1727
    @danyilkorotych1727 Před 4 lety +1

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

    • @daddy_chill1530
      @daddy_chill1530 Před 4 lety +4

      Google algorithms
      Удачи, кстати!

    • @enqeegeth3604
      @enqeegeth3604 Před 4 lety

      Прошёл?

    • @danyilkorotych1727
      @danyilkorotych1727 Před 4 lety +9

      @@enqeegeth3604 Да! Вот только час назад сообщили, очень рад. В общей сложности собеседовало 4 человека, изначально 2 ейчара(общие вопросы, английский и тд), потом два програмиста по скайпу, при том с разных городов для оптимальности выводов. Очень широкий спектр вопросов, долго было. Справшивали ООП(принципы), наследование в шарпах(virual, override), патерны(в часности синглтон реализовать), и еще много всего по констркциям + код писать в онлайне. Дальше был JS основы, потом был вопрос по дискретке упростить логическое выражение. И геометрия, в часности векторное произведение, нормалли, скалярное произведение, производные и тд. Сложно было, думал завалил, ибо много что просто забыл. Но в итоге взяли. Так что всем удачи, ребят пробуйте, не опускайте руки если получаете отказ, когда-то точно повезет если работать)

    • @enqeegeth3604
      @enqeegeth3604 Před 4 lety

      @@danyilkorotych1727 Круто, молодец! Я буквально 4 месяца назад начал изучать шарп). А вот насчёт математических знаний всё сложно... Кажись помню только терему пифагора, а про дискретку толком ничего и не знаю. До собеса ещё далеко, а уже страшно...

    • @danyilkorotych1727
      @danyilkorotych1727 Před 4 lety +1

      @@enqeegeth3604 ну насчет математики - ее не везде спрашивают, все зависит от специфики разработки, что реально часто спрашивают - это задачки типа как поменять местами две части массива не исполюзуя еще один массив и тд, так что немного потренировать такое нужно, в инете их много

  • @user-xo9ks9bc6j
    @user-xo9ks9bc6j Před 4 lety +2

    Поставьте скорость проигрывания 1.25 =)) и будет нормально

  • @user-wu4pb9vd4e
    @user-wu4pb9vd4e Před 4 lety +3

    using System;
    using System.Threading;
    using static System.Console;
    internal sealed class Test
    {
    public float Example;
    }
    namespace FirstTest
    {
    internal sealed class Test
    {
    public string Example;
    }
    internal class Program
    {
    private static void Main()
    {
    //var t = new Test();
    //t.Example = 2.2f;
    Task();
    ReadKey();
    }
    private static void Task()
    {
    var array = new[] {4, 8, 15, 16, 23, 42};

    foreach (var i in array)
    {
    ThreadPool.QueueUserWorkItem(callBack => Write($"{i} "));
    }
    }
    }
    }
    1) как сделать так, чтобы закомментированный код работал не трогая класс Test
    2) Что выведет метод Task()

    • @4AneR
      @4AneR Před 4 lety

      1) добавить переименовывающий using, например using OuterTest = Test;
      2) Не уверен, но вроде не определено, т.к. метод закончится, когда заполнится очередь в цикле, а что потоки успеют выполнить и в каком порядке не определяется. Может ошибка даже, если callback попробует читать массив после снятия ссылки со стека

    • @mixa1l
      @mixa1l Před 4 lety

      2) 42 23 16 15 8 4

  • @LionbI4
    @LionbI4 Před 4 lety +1

    Ужос какие дебильные вопросы. Никогда такие не задаю. Принимал на работу человек 100.
    Правильные вопросы: как бы вы реализовали игру жизнь(предоставляются правила)? Как лучше индексировать номера телефонов? Есть стандартный массив, как бы вы его перевернули задом наперёд без вызова функции reverse? (написать код на бумажке).

    • @stasostrin47
      @stasostrin47 Před 3 lety

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

    • @maxumka548
      @maxumka548 Před 3 lety

      Написать код на бумажке? А потом ты подтираясь ей, его соберёшь? А чем смысл? Или в голове вообще ничего?

    • @LionbI4
      @LionbI4 Před 3 lety

      @@maxumka548 В чем проблема 3 строчки написать? Хоть псевдоязыком.

  • @MrGreen-vw9yr
    @MrGreen-vw9yr Před rokem

    ДИ СПА СЕЙБЛ 🎊🎊🎊

  • @maks_fil
    @maks_fil Před 4 lety

    128 лайков)

  • @SoferPeOZN
    @SoferPeOZN Před 2 lety

    IDespacito

  • @user-ry8yh6ht2k
    @user-ry8yh6ht2k Před 2 lety

    Реальное собеседование на middle developer czcams.com/video/-y5etXS6efs/video.html

    • @konstantindavydow5533
      @konstantindavydow5533 Před 2 lety +1

      Вы забыли написать, что по ссылке - собеседование на FRONTEND developer

  • @user-uf9od8iq1n
    @user-uf9od8iq1n Před rokem

    Какой же талант 2*2=4 так долго об этом рассказывать. Херня, эти вопросы все знают. Говорить про них 30сек.