Пікірлер
@Gorikvorik
@Gorikvorik 2 күн бұрын
Извините , это точно Senior собеседование ?
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Если посмотрите предыдущие видео, то увидите, что Олег по факту хотел собеседоваться на миддла, но заодно решил и синьор уровень попробовать. А что именно вас здесь смущает?
@vanel9933
@vanel9933 2 күн бұрын
Где таймкоды????? 😡😡
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Там всего один практический вопрос и всё видео про него
@Happy-Gappy
@Happy-Gappy 6 күн бұрын
--- "Привет Михаил, расскажи про свой опыт в програмировании" --- "Привет Алексей. Я начал писать какие то простенькие консольные програмки еще в институте. Потом наткнулся на канал по С#. Начал более глубоко погружатся в язык. Понял что мне это нравится. Нашел ментора, чтобы еще больше усовершенствовать свои знания. В результате научился определать приватные конструкторы в классах, присваивать в теле конструктора параметрам свойства которые определены в классе, научился переопределять виртуальные методы без ключевого слова ovveride и с модификатором доступа private. Думаю что у меня достаточно опыта и знаний чтобы претендовать на джуниор вакансию. Вот пришел чтобы окончательно в этом убедится и уже начинать искать работу".
@whisper399
@whisper399 15 күн бұрын
Все встроенные структуры в C# неизменяемые. И так же в Рихтере напрямую написано, что желательно их всегда делать неизменяемыми и на примерах показано почему.(не из-за скорости как он несет точно)
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Не уверен, что до конца понимаю про что вы. Если про встроенные структуры, то мы их итак не можем изменить. И в части ситуаций структуры вполне себе работают быстрее, чем классы из-за накладных расходов на указатель и боксинг/анбоксинг.
@whisper399
@whisper399 2 күн бұрын
@@DotNetInterviewPreparation эм, вы прочитали мое сообщение в отрыве от контекста того, что говорилось в видео. Он говорил, что все структуры неизменяемые, я просто указал из-за чего он так подумал и перепутал. Так же он сказал, что они неизмяемые из-за скорости, я указал, что это не так и что в рихтере есть примеры почему их надо делать неизменяемыми. Я нигде тут не сравнивал скорость структур и классов
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
@@whisper399 теперь понял, спасибо большое за уточнение 👍
@vasinas81
@vasinas81 22 күн бұрын
По DDD, Event Sourcing и CQRS очень спорно. Описанная как ивент сорсинг архитектура скорее была похожа на ивент дривен, что несколько разное. В ивент сорсинге события не простооповещение системы, но и источник построения данных (цепочка событий + снапшоты являются источником построения текущего состояния). А все, в конце при разборе оказывается указали на это) Архитектура из практического примера - ну тоже токое, уж если идти к нормальному уровню абстракции, то можно рассматривать что то типа Clean Architecture, там уровней абстракции куда больше и все универсальнее. При обсуждении асинхронности хорошо было бы упомянуть CAP теорему, если мы асинхронно по шине или сагой пытаемся ввести изменения в данные несколько сервисов. Про дедлоки ниже уже отписались) Вообще показалось как будто слишком лайтово для синьора
@DotNetInterviewPreparation
@DotNetInterviewPreparation Күн бұрын
Спасибо большое за такой подробный комментарий. Что касается сложности и глубины собеседования, это ещё будет дорабатываться 😉
@alekseyzen9766
@alekseyzen9766 22 күн бұрын
Бро, а если я на телике смотрю. Почему у меня в телеке ещё один телек 😅
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Это для надёжности, чтобы если один сломается, ты мог видео на другом досмотреть 😃
@serhio0326
@serhio0326 24 күн бұрын
когда научился пользоваться молотком тебе начинает казаться что вокруг одни только гвозди
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Думаю, что со всеми бывает ;-)
@TheDirt2208
@TheDirt2208 26 күн бұрын
С MVC чуть уши не загнулись, 2 сеньора сидят и думают что модель это просто данные, а контроллер это бизнес логика =/ Господа в модели есть DAL, и бизнес логика, контроллер занимается по сути просто роутингом и первичной валидацией. Или у вас вся бизнеслогика пишется в экшенах)? Дальше наверное нет смысла смотреть
@DotNetInterviewPreparation
@DotNetInterviewPreparation 26 күн бұрын
То есть вы считаете, что в парадигме MVC буква C отвечает за ASP.NET контроллеры?
@TheDirt2208
@TheDirt2208 25 күн бұрын
​@@DotNetInterviewPreparationя наверное зря перешёл от общего к частному, но это было сделано для наглядности. Давайте обратно обобщим и подумаем вот над чем. При проектировании системы мы всегда стремимся к обособленности , что бы изменения в одном из компонентов оказывали минимальное воздействие на остальные части, и MVC не исключение. Если у нас бизнес логика находится на уровне контроллера, то он становится неразрывно связан с моделью, а это уже противоречит нашим принципам)
@filippt9304
@filippt9304 29 күн бұрын
музыка на собесседовании это да )
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Согласен, со звуком надо ещё потренироваться, но и на собеседовании было бы прикольно, если бы была музыка))
@igorpak6478
@igorpak6478 Ай бұрын
Привет, по поводу задания, мне кажется все зависит от задачи бизнесов, если позволяют ресурсы, то почему бы не выполнять в синхроне, подняли нужное количество тачек и поставить выше балансировщик?) в примере с товарами как будто между синхроном и асинхронном лучше синхрон)) ИМХО Но все зависти от анализа бизнесов и ресурсов Отличный выпуск!👍
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Именно так, в этом и была моя идея - использовать подходящие для задачи инструменты, а не те, к которым привык. К сожалению, это частая проблема, которую я и за собой тоже иногда замечаю.
@mv.mmaksm
@mv.mmaksm Ай бұрын
Очень слабо для мидла, даже джунов больше гоняют
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Сильно зависит от компании и обстоятельств. Знаю историю, где джуна за 4 месяца сделали тимлидом, когда вся команда разом уволилась, кроме него. Плюс, даже на один и тот же уровень, требования, скажем в Яндекс, скорее всего будут выше, чем в "Рога и Компы" в небольшом городке в регионе.
@raqiw2145
@raqiw2145 Ай бұрын
Я, который перечитал десятки статей и пару книг, что бы вкурить что такое ассинхронность и как устроены метод-заглушка и стэйт машина и не могу устроиться, а чел делает приватным конструктор и почти взяли на работу😢
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
К сожалению, чтение статей и книг не гарантирует трудоустройства, это правда. Ну и да, с приватным конструктором тут промашка небольшая вышла, но у кого их не бывает? ;-)
@yourownazog8069
@yourownazog8069 2 ай бұрын
Люблю собесы по дотнету смотреть на Ютубе. Но тут как по мне задачи были очень простые. Я даже не знаю какие тогда требования к трейни. Создать класс?😅
@DotNetInterviewPreparation
@DotNetInterviewPreparation Ай бұрын
Простые и сложные - субъективные суждения. Но, в целом, соглашусь, что это не многочасовое собеседование, где из тебя всю душу вынимают))
@techbuterbrod
@techbuterbrod 2 ай бұрын
Спасибо за видео, но на middle очень слабые ответы. То, что прошелся по названиям и стилю прям респект. Я реально устал на проектах, когда по названию и сигнатуре метода невозможно понять совершенно, что этот метод делает.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Согласен про стили и названия, если их нет, то что это может показывать недостаток опыта, потому что рано или поздно их во всех компаниях внедряют.
@user-du3uv6jc5x
@user-du3uv6jc5x 2 ай бұрын
Привет! Как можно к вам попасть на мок middle интервью?)
@vladimirs6654
@vladimirs6654 2 ай бұрын
подскажите что за сайт или программу автор использует в практической части
@DotNetInterviewPreparation
@DotNetInterviewPreparation Ай бұрын
dotnetfiddle.net/
@user-cd5se7lf5t
@user-cd5se7lf5t 2 ай бұрын
Не очень понял пример с Shopify и вообще всю эту полемику вокруг создания товара. Если товары создаются поштучно кликами пользователя, то у вас там будет gRPC. Если вы импортируете товары тысячами из экселевских файлов или внешних систем, то там вполне очевидно вырисовывается асинхронная очередь. Иными словами, я вообще не понял эту сферическую ситуацию в вакууме, где создание товара почему-то дорогое и может занимать минуты.
@DotNetInterviewPreparation
@DotNetInterviewPreparation Ай бұрын
Бизнес-правила могут быть очень разными. Отличный пример такого долгого создания товара - Авито. Может несколько часов пройти с момента как вы опубликовали объявление на свой товар до момента, как он будет реально опубликован для всего интернета. А если не повезёт и нужна будет проверка модератором и будут какие-нибудь праздники, то время ожидания может и в днях исчисляться. Хочется верить, что сейчас уже быстрее всё проходит, но раньше было так.
@user-cd5se7lf5t
@user-cd5se7lf5t Ай бұрын
@@DotNetInterviewPreparation спасибо за ответ! Тем не менее, разговор был не про долгое создание, а дорогое. Такое дорогое, что мы зачем-то хотим его в очередь засунуть и не можем быстро вернуть результат для отображения на клиенте. Что касается примера с авито, то сам товар же моментально создаётся и отображается в интерфейсе в списке ожидающих модерации-публикации. Очевидно, нет там очереди на C из CRUD -- просто сразу создаётся товар и дальше по статусам двигается. В общем, в моменте Вас куда-то не туда как будто повело, и никто особо не понял, что произошло.
@user-cd5se7lf5t
@user-cd5se7lf5t Ай бұрын
@@DotNetInterviewPreparation на всякий случай, я пробежался снова по моментам, которые меня смутили, а то три недели прошло и я уже всё забыл. Часть разговора на 39-42 минутах, потом самая важная часть с 1:01:40. На мой взгляд, справедливо будет сказать, что речь шла в обоих моментах не про массовый импорт, а про клики пользователей, публикующих товары. По крайней мере, обратного озвучено не было. Также справедливо будет отметить, что в инфраструктуре, где в сутки миллион товаров новых регистрируется, можно будет ожидать десятки и сотни миллионов покупок в сутки. Эти покупки всегда обрабатываются в реалтайме (не может же сервис просто списать деньги и не показать пользователю, что товар из корзины исчез, а в списке заказов появилась новая запись), и бизнес-процесс покупки уж точно дороже бизнес-процесса создания товара.
@DotNetInterviewPreparation
@DotNetInterviewPreparation Ай бұрын
Давайте уточню то, что я хотел подсветить в тот момент - если ты умеешь использовать какой-то инструмент, это не говорит о том, что его нужно использовать везде. Соответственно, я хотел подтолкнуть собеседника в эту сторону, придумывая различные варианты, где его инструмент будет не очень применим. Да, возможно, был приведен не на 100% очевидный пример, однако, суть была как раз в том, что в зависимости от бизнес потребностей инструменты могут и должны меняться.
@user-ot3th5hl5r
@user-ot3th5hl5r 2 ай бұрын
Очень интересное видео, особенно практическое задание. Кандидат довольно приятный парень, из советов - иногда бывают слова-паразиты, которыми заполняется время на обдумывание ответа. Ну и про RPC в практическом задании да, очень странно. Зато про опыт с профилировкой круто рассказал. Благодарю обоих участников!
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Очень здорово, когда можно с помощью таких людей, как Константин, заглянуть в собеседования со стороны собеседующего. Благодарю за обратную связь.
@yuryermolov13
@yuryermolov13 2 ай бұрын
За MassTransit отдельное спасибо. Если появляется он, то gRPC нафиг не нужен. Все взаимодействие через AQMP
@yuryermolov13
@yuryermolov13 2 ай бұрын
Про распределенные транзакции достаточно было назвать паттерн Saga.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Так как это синьор уровень, то вполне можно ещё и в глубину про реализацию порассуждать на самом деле ;-)
@simple_covenant
@simple_covenant 3 ай бұрын
Прекрасное интервью с совершенно убитым звуком. Приходится переслушивать по несколько раз отдельные моменты, чтобы понять, что говорит Олег. Тем не менее, спасибо, за предоставленную информацию.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Спасибо за обратную связь. Сейчас даже думаю может вообще без музыки выкладывать видео, что думаете?
@txcslm
@txcslm 3 ай бұрын
Очень интересный гость, спасибо за видео!
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Спасибо за комментарий.
@Mr43046721
@Mr43046721 3 ай бұрын
Очень интересный формат, спасибо! подписался
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Спасибо, буду продолжать вас радовать интересными видео.
@user-ot3th5hl5r
@user-ot3th5hl5r 3 ай бұрын
Спасибо Олегу, что не постеснялся выложить свой собес на всеобщее обозрение, лайк за смелость и успехов в дальнейшем развитии! Из замечений - Олега иногда плохо слышно, проверяйте перед видосами, как пишется звук
@DotNetInterviewPreparation
@DotNetInterviewPreparation 2 күн бұрын
Да, Олег хорош.
@user-wh7yo6nr4s
@user-wh7yo6nr4s 3 ай бұрын
А "прочитано" почему пропустили, не поработали с "MarkAsRead"
@DotNetInterviewPreparation
@DotNetInterviewPreparation 3 ай бұрын
Вам именно причина нужна? Или хотели бы увидеть как это могло бы быть реализовано? Если второе, то можете прислать как бы вы это реализовали и я дам вам обратную связь 😉
@user-wh7yo6nr4s
@user-wh7yo6nr4s 3 ай бұрын
@@DotNetInterviewPreparation Я просто не знаю как это реалезовать, есть идеи, но программа раздуется в моём случае, мне интересно как было бы правильно )
@DotNetInterviewPreparation
@DotNetInterviewPreparation 3 ай бұрын
Боюсь, что без написания дополнительного кода (раздутия программы) здесь никак, да.
@user-wh7yo6nr4s
@user-wh7yo6nr4s 3 ай бұрын
@@DotNetInterviewPreparation Понял, спасибо
@user-yj1on3bf1v
@user-yj1on3bf1v Ай бұрын
@@DotNetInterviewPreparation он же вроде просто процедуру там сделал? А надо функцию ,чтобы передать название книги, автора, год и по сформированной строке уже понять какая книга была прочитана, чтобы пометить. Другой вариант ,как понимаю, использовать this, не уверен, просто прочитал про него только сегодня в книге, пока учу язык. Но по идее изнутри класса можно обратиться и тогда именно функция не нужна.
@user-hz1eg9fp3r
@user-hz1eg9fp3r 3 ай бұрын
Спасибо) хорошее интервью с настоящим специалистом)
@DotNetInterviewPreparation
@DotNetInterviewPreparation 3 ай бұрын
Согласен про специалиста на все 100 🙂👍
@bahamengame
@bahamengame 3 ай бұрын
За советы для новичкам, спасибо! Было интересно послушать.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 3 ай бұрын
Рад, что вам понравилось.
@andyash3337
@andyash3337 4 ай бұрын
34:40 В SOLID буковка "D" отвечает не за Dependency Injection, а за Dependency Inversion ... Внедрение - не одно и то же, что Инверсия ...
@DotNetInterviewPreparation
@DotNetInterviewPreparation 3 ай бұрын
Да, спасибо большое за уточнение 👍
@andyash3337
@andyash3337 3 ай бұрын
@@DotNetInterviewPreparation Это именно уточнение, если что :) P.s.: продолжайте создавать подобный контент. У Вас - получается.
@bloodborn9632
@bloodborn9632 4 ай бұрын
4 года работаю разрабом. Успел поработать на с# 9 месяцев потом на котлине и джава бэк. 8 месяцев . И все остальное время на с# + ангуляр. До сих пор закрадыаются мысли что я не рыба не мясо, потому что пишу и бэк и фронт. Но посмотрев это интервю. Я прям повысил свою самооценку. :))) я давно оказывается не джун :)) если чесно хорошее видео. Скажу чесно 90 % своих знаний я получил просто анализируя чужой код еа, смотря кто как пишет на проекте так как прект большой многие задачи уже решались кем либо , и 10% гуглеж и видосики на ютубе. Так я изучил ангуряр.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Да, уже (почти) всё решено до нас. Что ещё интереснее, можно попросить нейронку, обученную на существующем коде, написать новый код и она напишет. Мгновенно и почти без косяков. Так что вполне себе хороший инструмент, чтобы пользоваться ;-)
@elka1910
@elka1910 4 ай бұрын
спасибо, понравилось!
@elka1910
@elka1910 4 ай бұрын
Можно убрать музыку? Мешает слушать
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Да, где-то было слишком громко, в других видео должно быть лучше.
@IlyaArlenka
@IlyaArlenka 4 ай бұрын
Зачем??? Зачем спрашивать про сборщик мусора?? Тем более на позицию джуна
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Чтобы человек писал код, который не генерирует OutOfMemoryException при складывании 2+2.
@IlyaArlenka
@IlyaArlenka 4 ай бұрын
@@DotNetInterviewPreparation часто сталкивались с OutOfMemoryException? Это ж надо постараться
@user-rg3sp6yk3b
@user-rg3sp6yk3b 4 ай бұрын
Фидбек про разницу между асинхронностью и многопоточностью - супер! Только не понятно зачем знать про "Стейт машину", что эти знания нам дают? Такое ощущение, что вопрос про "Стейт машину" из разряда - расскажите про сборку мусора
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Это вопрос, который разделяет людей на "я не знаю как это работает, как-то работает, да и ладно" и на "Ух ты! А как это работает?". Плюс, мне недавно один из учеников настойчиво предлагал сделать метод асинхронным, ибо был убеждён, что так правильнее. А то, что добавляя слово async ты автоматически проигрываешь в производительности из-за доп. расходов на как-раз ту самую стейт машину, об этом он не думал.
@grozoff
@grozoff 2 ай бұрын
В целом о существовании стейт машины знать нужно я думаю, но вот некоторые упарываются и начинают по этому задавать кучу вопросов что там да как. Так же и со сборщиком мусора, хорошо знать что он есть и поверхностно понимать как он работает, но в детали я бы не стал особо вдаваться
@DotNetInterviewPreparation
@DotNetInterviewPreparation Ай бұрын
Детали начинают спрашивать с повышением уровня квалификации, то есть от Джуна ожидают, что он просто знает, что такое есть, в то время как от синьора уже могут рассказать о тонкостях реализации. Не уверен, что это прямо нужно на самом деле, но, раз спрашивают, значит надо быть готовым ответить 😉
@Pentatonic_Hardcore
@Pentatonic_Hardcore 4 ай бұрын
Пришел к такому выводу для себя, любой хороший сеньор может впринципе завалить любого хорошего сеньора
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Если цель именно завалить, то это может сделать и джун)))
@yuryermolov13
@yuryermolov13 2 ай бұрын
@@DotNetInterviewPreparation Нет, не может. Это не Сеньор. Он не живет кодом. Он просто хочет получать больше
@Pentatonic_Hardcore
@Pentatonic_Hardcore 4 ай бұрын
ахах, вспомнилсебя, проходил собесы на сеньор разраба, в нескольких получил фидбек миддл, в нескольких сеньор, в одной приглашали на должность архиотектора, и в две другие фирмы на лид разраба с менторством команды так как есть опыт.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Ого, вот это разброс! Не хватает только джуна 😉
@mikitaishchanka4688
@mikitaishchanka4688 4 ай бұрын
Супер!
@WarbeastMr
@WarbeastMr 4 ай бұрын
В SOLID буква D - это dependency inversion, а не injection. 34:46
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
И впрямь, а я всегда думал, что они различаются. Спасибо большое, что заметили 😉👍
@user-ej9hm2sp3j
@user-ej9hm2sp3j 4 ай бұрын
Эхх, жалко, что поздно, в видео есть ошибка, logstah не является базой данных, он служит для модификации и перенаправления сообщений, т.е является неким посредником между отправителем сообщения и его получателем. А стеке ELK базой является буква "E" - elastick search
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Да, вы абсолютно правы, меня постоянно тянет сказать, что Logstash это именно хранилище, потому что stash переводится как тайник. Но по факту, да, это лишь преобразователь данных.
@user-ej9hm2sp3j
@user-ej9hm2sp3j 4 ай бұрын
​@@DotNetInterviewPreparationДа, есть такое) Видео вышло интересным, спасибо
@DionisiChannel
@DionisiChannel 5 ай бұрын
По оптимизации LINQ запросов: Вопрос же поставлен именно относительно LINQ запросов, что подразумевает запросы к БД. Отвечающий корректно начал рассказывать про LINQ to Entities. Если имелось в виду про использование LINQ для работы с данными в коде, то корректнее сказать, например, "Оптимизация LINQ-выражений". Расскажите, у кого какое понимание фразы "LINQ-запросы"?
@DotNetInterviewPreparation
@DotNetInterviewPreparation 4 ай бұрын
Если верить майкрософтовской документации (learn.microsoft.com/ru-ru/dotnet/csharp/linq/get-started/introduction-to-linq-queries), то запросы в LINQ могут быть и к объектам (Linq2Objects), и к XML (Linq2Xml), и к много чему ещё, фактически любым коллекциям, реализующим IEnumerable. Так что говорить, что под запросами понимается именно Linq2Entities я бы не стал. Тем более, что есть более "родная" реализация для работы с бд - Linq2Db. Да и чего уж там, сама расшифровка LINQ содержит в себе слово "запрос" ;-)
@benderios
@benderios 5 ай бұрын
Бл@дская музыка в бэкграунде, а так спс за видос
@user-ck3dq5pb4n
@user-ck3dq5pb4n 5 ай бұрын
А где всё это происходит?
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
В зуме
@user-ck3dq5pb4n
@user-ck3dq5pb4n 5 ай бұрын
@@DotNetInterviewPreparation Да это понятно. Я имею введу сам контекст. Что это курсы? Сообщество? Собрались знакомые? Частный менторинг?
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
@@user-ck3dq5pb4n, на текущий момент это я бесплатно организую такие мероприятия для выпускников своих курсов и зрителей с ютуба.
@shatalinator
@shatalinator 5 ай бұрын
До чего техника дошла - кандидаты сами себя собеседуют! Можно Battle Royal устроить, победителю - оффер😆
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Если бы в реальности так и происходило, то может быть и устроили бы. Но, к сожалению, на собеседованиях далеко не всегда "побеждает" тот, кто лучше умеет программировать или больше знает 🤷
@fed1splay
@fed1splay 5 ай бұрын
Garbage Collection - это коллекция... ))) Щас на интервью попасть сложнее, чем его пройти. Предлагаю изменить формат роликов с "собеседование" на "как попасть на собес" 😂
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
А это идея )) Предлагаю всем желающим прислать свои резюме для разбора и обратной связи вот сюда: docs.google.com/forms/d/e/1FAIpQLSfV1oqnhQr81TZlWpeG7TqMIK7d-04z4tddQb1La-Pn-yCmrg/viewform?usp=sf_link
@fed1splay
@fed1splay 5 ай бұрын
@@DotNetInterviewPreparation да, я про подобное и говорю. Ну и для того, чтобы приблизить всё к реальности, на каждое присланное резюме отвечать нечто вроде: Спасибо за интерес к нашей вакансии! Но в данный момент мы не готовы пригласить Вас на дальнейшее интервью. Мы вернёмся к вашей кандидатуре, когда у нас возникнет такая потребность. 😂
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
@@fed1splay, ха-ха-ха, степень реализма 100%. Хотя, можно сделать ещё лучше - вообще ничего не отвечать, тоже как в жизни будет 🙂
@fed1splay
@fed1splay 5 ай бұрын
@@DotNetInterviewPreparation я этот вариант опустил, как очевидный 😂 я думаю многие, кто шлёт отклики на ХХ про него в курсе)))
@bahamengame
@bahamengame 5 ай бұрын
Было бы смешно, если бы не было так грустно :(
@KonstantinTurchak
@KonstantinTurchak 5 ай бұрын
Как ты отбираешь людей для своих видео? Хочется поучаствовать))
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Всё просто и бесплатно - вступайте в ТГ группу и подписывайтесь на рассылку. Ссылки в информации о канале ;-)
@KonstantinTurchak
@KonstantinTurchak 5 ай бұрын
Клёвая идея! Это реально очень помогает людям стать лучше. Респект
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
@@KonstantinTurchak, спасибо за поддержку.
@mrlait5732
@mrlait5732 5 ай бұрын
Кстати, есть вот такой вопрос, а как Linq понимает IQuerible или IEnumerable нужно возвращать?
@biterik2245
@biterik2245 5 ай бұрын
лично мое мнение, что когда ты у IEnumerable (например List ) вызываешь метод то он и возвращает IEnumerable, а когда у DbSet который реализует IQueryable, то он вернёт IQueryable.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Думаю, здесь нужно начать с того, что такое LINQ? По факту это набор методов-расширений (extension methods). И ответом на ваш вопрос будет "Какой возвращаемый тип в методе написан для типа, на котором вызывается, тот интерфейс и будет возвращён".
@yuryermolov13
@yuryermolov13 2 ай бұрын
@@DotNetInterviewPreparation Не LINQ понимает, а разработчик решает что он хочет увидеть в результате. И надо понимать, что LINQ to Entities это одна история, а LINQ to object другая.
@user-bx2er2zx5u
@user-bx2er2zx5u 5 ай бұрын
www.youtube.com/@otsobes/videos . Хочу для вашего развития как канала предложить старый и заброшенный , но очень крутой канал про собесы. Рекомендую первые видосы , именно где фронтенд интервью . У этих ребят главное преимущество над вами и большим кол-вом мок-интервьюеров в том , что там был не формат "попытка ответить кандидата => объяснение ведущего" , а прямо-таки раскручивание кандидата в глубь по каждому вопросу . Ясное дело , что там и длина видосов больше ( хотя никто не заставляет делать много вопросов) , но при этом интервью более содержательное , больше раскрывается кандидат , когда его даже поддушивают слегка . Плюс не знаю , как другим зрителям , но формат с этим компьютером и попеременным показом ведущего и интервьюируемого мне не очень заходит . Мне кажется , лучше , когда видно обоих и нет этого отвлекающего дизайна с этим рабочим столом. А так вообще круто делайте , лучшее , что по шарпам находил в интернете!
@user-zk4dt2mu9f
@user-zk4dt2mu9f 5 ай бұрын
IQueriable же не содержит реализации, о каких оптимизациях речь
@mrlait5732
@mrlait5732 5 ай бұрын
Я так понимаю, что за счет Expression он строит дерево выражений и пока не вызвал методы для "материализации"(toList и тп) ты можешь писать любые запросы, фильтрации и тд, которые в итоге могут пересекаться и вот эти пересечения он может оптимизировать. (но это домыслы)
@user-zk4dt2mu9f
@user-zk4dt2mu9f 5 ай бұрын
@@mrlait5732 а если этот IQueriable не про базу данных? Мы же делаем выборку используя какой-то абстрактный провайдер данных. Так что мы вполне можем делать выборку внезапно из файла, из папок на диске или из таблицы экселя. И не факт что оптимизации там есть. Вопрос не раскрыт. Но для галочки что кандидат знает, пойдёт.
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Полностью согласен, сам интерфейс не содержит никаких реализаций. Речь шла про методы, которые возвращают IQueryable. Что вместо того, чтобы применять методы поочередно к одному элементу, как это происходит с IEnumerable, здесь, как уже написали в комментарии выше, мы строим дерево выражений и уже в нём можем оптимизировать работу, например, преобразовав все множество методов в один запрос к базе данных.
@yuryermolov13
@yuryermolov13 3 ай бұрын
@@DotNetInterviewPreparation IQueryable наследуется от IEnumerable и вы все правильно сказали, что главная особенность это то что IQueryable постоянно оптимизирует именно SQL запрос.
@shatalinator
@shatalinator 5 ай бұрын
Ждём части три. Где будет мок-оффер на 300к/наносек.😎
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Вот вы смеетесь, а у нас уже планируется такой мега-мощный мок собес с практически настоящим оффером. Ну а чтобы получить третью часть, вы знаете что делать - оплачивайте билетики ;-)
@validationerror3830
@validationerror3830 5 ай бұрын
ну не синьор, мидл максимум
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Да, Олег пробовался на перспективу. Однако, в каких-то компаниях он вполне может быть синьором, если обладает знаниями и навыками, которые нужны именно этой компании, но про которые я не спрашивал.
@antya1126
@antya1126 5 ай бұрын
респект
@DotNetInterviewPreparation
@DotNetInterviewPreparation 5 ай бұрын
Спасибо за ваш комментарий.