Сап, двач. Репортинг ин студент 19 лвл. Хочу вкатиться работать по направлению .net, поэтому реквестирую вопросы по оному (как будто вы проводите со мной собеседование на должность джуниора). Буду отвечать, а вы будете говорить, прав я или нет.
>>123064301 Что бы хуй стоял и деньги были. Ну и еще было бы классно, что бы весь код представлял собой описание объектов и их взаимодействий. Да причем так, что бы объекты были как можно более самостоятельны, что бы при работе с ними не приходилось еще и их изучать. Иными словами что бы они просто предоставляли интерфейс и не мучили нас лишними подробностями.
>>123065065 Так, ну хорошо. У нас есть класс Man. А хули спецификация доступа при объявлении. А что тогда будет, если поставить приватный? Типа можно только из неймспейса вызывать?
Что такое base? Это метод другого класса? Тогда где указание, чей именно это метод? Класс Man вроде как ни от кого не наследуется даже!
Хули ты простоянно this. пишешь? Без этого у вас что ли не понятно, что переменные нужно из класса брать? Но почему? Других же там точно нет
>>123065351 Знаю всего понемногу. В ооп разбираюсь хуевато на самом деле. Синтаксис шарпов знаю заебись, по своему мнению, немного знаю asp.net mvc (смотрел курсы ITVDN и книжечку почитал, но практики нормальной хуй было), WPF, Linq to sql. Выбрал потому, что дохуя всяких полезных технологий, приятный синтаксис, недавно вот ксамарин бесплатным стал, уже для универчика сделал шпорку себе на андроид, лел
Полиморфизм - пишешь один раз - используешь много. Позволяет использовать члены базового класса\интерфейса. Инкапсуляция - скрытие членов класса Наследование - наследование, лол. Позволяет наследоваться от классов, интерфейсов, наследовать и переопределять их методы, свойства
>>123065351 Полиморфизм - это когда один и тот же метод объекта может выполнять разные действия в зависимости от типа этого самого объекта. Инкапсуляция - это когда объект скрывает свою внутреннюю структуру предоставляя только набор интерфейсов и избавляя пользователя от необходимости думать о том, что же там за пиздец таки происходит. Наследование - это когда за 29 постов о программировании про полиморфизм, инкапсуляцию и наследование спросили уже трижды.
>>123065895 Жизненно. Спрашивайте что нибудь другое. Никто не спросил про async\await, линки, лямбда замыкания, захваты переменных, про сериализацию-десериализацию. Хотя мне кажется, что никто ничего про это не знает, просто прочитали в интернете статейку про ооп
>>123066177 А зря. Там если не углубляться, то все просто в целом. Просишь какой-нибудь конструктор собрать тебе объект, получаешь на него интерфейс и дальше работаешь с ним как хочешь. А потом, когда он больше не нужен, просто вызываешь Iobject->Release();
>>123063971 (OP) как работают аттрибуты? что вы знаете о TPL? знакомы с LINQ? расскажите про раннее и позднее связывания, их преимущества, недостатки и назначение каждого.
>>123063971 (OP) >как будто вы проводите со мной собеседование на должность джуниора Тестовое задание выполни и тогда посмотрим. Знание конкретных фишечек синтаксиса вторично, главное, чтобы ты не рожал быдлокод и мог в грамотную декомпозицию задачи. Эти навыки от языка/платформы не зависят.
>>123066777 Аттрибуты позволяют декорировать классы, методы, поля. По сути аттрибут - это "метка". Например, пометив свойство как [NonSerializable] мы сделаем так, чтобы поле не сериализировалось, также аттрибуты играют большую роль при применении фильтров в asp.net
TPL - task parallel library. Дает нам высокоуровневую оболочку для Thread посредством введения Task. Ну типа я еще сижу рассказываю дохуя про коллбэкметоды, async\await, таск фактори, про классификацию потоков (запущенные, созданные и т.д), cancellationtokens, таскшедулеры и т.д и т.п
LINQ - язык интегрированных запросов. Охуенная фича шарпов, позволяющая работать с массивами данных, реализующими интерфейс IEnumerable. Позволяет писать в как в функциональном стиле (list.Where(...).Select(...)) так и в декларативном (var result = from s in list where ... select ...)
Вот про связывание знаю пиздец мало, как и по сборкам в общем, так что я уже заранее обосрался на этом
Хорошо. Где Вы видите себя через 5 лет? В чём заключается Ваш самый большой недостаток? Почему крышки канализационных люков круглые? Расскажите мне о себе.
>>123067675 >Хорошо. А то, еба! >Где Вы видите себя через 5 лет? Тут. Двигая вашу компанию к невиданным прежде высотам, о которых сейчас вы боитесь и мечтать >В чём заключается Ваш самый большой недостаток? Не пришел к вам раньше. >Почему крышки канализационных люков круглые? Проще всего изготовить. Удобно для использования. >Расскажите мне о себе. Ну я классный. Там, к слову, резюме лежит, там об этом подробнее есть.
>>123067783 Когда ты пишешь в редакторе слово new, то он сохраняет это в буфер, а затем, когда буфер заполняется или когда пользователь сохраняет документ, редактор записывает это изменение в файл. Ну а когда ты создаешь объект, то сначала new за тебя придумывает, куда бы его поместить, находит подходящее место, говорит что-то вроде "Вот тут теперь будут поля этого объекта" и все это богатство передает конструктору, который там инициализирует, что хочет.
>>123067783 2.Видимо он должен быть перегружен? Ну а перегруженный метод - это когда у нас есть еще один такой-же метод(с тем же названием), но с другими параметрами
3. Выше описывал. Там правда есть, могу ссылку дать
4. Нихуя не понял. Теоретически совместимые? Ну положим, что это значит, что они одного размера и всякий раз, когда мы пытаемся получить что-то оттуда, то как бы мы это не делали (Каким бы типом не представляли этот кусок памяти) нам всегда удастся это сделать. Если так, то мы просто получим кучу мусора.
5. Я не изучал c#. Только кресты. С тех пор регулярно играю со своим очком.
>>123068497 Это область памяти. В ней ты можешь взять любое свободное место, если его тебе хватит. Из-за этого куча очень подвержена фрагментации. Что бы фрагментацию уменьшить, кучу дефрагментируют. Для этого выделенные блоки переносят так, что бы они были смежными и свободное место не было раскидано маленькими кусочками по всей куче. Но тут нужно указатели не проебать, а это уже отдельная тема
Задача для стажёра направления .NET Даны целые числа n и m (1≤n≤1018, 2≤m≤105), необходимо найти остаток от деления n-го числа Фибоначчи на m. Ограничение по времени 5 секунд, по памяти 265 мб.
>>123069036 Гуглю что такое фибоначчи, гуглю код public static int Fibonacci(int n) { int a = 0; int b = 1; // In N steps compute Fibonacci sequence iteratively. for (int i = 0; i < n; i++) { int temp = a; a = b; b = temp + b; } return a; Дальше запускаю петельку, выбираю число, %. И даю интервьюру плашку на 4 гига памяти
1) Расскажите про big O, суть и для чего используется 2) Принципы SOLID своими словами 3) Расскажите про полиморфизм своими словами (все ответы ранее в треде по сути не совсем верны) 4) Как чаще всего реализуется разрешение коллизий при использовании хешировании 5) Что такое race condition, для чего используются мьютексы и семафоры.
>>123070032 Ммм big O? Это из оценки сложности алгоритмов. Ну я не особенно силен, но типа a = Olog(n) т.е больше, чем лог от n Про солид не ебу Про полиморфизм 10 раз уже ответил Про коллизии в хешировании первый раз слышу Race condition - состояние гонки потоков. Мьютекс Enter\exit запирает критическую секцию кода и позволяет войти в неё только одному потоку, семафор делает это для нескольких потоков
>>123070032 1) Это мера сложности алгоритма. Иными словами как зависит время исполнения от количества данных. При этом берется наихудший случай. 2)Хуй знает 3)Уже рассказывал 4)Связный список. Хэшируем, проверяем, попали ли на имеющийся элемент, если да, то записываемся как бы за ним 5)Это когда несколько тредов одновременно работают с одним куском памяти, переписывая и считывая её, что в общем случае превращает её (память) в кашу. Мьютексы и семафоры нужны что бы не дать нескольким процессам творить такое непотребство. То есть только один процесс может работать с памятью в определенное время.
>>123070775 > 4)Связный список. Хэшируем, проверяем, попали ли на имеющийся элемент, если да, то записываемся как бы за ним А в clr как это все устроено? Я думал там открытая адресация
>>123071181 Как это у вас нет аккаунта в вк и лицокниге, у вас друзья хоть есть? А почему вы не читаете блоги зарубежных разработчиков, вы что не следите за новинками?
Реквестирую пару годных книжек чтобы поднять скилл в C#, кодил одно время для себя, чисто в консольке, но щас все забыл нахуй. И еще вопрос, по поводу возраста, когда уже поздно вкатываться?
Если в этом треде сидят Java-петуханы, которые сейчас мне за пять минут не напишут велосипед, который повторяет действия ArrayList, то вас можно гнать из профессии ссаными тряпками.
>>123071451 >>123071181 Хабр слился, сейчас там все уперлось в сраную коммерцию, а статьи выпускаются для того, чтобы было чем жопу прикрыть на собеседовании.
Как работает dynamic? Во что разворачиваются динамики на уровне IL? Когда стоит использовать структуру вместо класса? Расскажите про выравнивание в структурах. Какую структуру данных выберете для реализации приоритетной очереди? Как вы имплементриуете эту структуру данных?
Алсо аноны. Что делать, если при мысли о КРУПНОЙ КОМПАНИИ, РАЗРАБОТЧИКАХ, СОБЕСЕДОВАНИИ, ТЕХЗАДАНИИ трясутся поджилки? Я наверное обосрусь, если пойду на собеседование. И еще реквестирую способы поиска нормальных компаний, а то hh дичь какая то
>>123070529 ОП, если веришь, что у тебя будут алгоритмы сами собой укладываться по времени - пиздуй учить математику. Какая нахуй теория сложности, если ты даже первого семестра МатАна не знаешь. Попользуйся немного хешами, посмотри хоть, как они работают с разными данными. А ещё лучше почитай, Г-ди, на любом языке тебе в теории Дискретки расскажут. И в классике про гонки говорят в отдельном регистре.
>>123071755 dynamic - динамическая типизация, работает с помощью такой дичи, как DLR. Блять, про второе читал в Ските, но уже не помню. Структура более легковесная, чем класс. Не знаю. Ммм вообще не понял последующих вопросов. (по моему ты какую то дичь спросил)
> Структура более легковесная, чем класс. Очень плохо, очень, а это ведь основы > Не знаю. Ммм вообще не понял последующих вопросов. (по моему ты какую то дичь спросил) Очередь на бинарной куче, бинарную кучу имплементировать на массиве. Ну это классика просто.
>>123072118 Ня Давайте начнём с того, что event и delegate — это две разных вещи, настолько же разные, как автомобиль и морковка.
delegate — это класс, содержащий в себе «шаблон» метода, то есть, сигнатуру метода. Переменная делегатного типа — объект типа MulticastDelegate (точнее, производного от него), который может содержать один или несколько объектов, представляющих собой методы с совместимой с «шаблоном» сигнатурой (контр- и ковариантность немного усложняет картину). Для таких переменных определена операция +, которая комбинируют слагаемые, и симметричная операция -. Эти операции автоматически порождают производные операции += и -=.
event же — это просто пара функций в классе, обозначаемых как add и remove, и имеющих произвольную семантику, выбранную программистом. (Разница между полем-делегатом и event'ом примерно такая же, как между полем и свойством.) В имплементации по умолчанию для event'а заводится скрытое поле делегатного типа, а add/remove добавляют или убирают из него методы (под lock'ом). (Чтобы немного запутать картину, это скрытое поле доступно по тому же имени, что и event.) Функции add/remove, составляющие event, вызываются соответственно как += и -=. Никаких операций +/-, разумеется, нету.
>>123071841 Я математику учу уже чуть больше месяца, сейчас на уровне седьмого класса где-то. Долго мне еще учить до нормального уровня погромиста? мимо-крокодил
>>123072064 Структура и класс как минимум по-разному передаются и хранятся, если ключевых слов не использовать. И не ты ли недавно только отвечал что динамическая память есть куча? Если ты блядь знаешь, что такое куча, но не понимаешь, что такое приоритетная очередь и как её сделать для разных задач то жопой читаешь, просто пиздец.
>>123072206 >Очередь на бинарной куче, бинарную кучу имплементировать на массиве. И это программисты! Пиздец, мне иногда кажется, что я единственный здравомыслящий человек в этом треде.
>>123071812 Я вообще в резюме написал, что опыта нет, знания так себе. но готов работать бесплатно. Рекрутер перезвонил, постебался, взяли на стажировку оплачиваемую и на джуна через 2 месяца
>>123072313 Смотря насколько нормальный погроммист нужен. Я бы сказал что если не работать и мотивированно учить то за год дойдёшь до сложности и всяких приколюх в духе категорий. Но чтобы быть на что-то похожим нужны самые основы анализа и как можно больше дискретки. Их можно за пару лет в режиме на отъебись выучить и понять. Можешь погуглить вики конспекты ИТМО если хочешь дискретки в одном месте и на русском, но там местами коряво.
>>123072718 Бля, второй вопрос для юниора - дохуя. У меня были грачи, претендовавшие на мидла, которые WHERE от HAVING не отличали. И функцию от процедуры. и были посланы нахуй за это
>>123073122 пока я буду вселять душу в машины, заставлять работать переферию в РЕАЛТАЙМЕ с точностью в несколько наносекунд, да еще все это будет надежно работать в открытом космосе из пизды твоей мамки:ты будешь грузить очередной .net framework и писать инструкцию для очередной бухгалтерши ,а еще будешь навеки привязан к спермии.
>>123073440 У ссылочных типов нет скалярных значений, чего нельзя сказать про первых. Ссылочные типы нужно для того, чтобы как-то воздействовать на типы вэлью.
>>123073644 Блять, не буду рассказывать даже, потому что овердохуя там всего и устал уже чет. ну ковариантность позволяет использовать тип с большей глубиной наследования, а контравариантность наоборот
>>123073595 *везде, где есть библиотеки и вагон кода, а еще нормас интерпретатор.Ява на STM32 это моветон и перерасход, ява не будет работать на AVR, а VERILOG/VHDLбоги вас просто не пустят к порче свего очередного DSP явой, ибо JAVA не может в реалтайм&ответственные операции.Поэтому она работает там, где вам разрешили и где вам об этом рассказали.
>>123073627 учи MASM просто потому что его любят универы, впринципе большой разницы нету.Главное это архитектура процессоров и компьютеров в целом:изучай asm8086 -ебанутый кострат, но зато от него легко перейти на более сложный асм.
>>123073838 >JAVA не может в реалтайм&ответственные операции >>123073834 >Джава не язык реального времени
>кучи библиотек для управления тредами >язык, предназначенный для того, чтобы работать в entertainment-приложениях >вскукареки по поводу того, что java не завезли в NASA
>>123073950 чего тупишь ? Как блеать в реальном времени на яве взять преобразование фурье со скоростью в 10uSec( что дохуя) и разложить на 20 спектров.
>>123074073 Пиздец ты тупой даун. Только из-за использования jvm она уже не попадает под rt. Учи матчасть, клоун, и пиши дальше свои аплеты для кофеварок.
>>123074939 >Зайчем нужен ThreadStatic? ThreadStatic — табу. Я про него знаю, но не использую, и не буду использовать. Лучше я напишу чуть больше кода, но этот код — явный, его можно открыть и посмотреть как он работает, чем буду использовать мудрености фреймворка со скрытой реализацией. .NET далеко ушел на фронте упрощения и абстракции алгоритмов, но тяжелая виртуальная машина, напичканая встроенными возможностями, сильно усложняет понимание и предсказуемость как будет работать код. В этом плане обычный C++ гораздо проще, где мы имеем дело с простой «реальной» машиной.
>>123077036 > Это почти мертвая платформа. Я это же и про джаву постоянно слышу, и про пхп, и про руби, в последнее время даже про ноду начал слышать, лол.
>>123076790 Полгода где-то рассылал резюме, сидел дома и не совсем представлял, что, собственно, от меня требуется. на самом деле, решал вопрос с военкоматом. В итоге в апреле попал на неоплачиваемую стажировку, через 3 месяца сделали оффер на, сука, 25к/мес, где я их послал нахуй и буквально через 3 недели взяли в контору со строем а ля НИИ - никаких технологий, про паттерны тут 1.5 человека знает, легаси-говнокод такой страшный, что я еще 3 месяца втягивался. Сейчас норм, но чувствую, надо бежать нахрен, ибо тут болото без развития.
>>123077223 Ты не понимаешь сути. Тупые вкатывальщики одержимы простым заработком. Они создают огромный пласт из низкоквалифицированных специалистов, которые не дают пробиться в люди действительно стремящимся. Нужно бороться с конкуренцией.
>>123077442 Они очень легко отсеиваются при первом же собеседовании. Другой вопрос, что сейчас появляются много техноголий, где достаточно одной извилины, особенно в вебе, там конкуренция пиздецовая, знакомые очень жалуются.
>>123077512 Ну я думаю по больничке можно что-то найти (зрение пиздецки хуевое), но все никак не найду времени просто провериться, чтобы перед медкоммисией быть уверенным в болячках.
>>123077706 Зрение - пробуй, но есть реально годный рецепт. Решай вопрос с такой хуйней, как открытое овальное окно в сердце. Диагностируется у трети населения, никакого дискомфорта в жизни не доставляет и посему найден бывает случайно или же случайно, однако ж дают категорию В и звание рядовой запаса.
>>123077627 Так веб-макака не человек, его за программиста особенно сейчас считать не нужно даже. Хотя вот на серверной стороне нет такого засилья макакачья, как во фронт-энде.
Контрольные вопросы 1) Что понимается под термином «полиморфизм»? 2) В чем состоит основной принцип полиморфизма? 3) В чем состоит значение основного принципа полиморфизма? 4) Какие механизмы используются в языке C# для реализации концепции полиморфизма? 5) Что понимается под термином «виртуальный метод»? 6) Какое ключевое слово языка C# используется для определения виртуального метода? 7) В чем состоит особенность виртуальных методов в производных (дочерних) классах? 8) В какой момент трансляции программы осуществляется выбор версии виртуального метода? 9) Какие условия определяют выбор версии виртуального метода? 10) Какое ключевое слово (модификатор) языка C# используется для определения виртуального метода в базовом (родительском) классе? 11) Какое ключевое слово (модификатор) языка C# используется для определения виртуального метода в производном (дочернем) классе? 12) Какие модификаторы недопустимы для определения виртуальных методов? 13) Что означает термин «переопределенный метод»? 14) В какой момент трансляции программы осуществляется выбор вызываемого переопределенного метода? 15) Приведите синтаксис виртуального метода в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 16) Что понимается под термином «абстрактный класс»? 17) В чем заключаются особенности абстрактных классов? 18) Какой модификатор языка C# используется при объявлении абстрактных методов? 19) Являются ли абстрактные методы виртуальными? 20) Используется ли модификатор virtual языка C# при объявлении абстрактных методов? 21) Возможно ли создание иерархии классов посредством абстрактного класса? 22) Возможно ли создание объектов абстрактного класса? 23) Приведите синтаксис абстрактного класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.
>>123078557 Веб, однозначно. Огромное живое комьюнити, огромное количество готовых решений, не требующих особо крученого мозга. На джаве нет фриланса. А фриланс куда ценнее опыта в конторе. Он вообще будет считаться как х2 реального опыта. Единственное, почему могут отказать, так это из-за боязни, что ты съебешь обратно в свой фриланс. Или из-за еще какой-то несущественной хуйни. Нужно на собесе показать, что фриланс тебя заебал, и ты ищешь стабильности.
>>123079457 >Изучишь яву - считай, изучил и шарп. Изучишь яву - считай, что изучил шарп и тонну говна в виде ненужных библиотек и дженериков, которые везде разные.
Надеюсь, здесь я найду ответ. Читаю книжку на английском по джаве.
Там есть некоторые непонятные термины. Есть такая конструкция: Huita h = new Huita();
Я знаю, что таким образом я создаю объект (экземпляр класса). Huita - это класс. h - это ссылочная переменная на объект Huita. = - это присваивание ссылке объекта Huita. new () - это запуск конструктора. Где я не прав?
Если не правильно ответишь на один вопрос, сразу идёшь нахуй я предупредил: 1) Наследуются ли статик переменные и методы? 2) Сколько можно максимум имплементировать интерфейсов к одному классу? 3) Может ли абстрактный класс быть final? 4) Что выдаст следующий псевдокод: Object a = new Object(); Object b = null; Console.WriteLine(a == b); Console.WriteLine(a.equals(b)); Console.WriteLine(b.equals(a));
>>123080992 1. Наследуются как константы. 2. Сколько угодно. 3. Нет, потому что так ты его не имплементируешь. 4. Я думаю, что будут все фолс. Но чую, что компилятор тебя выебет, за сравнение несуществующего объекта.
>>123075022 1)C,Delphi,Asm8086,Asm-AVR,Verilog(изучаю) 2) 20 3) вроде нет, иногда при троллинге говорю мол у меня легкая шизофрения-врачи не нашли, сказали мол фигня у меня надуманная, просто мыслю нестандартно 4)Гетеро, постоянно хочу трахаться, просто пиздец, стоит как карбид вольфрама на школьниц
>>123080940 Хорошо, тогда: GeneralHuita gh = new Huita(); Мы создаем экземпляр класса GeneralHuita, который является также субклассом вниз по inheritance tree?
>>123082149 Ага. И если понаделать кучу таких ссылок одного типа, ссылающихся на разные объекты, то можно взаимодействовать со всеми объектами сразу через эту ссылку? В этом и есть суть полиморфизма?
>>123082147 >255 Во-первых послал бы тебя на хуй, если бы задал такой вопрос на собеседовании. Эту хуйню незачем вообще знать. Во-вторых соси хуй, гугл говорит, что не 255.
>>123083524 Когда меня отчислили из вет. вуза, я начал учить джаву и пилил классификации животных и виде интерфейсов. Ты не представляешь, сколько всего там может быть.
>>123083422 К слову, о методе Equals. /// <summary> /// Determines whether the specified object is equal to the current object. /// </summary> /// /// <returns> /// true if the specified object is equal to the current object; otherwise, false. /// </returns> /// <param name="obj">The object to compare with the current object. </param><filterpriority>2</filterpriority> [__DynamicallyInvokable] public virtual bool Equals(object obj) { return RuntimeHelpers.Equals(this, obj); }
>>123085296 Так лепи вообще весь в код в одну строку, макак. Один хуй это будет выглядеть еще хуже. >>123085357 Как раз таки логики не будет, она будет не нужна тут.
>>123085153 > Ну а что свич даст там? Нихуя. Конструкция свитч специально сделана для перебора большого количества вариантов. If по-хорошему это да/нет и всё - выбор между двух значений.
Пришел пол года назад работать рядовым системным инженером в один из самых крупных дата-центров страны. Не имея никакого бэкграунда в программировании, за пол года освоил пайтон и перешел в штат программистов с зп*2. Я успешен по меркам этого треда?
>>123086283 Она и не нужна будет. Так как объект с настройками будет соответственно и сериализоваться тоже перед этим. А значит текст типа "password=" не надо будет хранить в самом файле.
>>123087243 Weather же. >>123087191 Тогда тот же объем кода будет в классе\структуре. Так что хз, что проще. Я изначально исходил из варианта, что готовый файл не трогаем.
>>123087650 Объем будет тот же. На каждое поле - 1 строка, плюс код для десериализации. И необходимость менять формат конфига, что зачастую неприемлемо.
>>123088330 Будем, но лучше запилить перекот не для дотнетчиков и джавистов, а просто курилку для погромистов. Желательно в ОП-посте указать парочку холиваров для затравки.
>>123088030 Не тот же. Плюс удобство будет чтобы добавить новый параметр - просто добавляешь его в класс и всё. int AnusDiameter = 10; А в способе на скрине надо будет добавить для того же самого 3 или 4 строки. Ведь есть еще такое же говно для сохранения настроек.
>>123088677 Так никто не хочет работать за копейки, понимаешь? Все думают, мол, я выучил джаву или сисярп, значит я достоин денег. А кто ты без опыта-то? Ты хуй. Пусть и не простой хуй, а с горы, но все равно хуй.
>>123073754 >вот как нописано так и нужно делоть!! послушай чо умные люди говорят, не дорос ещё им перечить!! как же ты без барина код то писать будешь, гнида??!?! Кто тут ещё пидорашка, пидорашка.