Всем привет, тимлид-архитектор из команды Яндекс в треде. 20 лет опыта (40 лвл). Владею 20-ю языками программирования. Сейчас ведём разработку своего языка программирования.Тут буду давать советы нубам. Погнали.1) В 2019 году английский язык для программистов почти не нужен. Большинство док переведены (особенно по С++) на русский. С заказчиками общаются бухгалтеры и PMы.
2) Часто нубы лезут в кодинг не зная чем поток отличается от процесса, а этот вопрос часто любят на собесах нубам задавать.Ответ: Поток — это определенная сущность программы. Каждый оператор (хотя это во многом зависит от реализации языка) выполняется отдельным потоком. Если говорить максимально просто, зачастую, сколько в программе if’ов, for‘ов и т. п., столько она и имеет потоков, но бывают и исключения (как в языке Haskell, детали гуглите). Все потоки имеют свою память.Процесс — вид потока, который исполняется напрямую в процессоре, а не в системном интерпретаторе потоков, как это делают классические потоки. Процессы имеют общую память (кэш процессора).
3) Когда собеседовал студентов, постоянно видел людей, которые не понимают, зачем вообще нужен фронтенд и что это вообще такое. Front-end (передний конец) — это начальная стадия изготовления программного продукта. Всё, на этом определение можно закончить. Никакие интерфейсы тут непричём, но тем не менее, фронтенд очень помогает кодерам пилить продукт вдальнейшем.
>>212914089 (OP)>Всем привет, тимлид-архитектор из команды Яндекс в треде. 20 лет опыта (40 лвл). Владею 20-ю языками программирования. Сейчас ведём разработку своего языка программирования.>Тут буду давать советы нубам. Погнали.>1) В 2019 году английский язык для программистов почти не нужен. >Большинство док переведены (особенно по С++) на русский. С заказчиками общаются бухгалтеры и PMы.
>>212914234>Если говорить максимально просто, зачастую, сколько в программе if’ов, for‘ов и т. п., столько она и имеет потоковТы ебнутый?
>>212914234>2) Часто нубы лезут в кодинг не зная чем поток отличается от процесса, а этот вопрос часто любят на собесах нубам задавать.>Ответ:>Поток — это определенная сущность программы. Каждый оператор (хотя это во многом зависит от реализации языка) выполняется отдельным потоком. Если говорить максимально просто, зачастую, сколько в программе if’ов, for‘ов и т. п., столько она и имеет потоков, но бывают и исключения (как в языке Haskell, детали гуглите). Все потоки имеют свою память.>Процесс — вид потока, который исполняется напрямую в процессоре, а не в системном интерпретаторе потоков, как это делают классические потоки. Процессы имеют общую память (кэш процессора).
>>212914364>3) Когда собеседовал студентов, постоянно видел людей, которые не понимают, зачем вообще нужен фронтенд и что это вообще такое. Front-end (передний конец) — это начальная стадия изготовления программного продукта. Всё, на этом определение можно закончить. Никакие интерфейсы тут непричём, но тем не менее, фронтенд очень помогает кодерам пилить продукт вдальнейшем.
4) Многие считают динамическую злом, и совершенно напрасно. Динамическая типизация позволяет выделять как можно меньше памяти на выполнение программы ю, поскольку выделением памяти занимается сам компилятор, на не процессорные «ассемблеры». В свою очередь, процессорные ассемблеры являются более надёжным и «типобезопасным» способом выделения памяти. Они так же являются подвидом компиляторов, только разработаны по другому принципу.
>>212914563>4) Многие считают динамическую злом, и совершенно напрасно. >Динамическая типизация позволяет выделять как можно меньше памяти на выполнение программы ю, поскольку выделением памяти занимается сам компилятор, на не процессорные «ассемблеры». В свою очередь, процессорные ассемблеры являются более надёжным и «типобезопасным» способом выделения памяти. Они так же являются подвидом компиляторов, только разработаны по другому принципу.
5) Реляционные БД в последнее время набирают обороты, возможно, скоро вообще все переключатся на них, вытеснив этим самым так-называемые Key-value и Value-key базы данных. По сути каждая релятивная (реляционная) БД представляет собой хранилище бинарников — двоичного (а иногда шестнадцатиричного) представления данных.Так что можете забывать всякие виды join‘ов и прочую муть, связанную с нерелятивными БД, на собесах спрашивать это уже почти не актуально (хотя всё-таки знания всегда поощряются).
>>212914089 (OP)Да тебя так и задеанонить можно. Поискать тимлидов с ачивками из фемиды с таким же возрастом как у тебя, а таких, я уверен, немного
>>212914892Одной строчкой на Питоне без либ распечатай матрицу размера NxM, вида:1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1Формат печати не важен, время пошло.
>>212914826>5) Реляционные БД в последнее время набирают обороты, возможно, скоро вообще все переключатся на них, вытеснив этим самым так-называемые Key-value и Value-key базы данных. По сути каждая релятивная (реляционная) БД представляет собой хранилище бинарников — двоичного (а иногда шестнадцатиричного) представления данных.>Так что можете забывать всякие виды join‘ов и прочую муть, связанную с нерелятивными БД, на собесах спрашивать это уже почти не актуально (хотя всё-таки знания всегда поощряются).
>>212914993>NxMНепонятно как должна выглядеть такая матрица когда она прямоугольная. У тебя в примере квадрат
>>212914089 (OP)я дохуя функциональный тестер, но не имею опыта, возьми меня к себе стажироватьсятелега @ik4et
>>>>212914089 (OP)1)Какие там зарплаты и лично у тебя?2)Какой язык лучше учить3)Можно ли удаленно устроиться в Яндекс?
>>212914563Вот только почти все языки с динамической типизацией в 99% не могут понять, что от них хочет программист. Речь о случае, когда афтар хочет работать с дробной арифметикой, а получает целочисленную, так же и наоборот. О фиксированной точке вообще нет речи. И напомню, что динамическая типизация значит интерпретация - гроб, кладбище, пидор.Покормил толстого.
>>212914993matrix = lambda w, h: [[min(x+1, w-x, y+1, h-y) for x in range(w)] for y in range(h)]print(matrix(12, 8))Проверяй.Я на самом деле тимлид, можешь не испытывать.И на будущее: не кидай такие задачи, я на собесах подобную хуету никогда не даю.
>>212915123Ты тупой? Пошли нахуй ненужные уточнения вместо решения задачи, как это обычно и бывает.1 1 1 1 11 2 2 2 11 1 1 1 1
>>212915266бля, тебе же сказали в одну строку, правильно будет так:print("11111\n")print("12221\n")print("12321\n")print("12231\n")print("11111\n")
>>212915266>Проверяй.>Я на самом деле тимлид, можешь не испытывать.>И на будущее: не кидай такие задачи, я на собесах подобную хуету никогда не даю.
>>212915266Я попросил одной строчкой, но сойдет.> И на будущее: не кидай такие задачи, я на собесах подобную хуету никогда не даю.Лол, поумерь ЧСВ. Ты тимлид в пидорахенской компании для обезьян. Ваши лучшие из лучших на международных научных конференциях тусуются отдельно и стесняются.
6) Все современные языки похожи друг на друга. К примеру, Python, PHP и Java исполняются на одной и той же виртуальной машине (JVM), названной в честь Jav’ы. Языки этой группы используют процессы вместо потоков, за что получили быстрый перформанс и ненадёжность значений переменных.
>>212915488>6) Все современные языки похожи друг на друга. К примеру, Python, PHP и Java исполняются на одной и той же виртуальной машине (JVM), названной в честь Jav’ы. Языки этой группы используют процессы вместо потоков, за что получили быстрый перформанс и ненадёжность значений переменных.
>>212914089 (OP)> 1) В 2019 году английский язык для программистов почти не нужен. Большинство док переведены (особенно по С++) на русский. С заказчиками общаются бухгалтеры и PMы.changelogи и обсуждения пропоусалов на гитхабе тоже на русском? Или ты гугл переводчиком на странице пользуешься?Клоун ...
>>212915452Он девственник, но не из-за знания п, а из-за того, что думает, что хуета, которую он тут постит, смешная.
>>212915479> Я попросил одной строчкой, но сойдетСойдёт ему, блять, пиздец еблан.На, сука, соси:print((lambda w, h: [[min(x+1, w-x, y+1, h-y) for x in range(w)] for y in range(h)])(7, 8))За 79 символов вылез — хуйца соснул pep нарушил.> Лол, поумерь ЧСВ. Ты тимлид в пидорахенской компании для обезьян. Ваши лучшие из лучших на международных научных конференциях тусуются отдельно и стесняются.Да мне похуй, че ты там думаешь
>>212915488>Все современные языки похожи друг на друга. К примеру, Python, PHP и Java исполняются на одной и той же виртуальной машине (JVM),Ебнутый?
>>212915479Я в любой момент могу сделать так, что тебя едва-едва сисадмином в НИИ возьмут, знай я кто ты.
7) Сразу учитесь использовать дебаггер. Кратко: «баг» (англ. «жук») — ошибка программы, связанная с утечкой памяти процессора (кэша) на жесткий диск/ssd. Но в современном обществе школьников этим словом называют любую нежданную хуйню, вплоть до неправильных текстур в играх.
8) Всегда (ВСЕГДА!!!) проектируйте, прежде чем написать код. Даже маленький ебаный скрипт. Даже строчку кода. Для проектирования соответственно учите SQL и XML (Service quote language, eXtended modeling language).
>>212914089 (OP)Испытываете кадровый голод или и так дохуя людей к вам рвутся? конечно понимаю что все хотят охуенных специалистов с 10 летним опытом в 20 лет, но не охуели ли вы? Почему не взять адеквата, заключить контракт на 10 лет и научить его в сему
>>212915869ну так то этот тролль даже отчасти правду выдал, потому что есть реализация питона JPython, которая компилирует питон код в JVM байт код, таким образом кстати в питоне можно избавиться от гила и обрести истинную многопоточность без локов на исполнитель кода.
>>212915822>Я в любой момент могу сделать так, что тебя едва-едва сисадмином в НИИ возьмут, знай я кто ты.
>>212914089 (OP)Чем процессор отличается от процессора и от системного блока и от процесса и от потока и от тхреада и от нити и от вок айтема и от процессора?
>>212915739Ты либо можешь решить задачу, либо не можешь.Игры с тобой в "давайте-ка подробно обсудим эту тупую задачку для второклассников, во дебили-ты" мне нахуй не сдались.>>212915776Да очевидно, лол. Я даже знал, что он Питон выберет.
9) В языках высокого уровня (Java, Python, Ruby, Rust — т. е. группа «процессорных» языков, о которых я говорил выше) отсутствуют «исключения». Потому что это, собственно, группа высокоуровневых языков, выполняющихся близко к процессору, поэтому в них нет такой абстракции, как «исключения». Языки высокого уровня и так подвержены ненадежности (к примеру, тяжелая высокоуровневая прога втупую может сменить вам значение переменных или значения внутри массива), если бы в них добавили исключения, это был бы очередной C# (то есть очередной полный провал не принимайте близко к сердцу, шарповики). Этот вопрос часто на собесах спрашивают, кстати.
>>212916011>Чем процессор отличается от процессораДетка ты ебанулась? Унеси своё говно откуда принесла
>>212916061Трустори говоришь, исключения нужны только в языках низкого уровня. Я во всё обкладываю исключениями в Си и ассемблере.
>>212915724Хорошо видно, что ты студентик.Я же написал MxN, нахуя тебе там лямбда? Использовал бы M и N.У тебя нет навыка писать простой код, ты привык выебываться и считать, что твои выебоны кому-то интересны.
>>212916061>9) В языках высокого уровня (Java, Python, Ruby, Rust — т. е. группа «процессорных» языков, о которых я говорил выше) отсутствуют «исключения». Потому что это, собственно, группа высокоуровневых языков, выполняющихся близко к процессору, поэтому в них нет такой абстракции, как «исключения». Языки высокого уровня и так подвержены ненадежности (к примеру, тяжелая высокоуровневая прога втупую может сменить вам значение переменных или значения внутри массива), если бы в них добавили исключения, это был бы очередной C# (то есть очередной полный провал не принимайте близко к сердцу, шарповики).>Этот вопрос часто на собесах спрашивают, кстати.
>>212916186Бля, мы же уже вместе пошли, брат, ты забыл меня брат? Как ты мог брата своего забыть, брат?
>>212915822Я в любой момент могу тебя сдеанонить, вот прямо сейчас, и сделать, чтобы тебя выпнули из твоей шараги и ты уехал на сгущенку за ЦП, например.
https://webcache.googleusercontent.com/search?q=cache:3-R2YmauVzMJ:https://arhivach.ng/thread/507490/+&cd=6&hl=ru&ct=clnk&gl=ru
12) Сейчас существует огромное множество фреймворков для создания практически чего угодно. Большинство из них языко-независимые (language-free), и представляют собой прокачанные компиляторы. Для каждого второго есть графический интерфейс (для совсем нубов — можно работать через граф. редакторы типа пейнта/фотошопа). Для работы через Photoshop рекомендую ReactJS, написанный на языке Java.
11) Никогда не используйте локальные переменные. В группе Pascal-подобных языков они обозначаются ключевым словом lovar (Local Variable). Они значительно уменьшают нагрузку на процессор, но совершенно не годятся для моделирования, а так же приведёт к «засорению» памяти. Зачастую их используют бородатые дяди, когда пишут эксплойты (эксплоит — сленговое название ядра ОС). Они, конечно же, знают, где их нужно применять.
10) Конечно же, я не могу не упомянуть ООП (Объектно Остаточное Программирования). Все студентишки знакомятся с этой парадигмой, изучают классы, рекурсивность и т. п. Объектно Остаточное Программирование позволяет эффективно расходовать оперативную память, кэш процессора, и даже энергомощность блока питания за счёт того, что позволяет манипулировать остатками ячеек памяти уже пройденных компилятором, путём представления ячеек (или их совокупностей) через т. н. объекты. Классы описывают эти самые объекты. Всё очень просто.
13) Все языки программирования делятся на Тьюринг-полные и Тьюринг-частичные. Тьюринг полные языки так называются, потому что там присутствуют операторы, придуманные самим Тьюрингом (конструкция if, циклы while и for, а также тернарный оператор x ? y : z)Забавный факт: именно благодаря тернарному оператору Тьюринг смог разгадать усложненную версию шифровальной машины "Энигма" с четырьмя роторами.Хаскелль - пример Тьюринг-частичного языка, т.к. там отсутствуют конструкции for и while, но присутствует if.
>>212914089 (OP)Почему Толока похожа на рабство? Не уж то при таких вливаниях из Яндекса нельзя установить минимальную цену задания 50 центов?
14) Сейчас (по крайней мере в нормальных странах) сильный бум сферы GNU (Gender network unified). Как правило, заказы из этой сферы связаны с предоставлением универсального интерфейса для обслуживания людей разных гендеров, для подобных целей лучше всего подходит язык PHP и WordPress (хотя, конечно же, подходы могут быть различны).
>>212914089 (OP)Как ты относишься к смерти от инфаркта курьера Яндекс-еды? Он пытался заработать, но его наебали. Он начал работать 24 часа, чтобы заработать и умер.
15) Популярность так называемых «декларативных» языков программирования (т. е. таких, в которых декларации процессору хранятся в так называемом «стэке» деклараций) — лишь тренд. Скоро все эти ваши Ады и Perlы уйдут в тень, и вакансий будет мало. У себя в компании мы отказываемся от этих языков, в основном потому что проёбы на кастомных декларациях ведут к необратимым потенциальным ошибкам.
16) Шаблоны проектирования — типичный вопрос на собеседовании. Самый популярный шаблон — «Dependencies injection» — позволяет хранить данные («внедрять», «инжектировать») в оперативную память.
18) Рекомендую постепенно отходить от архитектуры Интел и АМД. Сейчас все большую популярность набирает Эльбрус.
>>212914234Спасибо, спрашивали на собеседовании этот вопрос, не смог ответить. Теперь то точно смогу!
>>212914089 (OP)Проиграл с долбоеба. Хотя в яндексе такие же долбоебы навыдумывали своих терминов и ходят ебало скрючив не понимая, что им нормальные люди говорят.
>>212914089 (OP)А скажи мне как в яндекс продать прогу? Я здесь написал на калькуояторе, должна зайти.
>>212920707пускай тогда и объяснит, когда архитектура интел и амд перестали быть актуальными в пользу Эльбруса.
>>212914597>>212914754>>212914993Проиграл с вкатывальщиков, которые наверное годами начинают учить язык программирования, а когда какой-нибудь человек утверждает, что умеет одновременно в некоторое число языков, сразу думают: нивозможно!!1Но, когда анон напишет я программист, моя зарплата 300к, пишут: ах, на дваче одни 300ксек сидят, какой же я тупой, что не могу вкатиться
>>212914089 (OP)Нахуя нужны кодеры в таком количестве? Главное идею и алгоритм захуярить-же. А исполнение можно хоть в екселе сделать.В основном эникейщики не знают даже основы логики и не способны к масштабному мышлению.
>>212923483Да и сам яндекс простейшая хуйня.Юзер обращается к огромному винту,куда другой юзер сливает свой уебанский сайт в надежде получить деньги, пизды, писечкиВсе блять.
>>212914089 (OP)Расскажи как шифроваться при ботоводстве. Как вы выуживаете роботизированнуютработу, фингерпринт, юзервгент, прокси и т.п.Дополни плиз список и опиши если сможешь
>>212914364что за чушьфронт-энд это клиентская сторона программы, обычно в применении к веб приложениям, но в принципе фронт может и под мобилы/десктоп писать
>>212925861Спешите видеть, очередное зеленое хуйло порвалось. Нормально тебе там интерфейсы пишется, веб-макака чмошная?
>>212914089 (OP)Ну и вот нахуя ты нам эту всю очевидную хуету городишь? Раз ты архитектор, рассказал бы про важность синглтона или стратегии, хотя бы MVC, MVVM, и почему вы, черви-пидоры, постоянно к ним цепляетесь, в чём мякотка всей этой хуйни. А ты городишь хуйню из учебника по информатике. Пшёл нахуй, сеги тебе
ОБОССЫВАЮ ВСЕХ В ЭТОМ ТРЕДЕ!Ну все друг друга обоссывают, вот я и присоединяюсь,чё мимо проходить-то.>>212914089 (OP)ОП толстяк>>212914373>>212914394>>212914430>>212914459>>212914490>>212914526>>212914564>>212914687>>212915007>>212915056>>212915193Настолько тупые что приняли это за чистую монету.Но апофеоз тупизны это мериться здесь задачками:>>212915246>>212915266>>212915301>>212915323>>212915421>>212915454>>212915739
20) IoC (Interpreter over Console) — это оболочка ассемблера (компилятора), которая выполняется в командной строке (консоле). В Windows и Unix может быть открыта одновременным нажатием клавиш Ctrl+Shift+C. Сразу откроется консоль с IoC’ом, для каждой системы он свой. При желании можно сконфигурировать доступ к ядрам процессора (потокам).
>>212914089 (OP)>Владею 20-ю языками программирования>ведём разработку своего языка программирования.Нахуй пойти не хочешь уёбок, язхыков ему мало, в жопу соседу свой язык засунь пидрила, лучше бы что хорошее делали а не новое гавно, подрахи не могут без изёбов.Я прост напомню что это яндекс активно учавстствовал в разработках стандартов распознавания региона/страны по ip, очевидным образам топя за границы в интернете.Это пидояндекс цензурирует своб новтсную лент.Это пидояндекс кинул риелторов замутив на наполненым ими севрсие по свою риелторскую конторуЭто пидояндекс кинул инетрнет магазины сделав из яндексмаркета свойБля это чмо даже едой торгуетОщещение что миссия яндекса это уничтожить все ниши пидорахии заняв их собой.И да, это у пидояндексе в прямом смысле на рабочем месте от переработки умер курер доставщикУ меня все, кто отпишется без саги тот чмошный пидр импотент.
>>212914089 (OP)Это чмоЯндекс типичная залупная пидорашкаhttps://novayagazeta.ru/articles/2019/04/23/80325-smert-kurieraЕще мождете на гуглить про порядки в этой яндексконторке.Язек они пишут, так и вижу эту хюйную с массорвыми изьебами в логике и зондами на уровне ядра, а для буста понижение в выдаче решений на других языках и пиар этого нгавна в браузере, какого хуя делает антимонеопольный комитет? Этот "лидер рынка" давно ахуел за край.
>>212930205Гугли тему придурок, все эти "не работают" чисто чтобы наебать КзОТ, ирл там хуй не выйдешь ан свою смену и пиоорнут сразу, дефакто это работа, причем иногд апо 12 часов в сутки и попробуй возмутись, уволят нахуй или на бабки штрофуют.После того ясканадала яндекс немного прочухался и сказал что будет таки соблюдать 8часовой рабочий день (требование котрое медведев обещал отменить к 2020 ибо рабы должны работать - незнаю отменили или нет надо гуглить, но так и так думаю отменят).А с таксистами другая тема, там яндекс тоже изьебнулся пользуясь своим положением на рынке чтобы знатно нагнуть таксистов прчием на столько что те даже дым шашкиуже кидали им в офис, та еще компания.
вообще яндекс такси антимонопольщикам давно пора было бы запретитьэто гнилая тема когда они весь рынок под себя гребут
>>212915632Именно из-за знания ЯП. Потому что на задротство с 20ю языками ушли годы НЕ мацания тян за сисечки. А сейчас уже поздно.