Тестовое собеседование на .NET Middle разработчика

Подготовка к собеседованию на C# Developer

Транскрипция видео:

  • Всем привет С вами илип и сегодня мы проведём МОК интервью по csar spnet SQL и как получится дальше поэтому сегодня не только я но ещё один человек которого зовут Сергей вот Представься пожалуйста расскажи немножко о себе Ну о своём опыте скорее чем занимался Какие может проекты свои пилил или на работе Чем занимался Да добрый день у меня года разработки и где-то 8 лет Я уже вообще с целом знаком с программированием много чего пробовал на этом пути если говорить чисто про коммерческий опыт то сначала это было

    00:00:00 - 00:01:23

  • нити То есть мне тупо сказали ребят мы теперь делаем игры Вот давайте Учите Юнити Вот и потом Понемногу Я понял что не хочу связывать свою жизнь как бы вот ограничиваться чисто игровым шком и решил заняться эндом ещё в целом потому что это прикольно интересно Вот и сейчас я продолжаю этим заниматься развиваюсь получается у тебя 2 года именно коммерческого опыта правильно А в остальном ты занимался сам Ну для себя так сказать Ну да как бы не было именно коммерческого опыта Это я начинал с питона долгое время Вот именно питоном

    00:00:41 - 00:01:55

  • занимался ещё в университете его использовал Ну для мат расчётов Там всего такого потому что это очень быстро легко что-то накатать плюс библиотек очень много Ну помимо этого я ещ затрагивал как-то поверхностно всякие моменты там HTML CSS JavaScript даже PHP трогал SQL там понятное дело легко затронул наверное интересным моментом было в университете когда у нас преподавали плюсы и в питоне всё как-то ну там же нет строгой типизации и всех этих красивых моментов А в универе я познакомился с этим было классно изучать все эти классы

    00:01:19 - 00:02:39

  • декомпозиции какие-то меня это заинтересовало теперь я вот пишу в основном на строгих языках Окей отлично Смотри я вообще изначально думал что это будет НИР собеседование но раз так получилось Поэтому чуть-чуть по этот поглубже вопросы буду задавать Так что если что-то не получится или что-то не сможешь ответить ничего страшного я просто буду таким образом всегда так за без провожу неважно это Синьор или кто-то ещё вот ну сеньоров Я просто меньше мучаю Просто потому что я им даю задачку архитектурную чаще всего

    00:01:59 - 00:03:12

  • и они уже её решают я понимаю как они размышляют То есть я не проверяю там ну максимум что я спрашиваю это про асинхронность вот поэтому если мы сейчас пройдём немножко по теории Если всё будет о'кей и будет позволять время то может быть я тебе дам эту задачку то есть посмотрим вот мне её ещё найти надо будет так что я не подготовился к этому так хорошо Давай немножко Шарпа начнём А дальше уже по накатанной наверное вопросы будут максимально такие базовые сначала и потом как бы всё глубже и глубже и глубже Так

    00:02:40 - 00:03:53

  • что не обращай внимания что я тебя спрашиваю такие элементарные вещи давай начнём с типизации вообще Вот ты говорил про строгую типизацию в языке вот Какие классификации типов существует вообще что ты можешь про это рассказать про типы Ну вообще говоря можно и без строгой типизации Конечно работать да использовать чисто обджект А это базовый класс там для всего в C шарпе даже значимые типы на самом деле наследуются от класса обжект Подожди подожди а object является э так сказать подчиняется строго

    00:03:17 - 00:04:31

  • типизированного языку или нет то есть обт - это строгий тип или нет как сказать ну он является типом Это точно Но строгим что значит строгим это даже не сказать что это какой-то конкретный объект Это просто что-то общее у всего Нет просто у нас если мы говорим не про строгую типизацию мы используем дами почему тогда Для чего нужен об и почему мы используем Дай нами в конкретных ситуациях Когда нам нужно использовать не строгую типизацию тяжело сказать пому что яз Даже если где-то я их встречаю я их

    00:03:54 - 00:05:05

  • стараюсь избегать то есть приводить к чему-то строгому всё-таки Это очень хорошо Я сейчас страдаю Потому что от дайнамикс накину чуть больше конкретики а вот у нас есть ты сказал значимые типы данных и ссылочные давай поговорим об этом расскажи чем отличаются значимые от ссылочных точнее Опиши каждый из них отличается я понимаю немного чем вот Опиши вот каждый из них Что такое значимый Что такое ссылочный А ну Отвечая на этот вопрос Мы можем сейчас просто легко провалиться в тему обсуждения сборщика мусора в стеке в

    00:04:31 - 00:05:49

  • куче если так по-простому говорить как-то без Вот вот этой темы неприятной ссылочные типы их прикол в том что мы работаем с непосредственно объектом самим вот что мы там а ссылкой на него в памяти если значимы ти Это непосредственно сам обк Мы с ними работаем он находится в стеке вот мы его создали он создался перестали воспользоваться он сразу вытаскивается из этого стека ну если игнорировать там боксинг и анбоксинг конечно что ещё я могу сказать про ссылочные значимые типы когда мы передам значимые тип например

    00:05:17 - 00:06:36

  • в ахто конструкторов они копируются когда мы передаём ссылочный тип копируется ссылка объект он остаётся также где-то в куче Ну конечно же все ссылочные типы наследуются от обк А все значимые типы наследуются от Хотя в свою очередь наследуется от об что ещё Наверно так не скажу сходу если какие-то вопросы ещё есть по этой теме Уточняю Да давай уточню Смотри вот говорим что ти Какие типы относятся к значим Какие относятся к сычны Ну пример Назови Ну во-первых все примитивные тип Ну я надеюсь я сейчас ничего не

    00:05:57 - 00:07:27

  • перепутаю Ну примитивные я по крайней мере точно скажу это все вот эти числа инты Фло шорты шорты это всё структуры это значимые типы ссылочные типы это а нук ти конечно женем что мы к ссылочный всё что мы делаем С модификатором класс Ну и помимо того что мы создаём ещё например какие-нибудь листы конечно же они это ссылочные типы даже по своему смыслу листы - это однозначные ссылочные типы потому что мы не можем определить их размер а значит мы не можем их однозначно вставить какой-нибудь массив это тоже ссылочный

    00:06:42 - 00:08:08

  • тип следуя по этой логике я скажу что строки ссылочный тип потому что это массив по сути Ну и наверное на этом остановлюсь пока что так давай поговорим про строки Ага очень интересно строки когда мы сравниваем строки давай вот поговорим про сравнение ссылочных и значимых типов когда мы сравниваем ссылочный тип что мы сравниваем Ой хороший вопрос Хороший вопрос Я полагаю что ссылки Да ссылки Но - это ссылочный тип Да если у нас есть две переменные например А и B и в них хранится одинаковое значение будет Будут

    00:07:25 - 00:08:44

  • ли они равны а переменные А и Б Ну какого типа вообще любого Дан СН и в них А я понял ты хочешь сказать что Допустим мы сделали две строки и прямо в куче это две строки лежат По отдельности Да что-то такое Не совсем я хочу Ну давай по порядку вот У нас есть две строки строка а в ней хранится Hell строка в ней хранится тоже Hell то есть мы написали string а ра Hell STR B ра Hell вроде как две строки в которых хранятся одинаковые значения когда Мы попытаемся их сравнить они будут равны или нет то есть в услови

    00:08:05 - 00:09:35

  • If ра B что-то Выполняется выполнится ли это условие это непростой для меня вопрос [музыка] потому кажется что мы создали два разных объекта и скорее ссылаются ну ссылки на эти строки ссылаются на на разные строки а Но с другой стороны я вроде недавно читал вот у Джеффри рихтера что а для одной и той же строки якобы если мы пытаемся ещё раз создать вот строку которую когда-то уже создавали то якобы мы не будем на самом деле её создавать ещё раз мы просто вернём ссылку на уже существующую А как это работает

    00:08:49 - 00:10:04

  • Вот честно не вспомню что-то Ну вот я читал просто это ну да есть такое есть даже термин Да я его забыл который там неважно что мы создаём Даже новый экземпляр он будет брать из литералов Ну на самом деле у меня где-то видео даже было про этот термин но не суть хорошо А смотри мы говорим про сравнение Да вот значимые тип у них всё легко у них сравнивается значения сычны ти сравниваются ссылки Но что если мы хотим сравнить две коллекции но не хотим их сравнивать По ссылкам а хотим по содержимому сравнить что нам надо

    00:09:30 - 00:10:55

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

    00:10:12 - 00:11:46

  • не знаю адрес вот да Для этого что нам нужно сделать чтобы использовать класс и можно ли вообще так сделать Я так понимаю словарь будет типа Ссылка ссылка на ссылку отношение ссылки к ссылке Ну оба типа будут значимые Ну и в принципе слова это значимый тип Ой значи извиняюсь ссылочный тип оба будет ссылки и сам объект словарь будет ссылочный всё верно Вот Но мы хотим вот в качестве ключа использовать какой-то класс Есть ли какие-то ограничения можно ли их обойти если они есть дам небольшую подсказку хш код вот я говорил когда ты

    00:11:02 - 00:12:32

  • спрашивал про сравнение Вот про хш коды да а ну я понял Понял тебя этоже словарь иш вша в си нет шпа это и есть Неужели Ш это есть Ш это коллекция хев Ага буду знать в Джаве по-моему есть хеты а вот вша это Ну короче суть в том что вообще в целом пофиг на язык программирования именно про структуру эту словарь там же при заключается в том что мы используем хэш функцию а то есть Для этого нам нужен хэш код чтобы вот ключ получить там быстро и значение потом получить тоже А как мы по значению вообще

    00:11:48 - 00:13:35

  • получаем по ключу получаем значение как это устроено есть понимание не вспомню Угу а использо вобще Ну приходилось использовать в дише в качестве ключа какие-то значения какие-то типы которые не являются такими базовыми там и и так далее Ну я довольно часто использую словарь прямо вот так вот не скажу Вроде бы да Ну там надо заорать несколько методов не знаешь какие Я подозреваю базовые для которые в об есть это шкод Get хш CDE на забирать Get и возможно equals Всё правильно да Get хш CDE и equals это нужно для того чтобы

    00:12:44 - 00:14:16

  • ты смог получить как раз-таки по ключу значение какое-то Угу То есть когда он будет в словаре у себя искать значение он будет вызывать не свой базовый Get хш код а именно твой за овей вот а что внутри хш кода надо сделать что вот ты говорил про хэш функцию Да что должен возвращать Get код для чего он нужен вообще а нужно каким-то образом сделать так чтобы мы могли каждый объект Ну отличать их друг от друга по этому ключу то есть а одинаковые объекты Я так понимаю должны возвращать одинаковые хш

    00:13:37 - 00:14:45

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

    00:14:10 - 00:15:53

  • забирать если в листе лежит какой-то твой тип класс Мы в нём как раз таки и тоже используем метод орам Метод equals чтобы и коллекцию и сам экземпляр объекта можно было проверить Хорошо я не понимаю почему ты так негативно отнёсся к Ну изначально когда я спросил про типы ты так негативно от к Garbage коллектору и прочему у тебя был негативный опыт на собеседованиях я я объясню ну э Дело в том что я часто встречал эту тему Она часто упоминается и конечно Меня заинтересовало но я хотел Я хотел бы знать что это такое понимать как это

    00:15:02 - 00:16:28

  • работает потому что это очень важная штука А ну и кстати как-то на работе я решал проблему оптимизации и тоже подумал а что если вот что-то со сборкой мусора не так и немножко взбесился потому что очень часто говорят про какие-то стейки Ну ладно все понимают что такое стейк скажем так там в концептуальном понима В смысле но куча Что такое где эта куча создаётся как стек создаётся какого он размера как это определяется некоторые говорили что вообще говоря СТК тоже в куче находится и никто ну как-то разж и чётко не

    00:15:46 - 00:16:59

  • говорит об этом я тея прекрасно по Я тебя прекрасно понимаю потому что я часто задаю такой вопрос и многие отвечают по-разному по поводу стека и куча То что ты сказал Да действительно они по сути хранятся в одном месте Ну в оперативке это точно Ну вот в куче просто их условно поделили для того чтобы ну как бы у нас есть стек Где хранятся ссылочки грубо говоря и куча Где хранятся объекты Вот а если говорить подробно ну как бы это надолго Вот поэтому я Я хотел бы у тебя пару вопросов спросить как раз-таки

    00:16:21 - 00:17:43

  • связанную с этим всем вот Давай начнём со стороны вообще знаешь что такое контекст синхронизации фу Это наверно Даже Подсказка что потоки Я знаю что у каждого у каждого потока свой стек а Куча у них общая нет тут я наверное хотел бы спросить про Хотя нет давай вот этот вопрос отложим чуть-чуть Давай всё-таки прямолинейный рбш коллектор а потом к нему из-за синхронности перейдём А смотри а у нас есть стек есть куча всё отлично А вот куча ещё делится на не несколько куч на несколько ксиа классификаций какие-нибудь знаешь что

    00:17:02 - 00:18:35

  • внутри куча хранится объекты но Они разделяются ещё не знаешь как А подожди я я просто хотел сказать что ще говоря существует А вот внутри каждой кучи Подожди подожди ку существует так Какие ку существует Ну там для больших объектов Я точно помню какая-то и что-то ещ я не помню уже а Поня да ние вобще между вот и это вопрос Я кстати не изучал не слышал такого наверно для оптимизации какой-то Чтобы как-то проще работать да да для оптимизации Ну вот Сам подумай вот у нас есть куча больших объектов и куча

    00:17:49 - 00:19:26

  • маленьких объектов Как ты думаешь Для чего можно Для чего нужно это делать ИП Я предполагаю что просто большие объекты они скорее всего создаются и долго используются а маленькие они создаются и уничтожаются и так вот очень много раз Ну не совсем знаешь что такое дефрагментация дадада я вот к этому и веду Да ну у нас допустим вот представим шкаф Да ну или полку в шкафу Да где Книги лежат допустим там сборщик мусора взял там как-то выборочно вытащил книги А я хочу засунуть туда одну огромную там

    00:18:49 - 00:20:04

  • большую жирную книгу а места для не нету то есть мне нужно подвинуть другие книги их чтобы место освободилось для вот этой большой книжки вот Вот это фрагментация да И тут смотри в чём прикол когда ты работаешь с маленькими объектами у тебя появляются эти вот дырочки в памяти грубо говоря Да и ты вызывая дефрагментацию ты их немножко упорядочивания ког м можешь Точнее ты можешь но это очень трудоёмкая операция в принципе нужно выделять память нужно вот брать например там с середины откуда-то огромный объект

    00:19:27 - 00:20:36

  • и перетаскивать его в другой участок памяти то есть здесь это будет стираться там выделяться память и опять записываться все эти данные то есть вот эти аллокации - это трудоёмкий процесс и поэтому выделили large object Hip и Small object Hip для маленьких объектов мы можем это делать дефрагментацию для large object Hip мы не делаем дефрагментацию они остаются так как есть вот поэтому их разделили Ну это основная причина для чего это нужно хорошо слышал что-нибудь про поколение вообще сборки мусора Да когда мы создаём объекты мы

    00:20:07 - 00:21:13

  • говорим сразу что это нулевое поколение И в чём прикол поколение Создано для того чтобы Мы понимали какие объекты У нас вот долгосрочные скажем так и их сборку мусора в целом Ну трогать не надо пока что в йм случае обозначаем Чтобы в следующий раз когда будет сборщик мусора проходиться он будет проходиться по нулевым объектам и те которые попадают под критерии сборки они будут забираться соответственно а те которые не попадают то есть мы их продолжаем использовать то есть они типа выжившие мы им увеличиваем поколение И

    00:20:40 - 00:21:47

  • говорим что скорее всего этот объект Ну ещё Ну долго будет использоваться Поэтому в следующий раз когда мы будем проходиться мы его больше проверять не будем мы будем проверять снова только нулевые Но если нам вот прям памяти не будет хватать вот мы прошлись по нулевым объектам А памяти всё равно не хватает вот тогда мы будем уже затрагивать элементы первого поколения потом может второго поколения Если понадобится вот Хорошо смотри давай я по конкретне сейчас вопросы буду задавать А смотри у нас есть

    00:21:17 - 00:22:16

  • м начнём с того когда у нас вызывается в принципе сборка мусора а Хороший вопрос А я так для себя понял что она вызывается тогда когда нам вот нужна память Ну то есть мне стало интересно почему Хороший вопрос потому что ответ очень простой Когда нужна память тогда Тай просто неявный такой не строгий ответ какой-то и вот да Нет ну почему вот нужно тебе выделить память Да ты про если у тебя недостаточно памяти или её очень мало да то Разумеется нужно почистить Просто когда я работал вот изучал ту тему как раз для оптимизации

    00:21:45 - 00:22:58

  • вот я хотел вот самостоятельно разрушить обекты Я думал Ну когда же сборщик мусора определяет как это надо сделать вот я лся лся отвечает когда захочет я такой В смысле Ну вот это вот не конкретный как раз таки Ответ когда захочет Да да да когда захочет это как бы странно звучит А про уничтожение объектов давай что такое dispose что такое Лай В чём их разница А вот это ещё лучший вопрос я постоянно путаю А ну как мы выяснили колектор сам решает когда удалять объекты мы как бы самостоятельно не можем заставить Вот возьми сейчас

    00:22:22 - 00:23:33

  • прямо Уничтожь этот объект Я так понял да а дипос нужен для того чтобы мы описали в нём как бы Последнее желание объекта что ему нужно сделать перед смертью там не знаю какое-то соединение закрыть Может быть там какие-то приколы сделать Угу Вот и собственно когда он попадёт под это под под уничтожение а вызовет деструктор Ну То бишь Final метод и там собственно Вот это Последнее желание будет выполнено Подожди я не очень понял то есть - это Последнее желание объекта но вызывается из финала Или я

    00:22:58 - 00:24:17

  • ошибаюсь Я кстати тоже не могу пря точно сказать но Насколько я понял Так нет нет я пытаюсь понять так ли ты сказал или нет А ну я понимаю так что вызывается когда вызывается не совсем наоборот Ну как сказать ты правильно сказал про но вызывается не Изи а финала вызывается после ну там Отличие в том то что финала вызывается тогда когда уже м сборщик мусора хочет уничтожить объект Угу а дипос вызывается когда мы прекратили работу по сути с объектом А он ещё какое-то время типа может посу сво в куча он будет

    00:23:37 - 00:24:57

  • существовать ещё дипос сначала вызове а потом сборщик мусора когда захочет его ударить он уже финал вызовет прикольно то Да так хорошо а Можем ли мы как-то гц вообще заставить там пройти по объектам и проверить что с ними можно ли их там почить я знаю что вот часто на Лид коде встречаю такое что пишут этом смысл и что он делает честно у меня это в списке дел изучить этот вопрос Я его так и Неу Ну хорошо ничего страшного таква дальше уйдём это страшная тема надолго да А давай от типов плавне перейдём к асинхронность вообще работал

    00:24:17 - 00:25:54

  • с асинхронность многопоточность может ну многопоточность э я бы сказал что нет а вот асинхронность это Ну конечно это постоянно с запросами Работа как на фронте так и на бэнде э вообще любые операции которые как-то долго выполняются там где-то да давай начнём с конкурентности тогда А разве это не про многопоточность в первую очередь не совсем нет не всегда есть абстракт есть верхнеуровневый термин concurrency конкурентность а под ним уже идёт асинхронность многопоточность и параллельность потому что конкурентность

    00:25:07 - 00:26:31

  • ну точнее потому что многопоточность - это ну давай начнём с того да что такое многопоточность можешь своими словами и прям вот коротко Ну исходя из название можно даже сказать у меня в голове такая картинка есть есть книжка по конкуренция там поезда нарисованы вот я хочу сказать что потоки как пути железных дорог параллель по ним могут поезда ездить параллельно друг другу не мешать вообще многопоточность - это выполнение операций в разных потоках можно так сказать Ну дадада да да да Хорошо давай тогда из

    00:25:49 - 00:27:11

  • многопоточности перейдём в асинхронность именно потом может быть вернёмся Вот чем многопоточность от асинхронность отличается Ну чтобы была многопоточность нужно по крайней мере чтобы было хотя бы два потока а чтобы вот ну реально многопоточность была а не одно поточность а в случае с асинхронность нам даже одного пота потока хватает а Суть в том что наши задачи они для выполнения будут брать просто поток из Пула потоков там что-то делать насколько я знаю создаётся под капотом стойт машина а вот

    00:26:39 - 00:27:52

  • и задача берётся поток из Пула что-то выполняется какая-то часть задачи если нужно подождать то мы поток возвращаем обратно в пул и там какая-то другая задача может его взять и тоже поюзал то есть асинхронность подразумевает возможность выполнения задачи в одном потоке да да Хорошо ты говоришь то что есть стоит машина да А в каком случае Задача выполнится в том же самом потоке Ну вот какой-нибудь абстрактный пример можешь привести Задача выполнится в том же самом потоке но А есть ли поток один ну Да давай не будем Давай не будем

    00:27:15 - 00:28:39

  • JavaScript использовать Да смотри вот у нас есть CP Да у нас есть компутер у которого несколько потоков Ну блин У нас сейчас все процессоры у которых железных потоков несколько и в этих нескольких потоках ещё сотни а то и тысячи потоков поэтому вероятность того что он будет один в одном потоке нулевая поэтому давай рассматривать кейс Где больше одного потока на процессоре Ну тут я не отвечу что как это сделать Нет гарантировать никто не сможет но можно предположить смотри у нас например есть анкай да мы вызываем

    00:28:00 - 00:29:19

  • асинхронный метод без эйта и через там не знаю через пять строчек вызываем Ну например пишем смотри War Task равно War Task 1 равно там не знаю название метода вызов короче без Айта дальше там что-то выполняется выполняется выполняется и потом пишем aade Task 1 Угу если Task один успеет выполниться то поток новый выделять не надо а вот как ну зачем там же у нас стоит машина стоит машина проверяет состояние нашего э нашей таски Если наша таска как бы уже completed в каком-то статусе comped Да ну то есть то есть она

    00:28:41 - 00:30:01

  • завершённая то зачем ей выделять новый поток Логично во просто да если он успел выполнить то как бы ему и не надо он же Эй позже вызвал Угу То есть если бы надо было дожидаться выполнения задач то ему пришлось бы новый поток выделить Ну то есть взять из из полу потоков вот а в данном случае ну как бы нет ну это просто максимально очевидный пример такой Угу Вот хорошо так ан стот машина в принципе всё хорошо В этом плане да Давай немножко поговорим тогда про разницу между асинхронность И параллельностью вообще

    00:29:21 - 00:30:43

  • использовал что-нибудь такое или вообще в принципе сам пра нетт я вс-таки потоков как-то избегал всё-таки Ну какое-то время я пытался прям в лоб именно потоки использовать а потом Я что-то почитал и говорят что ну зачем ЕС можно горят в интернетах Ну да да ну если есть возможность не использовать потоки не писать самописный там какие-то вещи то лучше конечно использовать нужно хорошо вот у нас есть А вообще абстрактно понимаешь разницу между асинхронность и параллельностью в принципе ну то есть когда Как

    00:30:05 - 00:31:21

  • выполняется асинхронная задача Как выполняется Параллельная зада Ну то есть даже не в рамках языка А вообще ну на каком-то базовом таком строгом и фундаментальном уровне наверное нет для меня просто асинхронность - это же не параллельность выполнения Она кажется что она параллельное А вот во многопоточности оно действительно может быть параллельным Да вот Об этом я и спрашиваю ну то есть асинхронность - это какая-то у нас есть две например операции а они начинают они могут даже начать в одно время а закончить в

    00:30:49 - 00:31:58

  • разное это асинхронность либо же они могут начать в разное время закончить в одно либо там ну без разницы а параллельность означает что у тебя две задачи стартануть одновременно и закончатся одновременно то есть они обе выполнялись параллельно Ну если очень говори если мы говорим что эти задачи одинаковые Да я так понимаю Ну если мы хотим сказать что что-то выполнялось параллельно ну просто говори что в асинхронном случае они могут в разное время закончиться Ну хорошо тогда они одинаково заканчивается в параллельном случае если

    00:31:23 - 00:32:39

  • они одинаково работают по времени Ну пусть будет так но Ну да да ну как бы они выполнялись параллельно если они одновременно завершились своё выполнение Ну какая там Задача будет может быть разная но закончились они параллельно вот если они закончились в разное время выполнение то это уже не параллельность вот и отсюда следует как раз таки что у нас параллельность подразумевает многопоточность что логично хорошо знаешь что-нибудь про конкурентные коллекции Вот concurrency diction и прочее Нет ну точнее я конечно недавно Слышал

    00:32:00 - 00:33:25

  • что-то такое но не изучал нет семафоры МКС [музыка] Локи Да я встречал их вот кста сефор там кажется вот эти Локи используют насколько я понимаю семафор это практически одно и тоже Ну да эту тему Я изучал Да они все там вместе были но суть в том что допустим у нас какой-то ресурс Да и там можем его читать можем его изменять И когда какой-то допустим поток изменяет какую-то переменную нам по-хорошему бы его залочить чтобы никто другой больше тро эту переменную Вот И для этого можно использовать какой-то объект Ну как правило это

    00:32:47 - 00:34:17

  • object который является объектом синхронизации есть на самом деле мемный такой этот момент где использует к ноль слышал что-нибудь про это Но типа ноль В смысле число да да ну просто использу самые примитивные объект Ну это на самом деле больше мем скорее чем реальность хорошо вот вот у нас есть Локи это Крит секция это блокировка какого-то объекта ты правильно всё сказал В принципе плюс-минус А чем же отличаются от локов семафор и КС для чего они нужны вообще не скажу семафор он помогает вроде как

    00:33:31 - 00:35:03

  • распределять потоки не совсем он скорее помогает выстраивать очередь К объекту Ну да да Это я хочу сказать Угу Ну О'кей хорошо так А по конкурентной коллекции Я спросил уже да Ну вот словарь конкурентный на самом деле он от обычного словаря отличается только тем что его можно использовать Ну то есть он потока безопасный Ну я тоже так понял Когда читал их описание Да concurrency Back - это лист потока безопасный concur Dictionary - это у нас раз таки словарь пото безопасный и и оттуда следует что у них

    00:34:17 - 00:35:36

  • есть методы не просто Add А например и Ну то есть попытка сделать что-то потому что там же может быть залочен экземпляр объекта поэтому если он залочен то он не сможет тебе вернуть пробуй потом вот хорошо так по коллекци по асинхронно прекрасно Давай немножко про делегаты ссылки на функции методы Какие знаешь делегаты конкретные а прямо которые уже типа из коробки идут да да экшены и Фан знаю по-моему что-то ещё есть но не встречал предикат это что предикат не скажу это фан который возвращает бол

    00:34:58 - 00:36:45

  • А вот Хорошо давай тогда про лямбда поговорим лямбда выражени Что это такое Ну это анонимные функции получается Ну типа того для чего они вообще нужны как они работают а вот как они работают тяжело сказать Ну просто описываем их на месте там где нам нужно их использовать Угу мы так плавне сейчас перейдём к Линку и я тут тоже об этом подумал Да хорошо знаешь такой паттерн Билдер Да можешь в двух словах сказать что для чего он нужен Ну могу пример прямо из жизни привести давай ну есть такое заведение называется

    00:35:53 - 00:37:30

  • са где ты приходишь и говоришь вот ну в отличие от Макдональдса например в макдональд ты приходишь говоришь Дайте мне Биг те дают Биг то есть вот тебе всё построили то что ты хотел сразу же в ты приходишь говоришь Вот давайте такую булочку Давайте такую-то колбасу положим или такой-то сыр такой-то соус И точно также работает Билдер То есть вы поэтапно можете создавать свой объект не сразу запросить какой-то определённый а поэтапно создавать его Ну в принципе довольно-таки понятное объяснение первый раз слышу про Билдер

    00:36:43 - 00:37:48

  • когда сравнивают с У меня есть товарищ который его очень любит ну мне тоже нравится это паттерн ну если про говорить можно привести например пример Ну не знаю я сейчас попытаюсь догадаться просто все вот эти А я понял чём суть вот эти методы они возвращают же это же не просто методы они возвращают уже самих себя грубо говоря поэтому можем выстраивать цепочку вот этих вызовов Ну возвращают как правило смотря что это да дадада да да Потом мы можем их там не знаю Лис сделать и всё прекрасно будет Угу

    00:37:20 - 00:38:39

  • Так вот давай вот как раз-таки про вот iqu in amable что это такое вообще для чего они вообще нужны чем они отличаются Ну это интерфейсы а а вот чем они кстати чем они отличаются я не скажу точнее А че они отличаются тем например вот если мы работаем с какой-нибудь базой данных то отличается тем что когда мы используем то мы выгружаем все данные и потом у себя на стороне их фильтруем как мы хотим Ну и что там делаем когда мы используем все эти действи происходит стороне ба данных мы получаем уже

    00:38:05 - 00:39:16

  • готовый результат то есть готовую выборку чем они отличаются вот чисто вот все интерфейса а а другой он в себе [музыка] хранит свойства и методы для того чтобы пробега по объектам чтобы там не знають узнать сколько объектов У нас есть в коллекции как в коде мы понимаем что будет использоваться qu Или например вызывая хороший хороший вопрос а а Можем ли мы просто привести к этому типу Ну вопрос скорее заключается в том то что когда вернётся АБ когда ри а по сути это методы расширения для Ну это подсказка

    00:38:45 - 00:40:39

  • скорее не отвечу не сталкивался вот у нас есть у нас когда мы используем обычные листы например листов он под капотом как раз таки вот это как называется в котором лежит грубо говоря лист там нун ещ приписка Ну короче не суть Вот получается когда мы работаем с коллекциями с листами то у нас всегда будет когда мы уже работаем с объектом данных например берём мы дбс фов ский Угу Да когда мы будем применять к нему то нам вернётся I за счёт чего это сделано за счёт чего Да ну вот как вот как мы понимаем какой точнее Как наш

    00:39:53 - 00:41:36

  • компилятор понимает какой результат нам возвращать Фу не скажу вот у нас есть объект у Мы у этого объекта вызываем метод Да но внутри этого объекта этот метод не описан Какой механизм языка позволяет нам делать такие создавать такие методы Я наверное как-то непонятно объясняю смотри у нас есть объект Вот ты например хочешь вот у нас есть string Да тип string Мы хотим чтобы у типа string был появился какой-то новый метод Как мы можем это сделать наследование А подожди метод расширения точно да да extension методы Way - это

    00:40:45 - 00:42:23

  • тоже как бы extension метод по сути угу вот поэтому когда мы подключаем библиотеки там базы данных мы вместе с ними подключаем там V и прочее вот Но для конкретного iqu вот Хорошо смотри вот мы есть Элементарные вопросы Сейчас я вот в чате напишу быстренько код и скажи сколько вызовов БД будет сколько запросов отправится в БД например quy равняется там db users в что-то так точка в что-то сейчас я немножко кривой код будет наверное но суть будет понятна равняется quy Order by X Date Ну вот а ну да давай вот так

    00:41:43 - 00:43:48

  • начнём с этого сколько запросов в БД отправится После выполнения этого кода я предположу что только первый запрос выполнится остальное это всё ведь фильтрация так хорошо Давай пойдём [музыка] дальше равняется вот я скинул второе сообщение теперь сколько запросов БД выполнится А что изменилось четвёртая строчка добавилась Ну я я понимаю просто Ну я так понимаю что мы сначала вот в первой строке мы уже Обращаемся к базе данных что-то там выбираем А дальше уже вот это кри оно лежит у нас и мы там делаем в первом был

    00:42:51 - 00:44:23

  • подвох в первом запрос не улетел в базу А то когда мы к листу что ли приводим он возвращается Ну я это называю материализовать объект Я не знаю как это правильно называется но когда мы используем методы вот этого вот I мед для тех которые возвращают Да мы как бы ещё не выполняем запрос эти интерфейсы называют как раз таки запрос интерфейсами отложенного выполнения поэтому когда мы пишем что угодно Пока мы их не материализуются какой-то и так далее мы не выполним запрос БД интересно я что-то догадывался до

    00:43:50 - 00:45:18

  • такого можешь проверить если ты ту лист попробуешь посмотреть что внутри кри там будет непонятные крокозябра в виде экспрес а сами значений там не будет грубо говоря вот то что мы используем метода мы формируем SQL запрос грубо Это как Просто паттерн Строитель где мы сначала опис толь в конце всё правильно очень похоже Да вот я именно поэтому про бил спросил вначале Вот смотри теперь идём дальше Ну вот это уже хорошо Мы про это поговорили Давай немножко про вообще про е сам поговорим приходилось с ним

    00:44:41 - 00:46:03

  • работать Как много работал вообще Ну да я с ним собственно только и работаю но прямо в глубину я его пока не знаю да и у меня почему-то в последнее время Такое ощущение что лучше делать чистым SQL Потому что как-то я не доверяю омке вот некоторые вещи а можешь пример привести Что бы ты не доверил мке а Боше абстрактный Да не знаю даже не абстрактный больше всего я просто не доверяю ей всякие связи с таблицами вообще как она формирует базу данных как-то мне иногда не очень нравится что там происходит связи это то есть джоны

    00:45:23 - 00:46:51

  • правильно джоны Например И вообще проектируют таблицы очень хороший вопрос сейчас будет вот по поводу джоновна есть там не знаю адрес один ко многим например связь когда мы вызовем лист у нас будет подтянут Будут подтянуты адреса юзера или нет и от чего это зависит да я сталкивался с этим Однажды а нужно сделать incl так А можно без Инда как-то А вот это не знаю Ну можно отдельно конечно запросить не в рамках этого запроса то есть не изменяя вот этот Запрос который ты видишь можно ли сделать так чтобы

    00:46:06 - 00:47:46

  • адреса подтягивались без Инда не знаю так хорошо Ну вообще Почитай Я наверно тебе ещё напишу попозже прочитай про loading Lazy loading короче подгрузка E на самом деле можно Ну вот как раз таки Когда ты прочитаешь по как это сделать те вот и он будет подтягивать всё вот ну это если очень-очень коротко абстрактно так хорошо ты говорил что тебе не нравится Как формируются объекты Да тебе не нравится как формируется название таблиц в BD или наоборот То есть у нас есть два подхода Код да да вот Тебе что не

    00:46:58 - 00:48:41

  • нравится или или оба может быть Ну Вот сама концепция C First мне прямо очень нравится это прям шикарно и к названиям я каких-то претензий Не имею сейчас не смогу привести Что именно меня раздражало но иногда кажется что хотелось бы больше контроля иметь контроля над создани объектов объектов таблиц да Угу Ну у тебя есть on Model creating ты в любом в любое время можешь через on Model creating управлять своим объектом То есть ты хочешь чтобы он там как-то изощрённые Mod cre указываешь все типы например часто такое бывает что есть

    00:47:52 - 00:49:18

  • такой тип Geometry на уровне БД он означает Ну какие-то координаты может быть и так далее Вот Ну вообще вот я пример привожу абстрактный Да и Понятное дело что еф не знает как в этот тип спить Например у тебя там какая-то строка грубо говоря он не умеет е О он не знает что нужно создать именно такой тип при помощи как раз таки о Mod creating ты можешь указать ему Я хочу чтобы это поле было такого-то типа например или я хочу чтобы это поле называлось так-то Ну это можно сделать на уровне Тити атрибутов Угу О'кей

    00:48:35 - 00:49:51

  • хорошо а так Database First немножечко про SQL спрошу хорошо Угу приходилось с индексами работать а с индексами нет но я знаю что это нужно для оптимизации Угу Ну на этом всё я так понимаю Да да какие бывают индексы и так далее А да давай по-другому вопрос задам попроще Наверное ты ответишь даже смотри вот да индексы в какой-то мере нужны оптимизации Какие минусы есть у индексов с точки зрения оптимизации а индексы хороши когда мы очень часто читаем данные когда мы постоянно их вставляем это не очень круто получается а

    00:49:13 - 00:50:32

  • понимаешь почему так происходит а насколько я Ну я интуитивно попытаюсь прийти к этому потому что индексу приходится как-то переосмысливать что происходит э ну очень топорно объяснение перестройки таблиц индексов Ну да ну то есть у нас есть таблица индексов и она каждый раз когда ты добавляешь сущность она перестраивается и поэтому э при добавлении записей в базу у тебя дополнение а дольше выполняется а чтение наоборот быстрее знаешь что такое B3 индекс Нет ну хорошо тогда не будем мучиться по индексом по

    00:49:53 - 00:51:20

  • джом в двух словах Какие типы связи Ты знаешь и как бы чего Когда речь идёт о Джона у меня в голове прямо представляется картинка когда вот вообще в целом мы разговариваем про какие-то множество кру пересекаются и вот типы Джов вот есть обычный джоинт это когда мы пересечения рассматриваем вот этих двух кружочков Давай не будем углубляться в во все вот эти вот джоны просто когда я был Старт мелом у меня там в один момент времени было около ти собеседований за месяц я всегда вот эти вот кружочки у себя перед глазами держал

    00:50:36 - 00:51:59

  • и очень часто они нужны были как мне кажется что особо особого смысла в этом как нет знать наизусть Ну типа ты открываешь [музыка] картиночки давай поговорим Что такое в принципе Join и какие виды связи бывают именно не джоновна связей Ну там вот мы уже назвали один ко многим один ко многим многие ко многим не скажу больше он к одно а ну да да вот что такое один к одному Кстати как сделать связь один к одному Ну когда однозначно получается то есть мы знаем что какому-то какой-то строке однозначно

    00:51:20 - 00:52:58

  • соответствует какая-то другая строка Давай чуть детальнее вот у нас есть объект А и обект см как мым к одному А ну у них же первичные ключи Ну предположим что у первого объекта есть ссылка на второй да [музыка] Угу М а а у второго ссылка на первый Ну не совсем так Ну смотри чем тогда я бы следующий вопрос задал хорошо а как Как реализовать один ко многим просто указать у них есть первичные ключи Сейчас секунду у этого одного ничего не указывать А у тех вот многих у них существует ссылка на вот этот

    00:52:14 - 00:53:55

  • первый Ну хорошо а та э из второй табли и во второй табли каждый может Сола на любой из первой А чем это отличается от к одному один к одному Ну ты сказал один к одному Что у обоих объектов у обоих таблиц есть поле с внешним ключом на другую таблицу Да я так понимаю у тоже самое Да скорее катоду про один к одному к тумы перейдём У тебя есть объект А и объект б внутри объекта А и объекта б есть внешние ключи у объекта А внешний ключ на б у объекта б внешний ключ на А я правильно тебя понял да И как ты будешь

    00:53:15 - 00:54:55

  • делать не знаю ну ты же не сможешь указать то что у одного объекта из таблицы а может быть много объектов табли как ты это сделаешь Ну почему много В смысле он может ссылаться на любой из таблицы Да хорошо Он может ссылаться На любой А как он может ссылаться на несколько Нет не на несколько он ссылается он просто ссылается на один любой Ну это один а один ко многим Угу Ну вот у тебя есть внешний ключ Да вот таблица а есть внешний ключ на таблицу б правильно Угу это связь один ко многим [музыка]

    00:54:14 - 00:55:34

  • как слать если затруднительно могу дать Блин э подсказка слишком будет прямолинейная Попробуй подумать если не сможешь я скажу я что-то запутался уже Ну смотри у нас когда мы используем как правило мы создам третью таблицу из моментов который меня раздражал в мке что она какие-то таблицы создаёт странные о которых я ну не понимаю что происходит мке можно настроить через как раз-таки тот же о Model кнг чтобы у тебя не создавалась отдельная таблица чтобы у тебя был виртуальный объект Ну это какая-то фича

    00:54:58 - 00:56:04

  • ефа конкретно То есть как правило чтобы сделать связь Many to Many нужно создать третью табличку например а назвать её Да и уа будет у каждой записи этой таблицы будет как ссылка на табличку А так ссылка на табличку б и они могут как бы повторяться и так получается что у элемента А может быть много у элементов б и у элемента б может быть много элементов А ну вспомнил Да такое было да хорошо А давай немножко тогда уйдём от SQ противного вот перейдём к косп нету Мы постараемся побыстрее а то у нас почти

    00:55:39 - 00:57:06

  • уже час да а вообще что такое приходилось работать сне фреймворке Ну я обычно использую Ну это понятно На фреймворке или на коре А на коре Угу с фреймворка мне приходилось работать раньше не Ну на самом деле сейчас наверно разработчики уже с фреймворка и не работали Ну окей Тогда давай по кору именно обсудим Что такое О это вообще очень прекрасная штука Она позволяет нам Ну во-первых избавиться от Юза кода о точнее сделать как раз таки рею код А я представляю middleware как матрёшку то есть э там

    00:56:22 - 00:57:48

  • внутри где-то у неё есть сам endpoint к которому мы приходим и при необходимость А нет в случае с midle ве это для для всех запросов мы их всех оборачиваем вот в этот middleware какие-то функции делаем перед тем как передать запросу на обработку например какие-то можем хедеры проверять или ещё что-то знаешь что такое эф Да я знаю что это такое Я его использую например для аутентификации а для исключений что используешь для потому что я хотел бы глобально их отлавливать Ну у тебя есть слышал про

    00:57:05 - 00:58:24

  • такой да да слышал Почему не используешь его а пишешь свой Ну просто Это наверно просто мигрирует из проекта в проект Ну у меня примерно так же просто я написал и он мигрирует да да Хорошо давай про тогда поговорим Что [музыка] такое in вот в глубину не смогу сказать как он там работает но суть в том что у нас допустим есть тот же тле ему нужны какие-то зависимости то есть для работы ему нужна допустим база данных там каширование какое-то и допустим логирование и он сам этот объект не Сам определяет чем он

    00:57:49 - 00:59:21

  • будет пользоваться А он говорит просто что вот вот это мне нужно вот это это это И вот таких типов и уже снаружи ему это внедряется То есть ему даётся база данных какая-то какой-то экземпляр который соответствует этому типу и так далее А мы в кла в файле допустим progr указываем что вот этому например интерфейсу соответствует вот этот класс экземпляр Угу Ну в принципе ну а для чего нужны lifetime cycles вот эти вот sced Single Tone и так далее а э даже не соображу так быстро чтобы для изолироваться Наверное чтобы каждый

    00:58:36 - 01:00:03

  • запрос мог например изолированно создавать свои сессии какие-нибудь либо я тебя не правильно понял либо не совсем Смотри вот нам нужно У нас есть контроллер да Ты создаёшь свой какой-то класс там и в нём есть определённые действия и что-то хранится Да какой-то объект и тебе нужно чтобы этот объект хранился всегда Ну на протяжении выполнения короче хорошо это силтон да очевидно противоположный синглтон какой Ну это самый вот этот низший этот ТН угу вот есть что-то между ними это спт - Это для каждого запроса

    00:59:20 - 01:00:49

  • выполняется создаётся один экземпляр в рамках запроса htp запроса а не знаю поддерживаются ли там какие-то другие запросы а Смотри Представь что ты Di коровки используешь в консоли Вот тебе важно Это Ситон тнн ипит для меня вот ну я один получается работаю то совсем ну там же как бы запросов нет получается разницы то и нет не знаю я так вот прям быстро не отвечу на этот вопрос Ну да по сути можно упростить до того до выполнения использования одного запроса но по факту Это не запрос а контекст Ну то есть контексто може могут

    01:00:09 - 01:01:37

  • быть не только htp запросы Угу поэтому Ну да как правило пте - это запрос хорошо так так так так так ну обычно спрашивают много всего разного связанно там с с этими с рестом и так далее знаешь что такое рест Ну рест - это такой подход набор таких правил которым Ну следует соответствовать Если ты хочешь делать Красиво классно и прекрасно Ну работа с http А какой а можно назвать которая соответствует правилам Я тебя понял А есть какие-то Ну знаешь какие-нибудь принципы реста ой Вот эти принципы честно я их не

    01:01:04 - 01:02:36

  • запоминаю даже и не перечислю просто мы по полной используем вообще в целом http То есть у нас же есть вот эти разные методы точнее http методы мы используем по полной правильно ты создаём используем и параметры как-то для и параметры пути там хедеры можем применять тоже Ну в принципе да да в принципе так есть Я тоже в последнее время это делаю интуитивно Да просто уж привычка сформировалась Вот хорошо про аутентификацию что-нибудь расскажешь что такое я бы сказал аутентификация авторизация я вот постоянно путаю эти

    01:01:50 - 01:03:13

  • два слова ну насколько я помню аутентификация - это вообще процесс распознания Кто ты такой Подожди подожди давай я тебе добавлю ещё путаницы идентификация ещё есть эти три слова есть идентификация аутентификация и авторизация вот что это такое А наверно идентификация - это распознание кто вообще к нам ломится аутентификация это вообще он принадлежит нашей системе подожди не совсем Какая роль у него я бы сказал тоже нет нет Ну смотри у нас есть тут на самом деле всё логично и просто у тебя есть идентификация Да

    01:02:32 - 01:03:57

  • идентификация Например я говорю что меня зовут Дамир да ое принимат ями о а ты точно Дамир подтверди а то есть это ты передаёшь пароль например там не знаю 1 2 3 45 я передаю пароль это аутентификация О он такой проверяет пароль и говорит типа да это действительно домир Угу авторизация - Это проверка давай попробуй можеш можешь ты этой услугой Ну типа того Вот как раз таки авторизация ближе к тому что ты сказал по поводу наличия ролей и прочее Угу авторизация - это про доступность того или иного действия Угу Вот хорошо

    01:03:14 - 01:04:48

  • Какие типы аутентификации Ты знаешь А какие подходы к реализации аутентификации можно так сказать честно я не вот этим не занимался никогда у 2 а вот эти вот вещи да bic Ну я про них слышал но не использовал я обычно чисто токенами пользуюсь Бим Да ну сам генерики токены Хороший вопрос сам генерирует какие-то токены а как ты их лидирует вот Каким образом ты Гене эти токены Ну нач с то что это просто строка я гарантирую наверно что они уникальные так не они могут быть и не Уникальны тебя роль может быть не

    01:04:01 - 01:05:39

  • уникальным Почему почему токен должен быть Ну это тоже на самом деле об уникальности это к вопросу авторизации уже давай начнём с аутентификацией вот генерации токен как раз таки происходит на этапе если у тея ВС что у тебя есть при заходе на сервер ука для каж токен это какой-то набор цифр букв Рандомный или что да цифры буквы Захарова там с помощью каких-то данных и соли у А какой какой алгоритм хэширования используешь да там разные можно использовать Ну md5 я точно не использовал бы можно ша 256

    01:05:02 - 01:06:27

  • наме использовать А почему md5 не использовал там есть прикол что он не совсем вро рует уникальность ша тоже не гарантирует уникальность Да блин по-моему никто не гарантирует уникальность я не помню что что-то там есть такое уязвимое натыкался юид тоже не гарантирует уникальность но Их используют м ну md5 он просто менее безопасный Ну да скажем так хорошо а вот есть такой подход Бир аутентификация слышал что-нибудь Я только слышал про вот все эти подходы а подробно их не изучал Бира что-то внутри хранит

    01:05:46 - 01:07:20

  • себя [смех] строку это строка есть вот внутри этой строки есть Точнее он поде натри части тело и хэш слы что-нибудь про это а суть не в том чтобы типа сравнивать э за хеширование чего для того чтобы гарантировать что пользователь не изменил содержание тела Ну ну да вы тело хэширующая [музыка] этого Бир токена в том то что он виден всем но не редактируем то есть любой желающий может взять этот токен за задекорировать b64 и прочитать содержимое но он не может его изменить Потому что если он его изменит

    01:06:35 - 01:08:28

  • хэш уже сломается и как бы токен станет невалидный автоматически Вот вот прелесть нашего Бер токена Ну я подобную штуку типа сам реализовал но для других целей не для аутентификации Ну конечно интересно интересно Ну в следующий раз Используй gvt Что такое gvt Кстати gvt я слышал там по-моему три ключа что ли что-то такое три ключа это там Java что-то такое есть tokens а да tokens ну то есть это есть то что я объяснил заголовок внутри него какие-то Данные в и так далее вот Ну хорошо можеш их можно расшифровывать там через

    01:07:38 - 01:09:19

  • GV Ну там на самом деле B4 Может и так просто через GV будет красиво законо там разные алгоритмы могут быть ша там как раз-таки hs256 и прочий как раз таки у него будет и подпись Ну вот шки хорошо Ну в принципе Давай я немножко обратную связь дам в принципе всё неплохо достаточно по той теории которую мы обсудили есть какие-то минусы так сказать недоработки но они больше связаны с такими вещами там которые во-первых редко используются Ну не считая конечно же того что мы обсуждали в конце вот по поводу Бира по

    01:08:29 - 01:10:06

  • поводу gvt 2 и прочее тебе нужно попрактиковаться почитать попробовать сделать Ну просто как бы твой опыт обязует тебя это делать ну то есть Ну я так понимаю это типа стандарта уже просто Ну как бы да это Стандарт он используется везде то есть 2 ты 2 подразумевает что Войти через что-то например ты заходишь там какой-то сайт Да и он тебе предлагает Войти через Gmail Вот это организовано при помощи 2 вот ну либо openid conn тоже через него делают Вот то есть То есть я бы рекомендовал попробовать побаловаться с

    01:09:18 - 01:10:35

  • 2 прочитать что это такое попробовать реализовать там не знаю вход через Google вход через Facebook вход через github Это стандартные гайды Они есть повсюду вот во-вторых ну разобраться с биро прекратить использовать Basic Ну то есть Бесик используется просто ну то есть чаще уже если делают авторизацию с нуля сейчас её делают на gvt в большинстве случаев Ну все крупные компании используют gvt нун он может использоваться и для 2 тоже вот то есть рекомендую с этим поработать по поводу того что было

    01:09:57 - 01:11:26

  • изначально Это по поводу типов си шар в принципе всё очень даже неплохо очень даже хорошо Ну то есть на уровень УВ до Ну если будешь понимать поколение получше это будет плюсом но к сожалению на 72 вот такие вот которые сейчас были они как бы очень сильно мучают по теории они не могут теб мучить по там твоему опыту как таковому Да потому что у тебя его не так много но они не могут тебя уже мучить по СИ шарпу там спрашивать как там Что такое циклы там и по синтаксису в принципе да потому что это

    01:10:41 - 01:11:58

  • глупо вот поэтому тут вот как раз таки разделение В чём отличаются собесы Джуна мидла и синьора ну в моём понимании джун должен код писать вот эти вот всякие вот РД коллекторы и прочее вообще в глаза не видеть пишет Работает всё нормально Ну короче пишет хоть немножко осознаёт что пишет это работает уже хорошо Мидл должен понимать что он пишет хотя бы не на самом базовом уровне но какие-то нюансы знать и так далее уже в глубину ити бы спокойно самостоятельно выполнять зада вот относительно Оса вот к тебе

    01:11:23 - 01:12:35

  • прит например сеньор Да и скажет типа вот нам нужно сделать авторизацию для этого сервиса Я хочу чтобы это был ну архитектор может быть не Синь если есть и скажет Я хочу чтобы это было используем бы ты должен суметь это сделать уже ну то есть На позиции медла должен уметь делать юсь понять опыт человека чем он занимался насколько он мется с нашим опытом это раз во-вторых как он размышляет Как как подходит к решению задачи То есть к сожалению чаще всего Бывает такое что задачи плохо описаны Как он относится к

    01:11:59 - 01:13:18

  • этому узнаю как он пытается сам разобраться зада что будет делать к нему прила плохо зат что джун скорее всего побежит либо он вообще ручки сложит и будет пытаться что-то сделать да либо как бы его нужно будет прямо за ручку вести там сказать здесь вот это сделать здесь вот это сделать Ну то есть самостоятельным самостоятельности по минимуму у МИД уже должно быть больше самостоятельности Да но у него должна быть самостоятельность на уровне типа у него пришла задача он е должен уметь декомпозировать уже немножко саму задачу

    01:12:43 - 01:14:02

  • то есть он может может уже разделять их как-то Да и решить её самостоятельно и найти как бы ответы на свои вопросы Ну это в моём понимание а Синьор уже может брать Чуть более сложные задачи чем idle Да в том числе какие-то архитектурные моменты самостоятельно решать то есть на основании своего богатого опыта так сказать Вот то есть Поэтому сильно отличаются есть не сильно отличаются уровнем знаний и глубиной в каких-то аспектах вот а синьора я уже мучаю чаще всего по архитектурным задачам Ну то есть общаюсь

    01:13:23 - 01:14:44

  • про его опыт и спрашиваю про архитектуру то есть говорю типа вот у нас к нам пришёл клиент нам нужно решить вот такую-то задачу сделать ему такой-то сервис и говорю давай подумаем что мы будем использовать и так далее вот та я провожу таким образом Собес у синьора Ну и спрашиваю там проверка на дурака Аля Что такое асинхронность Поверь мне не каждый отвечает так как ты даже я провёл там ну кучу собе на сеньоров Ну за последние полгода штук 20в провёл из этих там вот ответили хотя бы так же как и ты Ну примерно

    01:14:03 - 01:15:12

  • человек 5 А вот такое идеальное решение ответ на этот вопрос сильно глубже чем там типа ну те кто понимает что точнее кажется что они понимают всегда слыша что что там стоит машина тебя не начал Мучить А сеньоров Я спрашиваю что за стоит машина что это такое вообще как она там организована Ну то есть начинаю докапываться иногда выясняется то что ну прочитал где-то есть статья на хабре как это разворачивается очень подробная Вот оказывается бы он вро как немножко прочита э статью него Маши есть а по факту он не понимает как

    01:14:38 - 01:16:01

  • это работает Т машина не каждый понимает что такое Т машина в принципе как она работает ну как она строится там на самом деле что-то похожее на скес Ну да куча состояний и мы перева с одного на другое ну там что-то типа знаешь грубо говоря я не помн как называется переменно равно 3 делает Я сю три эйта в одном методе что будет происходить Кстати что будет происходить Ну это же мы разбиваем получается метод на вот эти кусочки между атами А где хранятся Ну вот эти разделённые кусочки В чём хранятся Ой я не помню там там же

    01:15:25 - 01:16:46

  • по-моему это и есть этот метод со свич там приватные фиды и в каждый приватный филд Ну то есть для каждого вот этого эйта выделяется приватный филд и в него записывается Аля делегат вот ну то есть такие вот моменты тебя я не стал му по что ты примерно знаеш что стоит машина уже хорошо бы многие не знают Я поэтому и удивился что сеньоры такие прям там 15 лет опыта некоторые не могут ответить что такое в принципе как он работает вот ну для меня это было удивлением Честно говоря Ну возможно забыли А в принципе я не думаю что у

    01:16:08 - 01:17:25

  • тебя будут какие-то проблемы связанные рито ко специфичны вопрос Вот А в принципе так всё окей как дано ты по-моему недавно Собес проходил правильно Като компанию Ну вот прям такой классный совес вчера был буквально то есть насколько сильно совпадают вопрос которые мы обсуждали что я могу сказать понту не так много было вопросов эти локеры семафоры ютекс по Линку были вопросы такие же так по cql чуть-чуть поменьше бы ну там меня чисто д спросили если честно Ну и вот это авторизации конечно не было да а

    01:16:46 - 01:18:16

  • также самое а вакансии был А по-моему у них не было прямо вот у них чисто така такое базовое описание там предполагается что spnet но вакансии не написано этого странно Ну то есть да могут про аутентификацию конечно не спросить но я Почему спрашиваю потому что ну как бы странно видеть даже А у которого нет аутентификации Ну на бою Ну мне приятно что такой вопрос был И теперь я знаю что это точно прям надо подтянуть Ну вот Сам подумай у тебя есть какой-то бизнес Да и ты делаешь за него А как он может

    01:17:34 - 01:18:44

  • быть без аутентификации то есть левый Любой человек сможет там воспользоваться твоими данными Ну в любом случае аутентификация должна быть просто именно вот про стандарты Я имею в виду что Ну окей Ну то есть да я понимаю а вот ты сейчас работаешь в какой-то компании На позиции Да у меня нет какой-то строгой позиции я сейчас ведущий программист я Это просто знаешь как название и название меня скоко сколько вас в команде А у нас в команде именно программистов именно разработчиков Да Ой всего лишь два

    01:18:12 - 01:19:25

  • А кто ведущий ты или Ну то есть кто выше или вы параллельно так сказать идёте Я тебе больше скажу даже что до недавнего времени я единственный был То есть сейчас я я тебя понимаю меня также был вот я я себе замену нашёл как бы нашёл классного парня собеседовать Вот и теперь Нас двое получается ну то есть он позиция джун или Мидл или Какая позиция у него условно Ну я его я бы не назвал бы его джуном потому что он очень быстро влился в проект Угу Ну у вас просто не хватает человека который Ну будет так сказать вам

    01:18:48 - 01:19:58

  • помогать с точки зрения архитектуры Ну какой-то старший разработчик Ну всю эту работу я беру на себя поэтому у меня вот есть книжка по паттернам там и всё это по сиру я себе взял книгу это всё хорошо Я тем же самым занимался когда у меня было 2 года опыта Но к сожалению это так работает что ты просто пока ты сам не попробуешь пока ты не видишь как более умные дядьки что-то не реализуют и ты не поймёшь почему они это реализуют как было Ну больше больше всего не хватает именно вот вот мы с тобой сейчас общаемся я от тебя какой-то

    01:19:24 - 01:20:33

  • опыт сейчас перенимают именно общение с кем-то Кто выше не хватает Я тебя очень понимаю у меня точно так же сейчас у меня нет какого-то мнения сверху оно в принципе мне редко нужно мне просто Иногда нужно чтобы кто-то подтвердил мою теорию Что нужно делать так вот ну поэтому как бы я вот нанялся себе тоже Синь там начала вообще одного нанимал довольно-таки умный парень но не получилось не сошлось он из Яндекса родом причём в Яндексе был Я кстати удивлён сеча с что это единственный проект Яндекса его закрыли

    01:19:58 - 01:21:26

  • поему Если бы я собеседовани я может быть посмотрел бы ещё твой код если он есть у тебя есть github а github у меня есть Но скажу честно это какая-то просто у меня свалка куда я иногда знаешь сохраняю просто что-то да у меня примерно так же да ну в твоём случае если бы твой опыт был релевантен там подходящий нам то скорее всего я бы тебя взял на работу Ну на позицию мидла Ну наверное больше Старт Мидл средний Мидл где-то так угу вот те ещ пому А вот такой вопрос Вот ты говоришь что ты собеседуем многие компании принимают

    01:20:52 - 01:22:12

  • только те кто тех кто в России Поэтому моя компания в которой я работаю принимает из любой страны Поэтому ко мне приходит определённый круг лиц которые ушли из банков Ну Таких вот каких-то секторов где требуется нахождение в России а они как бы уехали Да И вот много та или планируют уехать и получается так что я собесе в основном вот этот пол людей И я очень был огорчён Честно говоря у сеньо были было много сеньоров которым 40 лет которым 50 ну под 50 лет были люди 49 48 да и с ними общаешься Ну

    01:21:55 - 01:23:19

  • типа вот вот для меня было показателем это архитектурная Задачка из 20 человек примерно которых я решили е имини это 5 лет по-моему Угу Вот минимальный опыт и мы искали максимально релевантный опыт к нашему то есть мы искали людей которые там каким-то образом были связаны с финтех Задачка была тоже связана с финтех а именно там с распределением транзакций от клиентов то есть мы принимаем транзакции обрабатываем их Вот задачка была с этим связана и вот из этих 20 человек решили только три ну поэтому я делаю вывод что как бы

    01:22:40 - 01:24:06

  • многие назва сеньорами но по моим субъективным по моей субъективной оценке немногие ими являются но ну либо же они являются сеньорами просто не в той не в том направлении не в финтехе вот А по поводу более низких Ну то есть мы вообще в принципе не берём ниже синьора никого поэтому прям реально последнее время я никого не соседова ниже сеньора Вот Но вообще людей многого покани не так много не всегда приглашают даже сеньоров Я уже не говорю про медв и джунов То есть можно откликнуться на 10 вакансий и

    01:23:22 - 01:24:48

  • пригласят на Собес только на одну это сеньоров джунов понятное дело там можно откликаться на 100 и получить ноль откликов медов как раньше очень любили очень любили очень часто звали на собесы но сейчас как будто бы нет такого Ну то есть сильно сократилось количество вакансий для медв вилки кстати растут по деньгам уже предлагают гораздо больше чем предлагали раньше ну это мои субъективное ощущение то есть сейчас я всё чаще вижу вакансии которые предлагает больше 400.000 руб Вот Раньше такое давала только одна

    01:24:07 - 01:25:22

  • компания я не помню как она называется вот Но она как бы время там действие там по часам прямо чуть ли не оплачивала вот остальные никто не давал такие вилки больше 400000 сейчас это сп рядом можно найти там если открыть тот же даже вот то есть вилки на лов подросли и на сеньоров нанов я не смотрел честно говоря но мне кажется чуть-чуть тоже подросли то сечас нет как таковых вакансий если неже можно было идти Я вообще работал за гу стажёром вот 8900 по-моему до до уплаты наков Ну в ра мне чуть больше повезло но

    01:24:46 - 01:26:14

  • всё равно в первое время я работал чисто вот на развитии Ну я я работал за бензин вот за бензин до офиса и обратно Вот на это мне хватало потому что офис был за городом Вот как раз таки 8000 уходила на бензин в месяц вот поэтому сейчас довольно-таки сложно как обычно найти работу Джуна очень сложно Я не представляю как они это делают Я тоже кстати вот прям не знаю вот чуть сложнее найти работу медла и вот по поводу сеньоров вопрос спорный если ты в России Мне кажется чуть проще стало найти работу Ты можешь и немножко вилочку

    01:25:34 - 01:27:07

  • поднять Вот потому что многие уехали из России если компания предлагает вакансию только для России то как бы много человек отсева медв это тоже чуть-чуть коснулось но просто вакансии как будто меньше стало на медв Ну я бы не сказал я как-то монитор рынок и мне кажется вот в августе сентябре их стало прямо очень много их стало много потому что многие компании сняли холод на найм Я сравниваю с показателями До февраля д вго Ну то есть тогда имею в виду больше было Потом вообще они пропали они очень

    01:26:20 - 01:27:31

  • потому что все компании хо на всякие емы и прочие вообще ушли с рынка ну короче очень сократилось количество вакансий в какой-то момент прям сильно сейчас те кто холди Ну то есть Холд нам У кого был начинают открывать вакансии вот я знаю как минимум БКС Они заходили на год и вот сейчас опять нанимают разработчиков вот поэтому Ну это недин не единичный кейс многие компании тоже вот начинают нанимать Потому что люди уехали банки начинают опять нанимать активно там тот же вот Сбер очень сильно не хотел никого нанимать сейчас по-моему

    01:26:58 - 01:28:13

  • уже кого-то нанимает вот поэтому Да сейчас выросли выросли вакансии но выросли они не не от показателя До февральского До февраля было очень много вакансий в те же аутсорс компании Сейчас с аутсорс всё как бы они есть ещё но многие ушли крупни вот тот же рат ушёл ещё вот как он назывался там по-английски как-то ну не суть то есть несколько крупнейших аутсорс компаний ушли с рынка те же Jet brains раньше спокойно нанимали в России Сейчас они только рело кантов нанимают то есть тоже вакансий нет хотя

    01:27:36 - 01:29:04

  • компания привлекательная достаточно поэтому вакансий стало меньше по моему субъективному мнению э-э немножко Сейчас слава Богу стало больше с момента там февраля и так далее но в принципе не не сильно сеньор ских Как обычно вакансий как бы много просто там треть компании требует нахождения в России вот вот на такие вакансии я бы вообще с удовольствием опалил и конкуренция ниже Но вот те кто уехали и пытаются найти Им конечно я не завидую Ну то есть конкуренция сильно большая либо ты ищешь в России но как бы

    01:28:19 - 01:29:51

  • конкуренция для них выросла просто Либо ты ищ в России с большой конкуренцией либо тыщ за бугром с огромной конкуренцией без хорошего знания языка и так далее как-то так я оцениваю в принципе НОК но ВС Возможно даже возможно найти работу нов сильно меньше я их раньше чаще видел тоже вот в Мом городе в Казани раньше проводил стажировки раз 3 месяца по-моему раз три Ну да либо нет Раз меся раз квартал проводил стажировки набирал людей на стажировку Так так я и попал в программирование А сейчас они вообще

    01:29:06 - 01:30:21

  • по-моему не проводят или просто я не слышу ну многого проводил стажировку Вот Но я видел только сеньор скую вакансию у них видел Тен но я не рекомендую вот прекрасный банк банк хороший может быть и продукты хорошие просто собе очень сложный очень очень сложный собе Ну у меня там бывший техдиректор работает на сре Ну вроде доволен Я так понял среднюю по рынку Вот примерно так Ну у них Собес из четырёх этапов состоит Ну как в Яндекс короче грубо говоря или Как в Google Вот такой же Собес они все сделали я бы сказал что

    01:29:44 - 01:31:13

  • меня почему-то Сбербанк отторгает вот что-то мне не хочет не хотелось бы там работать а там вакансии т Как таковых Нет там есть у них доставка как она называется я не помню Да видел Не ну может быть из Бер maret я не знаю У них была какая-то доставка адек свой вот там был dnet я точно на мне там товарищ работал ну Ему не понравилось там тоже самое как синьки там двист хорошо получают на Legacy проектах Ну это отдельная история А так ну в dnet идти в Сбербанк Ну очень странное Решение азон вот самый Мне кажется вот из таких руков

    01:30:37 - 01:32:04

  • российских это азон Да вот Озон Я прямо сразу заметил и вот до сих пор вот думаю туда как-нибудь пойти тоже достаточно сложный Собес но гораздо легче чем тиньки там Ты пишешь на си шарпе и на Go Угу Ну Собес по СИ шарпу как правило контур есть прекрасная компания контур Я тоже отправил недавно но там опыта надо было побольше Ну контур просто это какая-то дочка Яндекса типа ну так говорят вот в принципе хорошая компания много опыта можно получить у них Угу А так в принципе кого я ещё из Крупко известных знаю X5 X5 пишет на ДОТ нете у

    01:31:20 - 01:32:52

  • буду знать Да они тоже нанимают сейчас но я только сеньоров видел Милов джинов не видел Лида ищут Они по-моему Ну такие вот X5 Да на дотнет у них на Доне этот как его программа лояльности ба вот эти Пятёрочки и Ну вот как минимум программа лояльности и логика по транспортировке грузов между складами угу Тоже надути вот Ну как-то так Ну вообще блин все что говорят вот эти it курсы и так далее Что Нате работу Ну бред брехня Ну да да да вот я не знаю вот я хочу узнать как ка академи работает как будто

    01:32:06 - 01:33:44

  • бы не сходится что-то у меня какие там подводные камни Я не понимаю я иногда для забавы открываю курс программы Ну если он размещён конечно я не понимаю зачем за это платить деньги если это жёваная есть в интернете люди думают что пройдя этот курс они найдут работу Ну в этом ужда за р ты станешь программистом но это не так если очень повез ты станешь программистом Я сказал что даже по определению это противоречит что программист он должен само обучаться а не на какой-то курс записаться где его там попытаются обучить Ну можно же

    01:32:57 - 01:34:14

  • совмещать это это как раз таки Не аргумент аргумент в том то что они гарантируют некоторые гарантируют трудоустройство или мы вернём вам деньги все можно поста пускают Там не знаю сотни специалистов Ну даже тысячи специалистов и они всем гарантируют гарантирует трудоустройство как это возможно Ну вот мне интересно скоре всего Там просто какие-то какие-то мутные текста в договоре вот которые вот я знаю что был кейс типа они тебе предлагают пять там вакан Ты ходишь на собе тебя не приглашают они свою сть

    01:33:38 - 01:34:56

  • выпо вот с Като не знаю многие рекламируют Кату Кату адеми но тут они прямо говорят что типа всё прозрачно написано Я не видел договор Но если это правда я не знаю как они финмодель выводят это не возможно что-то там точно не так вот кстати вопрос по вот этим ну на курсы конечно неинтересно идти а вот в последнее время у меня такой актуальное желание появляется найти себе ментора вот чтобы вот возвращая к тому что чека с который можно было бы пообщаться чтобы он сверху как-то объяснил такие моменты

    01:34:20 - 01:35:32

  • был ли у тебя такой опыт и Если да то где можно найти ментора это что нативная интеграция Ну короче смотри я работал по-моему с двадцатого года ментором на платформе совари ещё раз как называется совари ну я тебе потом скину Угу Вот я сейчас очень мало людей беру у меня времени просто нет Вот Но вообще там есть куча разработчиков по любым языкам там аналитики есть дизайнеры есть кого только нет просто плати Вот менторство я считаю Полезно если ты сам занимаешься сам там выучил синтаксис вот использовать НТО для изучения синтаксиса

    01:34:56 - 01:36:20

  • Ну это бред Вот синтаксис выучил там не знаю калькулятор написал хочешь свой сайт написать Да вот и тебе нужен ты не знаешь как это делать вот можешь прийти к сказать Типа вот у меня такая-то цель помоги и выстраивать с ним общение таким образом чтобы он тебя наставлял а не писал код за тебя Да да да И вот я вот может быть знаешь Степан Береговой Тубер а нет нет не слышал ну короче он ютубер тоже дотнет разработчик по сути вот а он собе Он проводил некое интервью с одним человеком которым как раз-таки я

    01:35:40 - 01:37:01

  • которого я менто он как раз таки про со рассказывал про менто Ну есть про меня рассказывал Вот вот этот человек Он блин машина Просто он ему там около 30 30 с чем-то лет было вот он какой эке около эникейщика Ну там настроил то там настроил там в магазине там камерой помог таким занимался короче с м позанимались буквально нем с он через год мелом стал Нифига себе ну он сначала Устроился на wpf там работал потом Он осознал Как хорошо Как хорошо писать ББ и нашл себе работу мелом на вебе но он очень много работал над собой

    01:36:20 - 01:37:59

  • он занимался программированием 7 часов в день 8 часов в день иногда ну поменьше когда работы больше было прян вс время удел И как мы с ним работали проект у него есть он не знает Как реализовать то и сё пятое десятое он записывает Это потом мы с ним созваниваемся и он мне вот эти вот свои вопросы показывает я ему рассказываю как это сделать правильно Как реализовать Ну и потом он опять уходит это всё делает как я ему сказал и по кругу вот так вот вот в таком формате мы с ним занимались больше ну и проводили вот такие вот МОК

    01:37:10 - 01:38:20

  • интервью Чтобы он смог соц пройти вот мы Ну и вот он очень быстро Нашёл работу но он сам как бы у него бэкграунд хороший был он уже синтаксис хорошо знал У вот он больше так для уверенности скорее ну то есть для решения каких-то вот для получения некого опыта Ну то есть у меня положительный фидбек Возможно это ну вот по крайней мере положительный фидбек Если сравнивать с курсами угу вот как будто бы от ментора можно больше получить Ну опять же как повезёт ментор тоже может быть разный ментор Может тебя

    01:37:44 - 01:38:55

  • учить Hello world писать Ну я думаю наме я по себе буду судить вряд ли мне такой метор попадётся я всё-таки могу уже отличить хорошего от плохого как-то Ну смотри вот как я бы предлагал использовать услуги ментора ты начинаешь делать свой проект у тебя появляются вопросы ты их записываешь ищешь ментора звонишь там часовой созвон говоришь вот такая такая такая-то проблема И говоришь вот я хочу чтобы ты позанимался и объяснил вот это вот это вот это вот это как делать почему это так а не так и так далее ну

    01:38:20 - 01:39:33

  • по конкретным вопросам я пользовался услугами ментора сам лично И мне очень не понравилось там столько воды мне налили в уши ну то есть есть негативный фидбек вот просто я изначально оценивал менторство как ну как я ментор человека Да А когда ямся см Но пото действительно бывают раз я вообще приходил по хотел получше узнать и реализовать этот как его 4 там были какие-то узкие кейсы Мне нужно было помочь это вот свою задачу я не решил таким образом то есть ментор мне за не сложные вопросы да уровня можно искать если у тебя сеньор

    01:38:57 - 01:40:39

  • ский вопрос скорее всего тебе поможешь только ты да я с этим уже как-то смирился По своему опыту что все все сложные вопросы нужно самому решать Ну с ментором гораздо быстрее можно это решить Ну то есть меня тоже никогда не было менто Ну то есть когда я Росно Рами бы лее старши коллеги скорее Вот Но у меня такая черта как и у многих джинов наверно сейчас это стрёмно спросить стрёмно поэтому я сам докопать вот сеньор же Ну это Это неправильно Это плохо но перегибать тоже не надо вот бывают такие кейсы когда как

    01:39:58 - 01:41:23

  • бы инь слишком реме им помогали это тоже как бы плохой звоночек что как бы если ты Мидл и ты так много времени уделяешь Ну как бы что-то с тобой не так я понимаю если бы ты спрашивал бизнес бизнес логику да какую-то А ну в коде как бы ну такое на нужно знать баланс если там не знаешь как написать то или иное ту или иную конструкцию там не знаю и так далее ну как бы звоночек сразу возникает но пока ты джун лучше всегда обращаться к более старшим коллегам Угу Ну стараться понятное дело загуглить если не

    01:40:45 - 01:42:10

  • получилось загуглить то идти к старшим коллегам вот так вот ну у меня такого к сожалению не было и поэтому приходилось вариться самому в этой каше Ну тебе не повезло Ну Я рекомендую первый компании идти в крупняк какой-то вообще там А в идеале какой-то аутсорс крупняк вот вот вчера у меня было собеседование не в outsource а Астан вот интересно было бы Попасть туда Аста Угу Ну аутстаф по сути подразумевает то что ты трудоустроен в одной компании а она тебя продаёт в другую компанию Ну типа ты там полгода

    01:41:30 - 01:42:49

  • работаешь на другую компанию Ну я вот был оформлен в банк через Аста через другую компанию я там проработал 2 года и ушёл вот поэтому Ну типа Out stf м нежелательно конечно но если других вариантов нет то почему бы не А какие именно подводные камни Ну как минимум то что тебе нужно согласовывать тот же отпуск двумя компаниями Ну вот элементарно Угу Ну то есть ты хочешь уйти в отпуск Ты сначала спрашиваешь у своего конкретного работодателя и согласует это с работодателем на том месте где ты работаешь

    01:42:09 - 01:43:36

  • угу вот ну это во-вторых там вопросы оплаты вопрос повышения и так далее Ну всё Это сложнее В два раза потому что компании две как поднимать зарплату согласовывать надо опять же С той компанией которой ты работаешь и с той компании которая тебя курирует Ну я бы не сказал что вот например у меня сейчас конечно мне Зарплата важна но это не какой-то ключевой момент скорее вот больше опыта больше команда такие моменты есть а в итоге хотелось бы в продуктовую компанию которая свои продукты создаёт у меня се У меня сейчас

    01:42:52 - 01:44:01

  • такой фильтр если я буду менять компанию то я буду уходить только в продуктовую компании Ну просто когда ты сеньор ты чуть-чуть можешь себе позволить немножко покриви носом Угу Вот когда ты джун как бы вариантов нет берёшь то что дали я подавал резюме своё Вот боюсь соврать но как будто бы около 200 откликов было по всей России в том числе вакансии стажёра Джуна имид я во всё подавал подряд и меня позвали только в одну компанию на Собес понятное дело дальше было проще дальше у меня не было такого огромного

    01:43:27 - 01:44:40

  • количества откликов и дальше процент был выше Поэтому чем Как бы ты более квалифицированный специалист тем легче тебе найти работу что логично поэтому Просто я не хочу в арсе работать Ну да что-то такое попахивает неприятно вот у меня был не то что негативный опыт Ну был негативный опыт работы с аутсорсер вот не буду говорить с кем потому что уже один раз сказал пришли они ко мне в своём чате Я сказал название и ко мне потом из этой компании пришли вот сказали что вам не понравилось начали разузнать к

    01:44:04 - 01:45:30

  • руководству му пошли Вот Поэтому вот так вот ну просто был низко качественный код вот и всё ну по моему субъективному мнению но виноваты мы сами потому что мы не проконтролировать они что-то написали а мы даже не протестировали А это не работало потом я это переделал поэтому понятное дело вина наша Ну аутсорс пользоваться не хочется просто потому что это занимает много времени негативный опыт был как бы и больше не хочется а хочется решать задачи своими силами возможности вот как-то так давай потихоньку

    01:44:47 - 01:46:27

  • закругляться Да так уже час 45 представляешь Ну я знаешь как сделаю я сделаю то что поделю на эти как они на фрагменты как они называются на эпизоды чтобы люди которые хотят только Собес послушать они остановились А те хотят болтовню послушать Ну дальше послушают Вот спасибо тебе что поучаствовал это некий пилотный выпуск я дальше планирую там как-то вообще попробовать развивать эту штуку меня ещё три человека есть которые тоже хотели вот и скорее всего я что-то ещё придумаю те кто у кого уже есть идеи что можно позадавать можно

    01:45:37 - 01:46:55

  • провести в принципе заю что-то ещё Напишите в комменты вот у меня всё Всем спасибо всем пока-пока Сергей пока удачи

    01:46:18 - 01:46:43