Резюме для программиста
Язык берется за несколько месяцев.
Именно - разговорный. Особенно, если хоть какой-то бекграунд в наличии...
Все что требуется - исключить возможность получения информации на другом языке и иметь обязанность понять что требуется и выполнив это объяснить что сделано.
Как-то даже у нэйтив спикеров не берётся и за два года, не то, что за два месяца, хотя они никакого другого языка с рождения не знают.
Смотря на каком уровне и в какой области. ))
"Моя твоя плохо понимать" - да, можно за 2 месяца, если ограничиться областью сдачи тасков в баг-трекере.
надо на это потратить примерно от 10 лет жизни
------
Хи-хи...
от 20-ти и... в команде из 15-20 рыл, примерно равной квалификации...
Никому ваши игры в песочнице не нужны.
-----
Так оно и потом никому не нужно... ну за исключением того, кто платит деньги в надежде заработать... или хотя бы съекономить...
не было
-----
А должно было быть?
Если тебе вместо полного описания алгоритма скажут - пузырьковая сортировка - это обойдется без "Вау-у-у!!!"?
И что, даже в ожиданиях этого не будет?
Ну а с какого тогда понталыку оно должнопоявится на другом помеченном куске организации кода?
"Моя твоя плохо понимать"
-----
Это около 2-х недель.
Именно столько заняло у меня, чтобы с нуля сказать немцам, что далее перевод "дэйли/виикли" для меня болеe не нужен...
Причем понимание поставленных задач было достаточным для их выполнения без дополнительных пояснений.
Нет, но можно что-то вроде "Heute früh morgen, wenn die Sohne noch nicht scheint, an einer Baustelle vorbei, die schon seit zwei Jahren läuft, mit einer größen Freude bin ich gejoggt".
ну удачи))
я не хотел сказать, что разработанные студентами СУБД где-то могли найти применение.
Это просто был пример сложности задач местных университетов.
Если тебе вместо полного описания алгоритма скажут - пузырьковая сортировка - это обойдется без "Вау-у-у!!!"?
Мне сейчас это понятие "пузырьковая сортировка" ни о чём не говорит. Много раз слышал, никогда не изучал. Использую дефолтные сортировки из библиотек. Ну будет надо - посмотрю в какой-нибудь Википедии. Я не думаю, что там материала на неделю изучения минимум.
Вот сейчас назначили технический собес. Готовиться ли по всяким сортировкам? - Да нафиг надо. Там могут что угодно спросить, а за время до собеса всё не изучишь-повторишь. Повторю всякие сложные формы наследования, наверное - ну, из разряда каверзных вопросов "на продакшене мы так не делаем, но задачки такие на собесах решать надо", и всё. Да и то лишь потому, что когда-то не прошёл техсобес по этой теме. Всегда не нравилось что-то зубрить. Ты либо используешь это и знаешь, либо только будешь использовать и для этого изучаешь. А изучать, чтобы проходить собесы и "чтобы было" - верный способ загнать себя в депрессию и потерять мотивацию программировать.
"Моя твоя плохо понимать"
-----
Это около 2-х недель.
Именно столько заняло у меня, чтобы с нуля сказать немцам, что далее перевод "дэйли/виикли" для меня болеe не нужен...
Причем понимание поставленных задач было достаточным для их выполнения без дополнительных пояснений.
Ну это смотря как задачи ставили. Письменно в сжатом виде, без воды, или устно, гнусавым, трудноразличимым голосом, с кучей лишних "вспомогательных" слов, произнесённых скороговоркой и со съеданием окончаний. Так-то мне иногда и на родном языке нужно повторить, чего от меня хотели.
я не хотел сказать, что разработанные студентами СУБД где-то могли найти применение.
Это просто был пример сложности задач местных университетов.
Я не знаю, насколько сложно разработать собственную СУБД. А главное - каково уровня? Может, в максимально простом случае там на 100-200 строк шаблонного кода?
В области трёхмерной графики студентов учат разрабатывать свои движки рендеринга. Правда, все формулы и подходы уже давно в букварях есть, и тупо берёшь, копируешь и, может быть, добавляешь что-то от себя, чтобы совсем плагиатом не выглядело. Вот 43 строчки кода для трёхмерного крутящегося пончика, из которых примерно треть - скобочки и декларации переменных: Donut-shaped C code that generates a 3D spinning donut - YouTube
Нет, но можно что-то вроде "Heute früh morgen, wenn die Sohne noch nicht scheint, an einer Baustelle vorbei, die schon seit zwei Jahren läuft, mit einer größen Freude bin ich gejoggt".ну удачи))
А что не нравится? Это я ещё "слегка выпендрился". Как письма ото всяких амтов читать, или вообще договора там с разными страховыми - и муттершпрахлер сдастся.
Кстати, вот тут из списка Каверзные вопросы по C# / Habr задачка 2 непонятна. Как я понимаю, базовый метод скрывается в унаследованном классе, поэтому передаваемый int приводится к double в функции наследующего класса и вызывается собственно эта функция, а не из базового класса? Т.е. тут главное, что метод скрывается, а потом уже работает приведение типов, причём неявное.
А вот если поменять тип, и передать дабл в метод, который в классе В бы принимал инт, то компилятор выдал бы предупреждение о нужности явной конверсии при передаче параметра, как я понимаю? Тут надо знать заранее, а не проверять на деле, т.к. на собесе перед вами только листочек с вопросами.
А вообще, как видно из комментов к той статье, ни один не ответил на все вопросы - т.е. завалить можно любого. Хоть заповторяйся-заучись. Где-то читал интервью Эрика Липперта, чтоли, где он признавался, что не разбирается нормально в написании многопоточного кода (как-то так). Это не мешало ему работать в команде по созданию компилятора C# много лет. Или вот, например, какой-то индус своим "корявым" английским (там в комментах говорят, что тоже не поняли, что он сказал про "возможности") рушит очень важную презентацию одного из главных продуктов на то время Satya Nadella Cortana Demo Epic Failure (Funny Video) - YouTube . И ничего, работает на не самой низкой должности в не самой бедной компании. Ну т.е. добился хоть чего-то человек, даже с такими проблемами. )) А кто-то берёт уроки у специальных преподавателей, чтобы убрать акцент, хотя занимает далеко не высокую должность или вообще безработный. Послушал многих иностранцев на позициях весьма крутых в МС, Гугле и т.п. - вобщем, если не учились в американском ВУЗе или вообще не родились и не выросли там, то будет дичайший акцент. Но не парятся ребята, а просто зарабатывают по 100-200 тысяч баксов в год, пока Вася из Макдональдса убирает свой акцент и развивает языковые таланты.
Насчёт каверзных вопросов по наследованию - по-моему, сокрытие методов, это плохая практика. Я щас не помню, но вроде компилятор в последних версиях Студии об этом придупреждает и предлагает добавить слово new перед одноимённым методом в потомке?
Но там сама суть важна - как в группе методов из иерархии наследования выбирается нужный метод, учитывая все ключевые слова определиня и наследования этих методов, и правил приведения типов параметров.
А влияют ли вообще правила приведения типов на выбор метода в группе? По-моему, если такой вопрос задаётся, то уже что-то хреново в вашей системы наследования - слишком много "магии". Надо постоянно держать в голове все комбинации всех ключевых слов и дополнительных правил, чтобы выбрать правильный вариант из, зачастую, десятков возможных. Плохой дизайн.
Кстати, вот тут из списка Каверзные вопросы по C# / Habr задачка 2 непонятна. Как я понимаю, базовый метод скрывается в унаследованном классе, поэтому передаваемый int приводится к double в функции наследующего класса и вызывается собственно эта функция, а не из базового класса? Т.е. тут главное, что метод скрывается, а потом уже работает приведение типов, причём неявное.
А вот если поменять тип, и передать дабл в метод, который в классе В бы принимал инт, то компилятор выдал бы предупреждение о нужности явной конверсии при передаче параметра, как я понимаю? Тут надо знать заранее, а не проверять на деле, т.к. на собесе перед вами только листочек с вопросами.
Нифига. Сейчас проверил. Если поменять инт и дабл местами в типах параметров методов, и передать в вызванный метод дабл, то будет вызвать метод базового класса. Значит, приведение типов влияет на выбор метода в группе - если возможно неявное приведение, то оно будет выполнено и методы базовых классов рассматриваться не будут. А если невозможно, то будут. А если сделать явное приведение, то опять будет работать правило с неявным приведением:
class Program { static void Main(string[] args) { Child c = new Child(); c.Foo((int)10.10); } } class Parent { public void Foo(int x) { Console.WriteLine("Parent.Foo(int x)"); } } class Child : Parent { public void Foo(double y) { Console.WriteLine("Child.Foo(double y)"); } }
Здесь выводится "Child.Foo(double y)". Как я понимаю, компилятор после моей явной конверсии из дабла в инт делает потом неявную из инта обратно в дабл и применяет метод из класса потомка.
Короче, показанная здесь и в таком виде иерархия классов - зло. Слишком много магии происходит по всяким "соглашениям", знание которой и проверяют такие задачки.
Но что самое интересное, правильный ответ может зависеть от версии компилятора. Вот здесь Overloading (csharpindepth.com) Джон Скит пишет
The C# 3 compiler will pick the overloadFoo(object x)
. The C# 4 compiler, when targeting .NET 3.5, will pick the same overload - becauseIEnumerable<T>
isn't covariant in .NET 3.5. The C# 4 compiler, when targeting .NET 4, will pick the Foo(IEnumerable) overload, because the conversion to that is better than the conversion toobject
. This change occurs with no warnings of any kind.
Даже не вдаваясь в подробности, относительно какого примера это написано, уже понятно, что самый-самый правильный ответ на такие "каверзные задачки" - это сначало уточнение версии компилятора. А экзаменующий должен быть поражен вашими энциклопедическими знаниями - мол, надо же, чувак постоянно держит в голове не только всю "магию" наследования с кучей правил и оговорок, но ещё и для всех версий компилятора. Надо его брать - у нас тонны говнокода на разных версиях фреймворка, включая доисторические, которые никто не будет переводить на новые. А такой умник как раз для такой работы подойдёт.
Вывод: если знать слишком много, можно получить почётную работу по разгребанию застарелого дерьма со знанием различий версий компиляторов. Пока джуниоры будут говнокодить на новом, модном, современном. )))
А что не нравится? Это я ещё "слегка выпендрился". Как письма ото всяких амтов читать, или вообще договора там с разными страховыми - и муттершпрахлер сдастся.
ты путаешь kanakendeutsch с amtsdeutsch
Вот пример из моей страховой:
"Im Fall Ihres Todes auf einer Reise mit dem versicherten Pkw im Ausland sorgen wir nach...".
Конечно, не так часто встречаются такие фразы, тем более в жизни, но в принципе должны немцы такие фразы понимать. В юридических документах ещё сложнее - примерно как и в русском, и вообще в любом, наверное - "Согласно закону РФ от... принятому в... с поправками от... принятыми в..., а также закону... принятому... поправками... суд вынес решение...". Вот эта "вводная часть" до первого глагола может занимать десяток строк - видел такое пару раз. Читать практически невозможно.
Вообще, в немецком создаётся ощущение, что смысловой глагол не так уж и важен, раз они его в конец часто вставляют. По сути, смысловой глагол в
обычных утвердительных предложениях на втором месте стоит лишь в 2 случаях - настоящее и прошедшее (не перфект). Все остальные времена и формы - в конце с остальной глагольной группой. Поэтому в немецком нормально выражение "Ich kann Englisch sprechen", а в русском "я могу в английский" - это жаргон.
Да нафиг надо.
-----
Тебе - точно - нафиг не надо.
А меня иногда спрашивают - чем вот это сортировать будешь?
Да и по работе случается заменять стандартные на сурогаты... и экономить по 20-30 минут на проход...
Всегда не нравилось что-то зубрить.
-----
Причем тут зубрежка?
Хотя... да, можно зубрить... правда Я всегда обучал тому, что в сортировке наличествуют три компонента... и только один из них отличается и определяет название метода...
Ты либо используешь это и знаешь, либо только будешь использовать и для этого изучаешь.
-----
Есть еще вариант с пониманием того что делается.
Это когда ты изучил до понимания того что делается и способен лепить то что требуется под задачу...
Ну это смотря как задачи
ставили.
-----
А почему - ставили?
Немцы между собой обсуждали текущие задачи, что-то выпадало мне...
Единственное - иногда увлекались и переходили на сленг/говор/местное/быстрое - тогда становилось непонятно, переспрашивал...
Так-то мне иногда и на родном языке нужно повторить
-----
Бывает... заметно...
Ну это смотря как задачи ставили.
-----
А почему - ставили?
Немцы между собой обсуждали текущие задачи, что-то выпадало мне...
Единственное - иногда увлекались и переходили на сленг/говор/местное/быстрое - тогда становилось непонятно, переспрашивал...
Это особенность сеньёрских позиций, или вообще на любой требуется активное участие в обсуждениях принимать. Типа "эй, джуниор (миддл), какие идеи у тебя по этому поводу?".
Всегда не нравилось что-то зубрить.
-----
Причем тут зубрежка?
Хотя... да, можно зубрить... правда Я всегда обучал тому, что в сортировке наличествуют три компонента... и только один из них отличается и определяет название метода...
Вот сейчас настал как раз случай, когда мне нужно повто... пояснить, что имелось ввиду. Причём тут сортировка, название метода и каких-то три компонента?
Вот пример из моей страховой:
"Im Fall Ihres Todes auf einer Reise mit dem versicherten Pkw im Ausland sorgen wir nach...".
Это предложение с твоим имеет из общего примерно ничего.
Вот что мне не нравится на этом форуме, что со мной почти никогда ни в чём не соглашается. Проклятая неопределённость!
или вообще на любой требуется
-----
Это от организации работ.
Может быть вообще тупо:
файл "12345677", строка 54, заменить "абс" на "асб".
файл "12345677", строка 94, заменить "бса" на "сба".
И так - 8 часов каждый день... да, и у сениора тоже...
В работе всегда бывают затыки. Как то они сами собой образуются.
Сторонний взгляд на проблему может позволить оценить проблему по-другому.
Может. А может и не позволить - или сам не можешь, или идеи совсем никакие...