All streams
Search
Write a publication
Pull to refresh
10
0
Send message

Насколько я понимаю, со знанием EQ, вообще, устроиться не проблема. Мне, после того, как я убрал AS/400 и RPG из резюме, ещё лет пять изредка присылали приглашения на собеседование. (Хотя, возможно, потому что я 000-869 System i Tech в резюме оставил).

Мне интересно, насколько сложно найти работу на распространённый язык - C#, Java, Python или на чём сейчас часто пишут.

Видимо, авторам нравится Clojure - "функциональный Java с макросами" и они захотели "функциональный Си с макросами".

В РФ есть довольно многочисленная группа школьников, которые углубленно изучают математику. Кроме различных олимпиад регулярно проводятся очные турниры (матбои), на которые приезжает много команд из разных школ (разных городов). Есть математические летние лагеря и математические смены (Сириус, Орлёнок и т.п.) в течении учебного года. Попасть на Всерос или в финальный этап Эйлера (аналог Всероса для восьмиклассников) не так просто.

Проходной балл в топовые ВУЗы выше 300. Чтобы попасть туда нужно либо иметь дипломы престижных олимпиад, либо хорошо написать олимпиаду для абитуриентов.

((3 + 1) * 3)6 = 8

12 по основанию 6 (12 в шестеричной системе счисления) = 8 :)

Ещё РенТВ. И всякие антинаучные мифы, маскирующиеся под научпоп.

Что-то все ударились в воспоминания. Даже мои любимые RPG и AS/400 вспомнили (Equation, наверное?). Но раньше ситуация была другой. А насколько сложно сегодня устроиться джуном?

У меня сложилось (возможно, ошибочное) впечатление, что джунов сейчас не то что на работу не берут, но и даже на собеседования не приглашают. Как-то это слабо согласуется с нехваткой 1 миллиона специалистов. Особенно на фоне того, что ЦБ в очередной раз улучшил прогноз чистой прибыли банков по итогам 2023 г. - она может приблизиться к 2,9–3 трлн руб.

Спрашиваю не о тех, кто окончил престижный ВУЗ и/или работал с первого курса. А если ВУЗ не из непрестижных, а опыт работы не совсем релевантный (что-нибудь типа T-SQL, например)?

Обе стороны правы.

Единственная польза, так это научился учиться, остальные знания просто никуда не пристроить.

Эта цитата замечательным образом отражает "дуализм" высшего образования.

С одной стороны (хороший) ВУЗ даёт фундаментальный навык работы с информацией. Учат учиться - точно и лаконично. Хотя, возможно, те, кто не прошёл через это, не поймут. Этот навык сложно получить самостоятельно, а без него нельзя стать хорошим программистом (хотя можно стать высокооплачиваемым программистом, если научиться делать что-то одно, но очень хорошо). Обучение в ВУЗе очень полезно, даже если вы не изучали там программирование.

С другой стороны прикладные навыки, которые даёт ВУЗ либо не пригодятся, либо устареют. Даже если эти знания в тему, то они недостаточно глубоки. Освоить тему с нуля до высокого уровня не сильно дольше, чем с того уровня, который вам дали в институте. Программирование (по крайней мере, в моей области) - это разбиение задачи на подзадачи и обработка отрицательных сценариев. Но как раз этому в ВУЗах и не учат. Могу ошибаться, так как сужу по коду, который выкладывают студенты на форумах. Ценность знаний, которые даёт ВУЗ, невелика, даже если вы изучали там программирование.

Для того чтобы понять, что при массовых операциях по модификации строки будет все плохо достаточно знать что строка это константа.

То, что строка является константой, в данном случае не принципиально. Во-первых, константа может храниться в стеке. Во-вторых, замена в коде строки на массив символов, не решает проблему.

Если кроме этого еще и знать, что в природе есть билдер, то знания про стек и кучу уже не нужны.

Знание о наличии билдера не даёт ответа на вопрос, когда его не нужно использовать.

Я согласен, что в принципе можно составить набор эмпирических правил для выбора между String и StringBuilder. Но запоминать все такие наборы правил для разных ситуаций может быть утомительно.

1) Нельзя научить, как стать успешным бизнесменом.

Грубая аналогия. Можно научить плавать, но нельзя научить, как (гарантированно) стать чемпионом страны по плаванию.

Более тонкая аналогия. Можно научить хорошо играть в покер, но нельзя научить выигрывать в покер. Если твои оппоненты играют лучше тебя, то ты проиграешь даже если ты играешь очень хорошо.

2) Нельзя научить ценному (хорошо оплачиваемому) умению за 3 месяца. Рыночная ценность умения зависит от количества времени, которое нужно (в среднем) затратить на изучение. Баланс спроса и предложения.

3) Нельзя научить кого угодно чему угодно. Для успешного обучения ученик должен обладать какими-то навыками. Например, чтобы изучать высшую математику нужно знать школьную математику. Можно, конечно, и с нуля учить, но тогда сроки будут соответствующие.

Я не знаю, что там обещают на курсах "успешного успеха", но, по-моему, любые курсы, на которых обещают успех (а не знания/умения) и/или быстро и много и/или без предварительных требований к ученикам, заведомо являются мошенничеством.
(Готовлю чемпионов региона по бегу за 3 месяца. Оплата вперёд. Пенсионерам скидка.)

1/2 + 1/3 – 1/6 – 1/10 – 1/15 + 1/30

Потеряли +1/5

Программист на C# не пишет код для выделения/освобождения памяти. Поэтому, теоретически, чтобы писать на C#, необязательно знать, что такое куча, стек и сборщик мусора.
На практике джуну можно и не знать. А вот начинающий мидл уже должен знать хотя бы про стек и кучу. Как минимум для того, чтобы не использовать String там, где нужен StringBuilder. А сеньору уже нужно представлять как устроен сборщик мусора.

Аналогично, фронт-программист должен представлять, как устроен DOM. Без этого можно решать задачи уровня джуна, но не мидла+.

Вообще, массив и дерево - это две базовые единицы, на которых построены все структуры данных. Либо мы выделяем память подряд, либо храним ссылки на другие участки памяти. Связанный список является вырожденным ("унарным") деревом.
Программист без знаний/опыта использует структуру А, потому что он других не знает. Программист с минимумом знаний/опыта использует структуру А, потому что для такой задачи он всегда использовал эту структуру. Но опытный программист должен уметь обосновать свой выбор. А для этого ему нужно знать, что там под капотом, и какие есть альтернативы.

А другие варианты Вы не рассматриваете?

1. Кандидат увлекается программированием и посвящает этому значительную часть свободного времени. То есть, он читает всегда, а не только перед собеседованием.

2. Кандидат регулярно заходит на форум. На прошлой неделе помог кому-то как раз такую задачу решить.

3. У кандидата хорошая память. В институте решал такую задачу и до сих пор помнит.

4. Квалификация кандидата позволяет ему легко и быстро решать подобные задачи. Например, для задачи типа инвертирования бинарного дерева достаточно знать общие принципы работы с деревьями.

И так далее...

Это самый правильный вариант. Термины из хороших переводов хороших книг используются в других переводах и постепенно становятся общепринятыми. Иначе мы бы до сих пор "ассайнили вариаблам значения экспрешенов".

Согласен, что наименование должно отражать область ответственности и быть унифицированным.

Кроме funny-naming есть и другие варианты сделать плохо.
Например, называть всё "одинаково". При этом IntMultiplier будет состоять из InputUtility, QueuingUtility (с очередями, ведь, работает), NumberUtility и ResponseUtility.
Или называть всё "беспорядочно". Когда название отдельно взятой компоненты вроде бы нормальное, но разные компоненты названы по разным принципам.

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

Мидл - это программист.
Сеньор - это программист + архитектор + аналитик.
Но не руководитель проекта. Решать, какую фичу реализовываем в первую очередь, он не должен.

1 к 8.

(17-16)/(25 - 16) = 1/9, (25 - 17)/(25 - 16) = 8/9
поэтому 1 к 8 (первый отрезок в 8 раз меньше второго)
отношение отличается от дроби (например, 1 к 1 значит 1/2 и 1/2, а 2 к 5 значит 2/7 и 5/7). в числителе "отношения" (пропорции), а в знаменателе их сумма.

y = 4 + (5 - 4)*(1/9) = 4 + 1/9

Все ошибаются. Тут главное не держаться за свои ошибки.

Я почему-то был уверен, что (давно) читал эту историю в книге Стоуна и Кузника "Нерассказанная история США", где все факты проверены независимыми экспертами. На днях пролистал - нет там такого. Зато есть слова Трампа, что глобальное потепление - это «выдумка», запущенная «китайцами и для китайцев».

Спасибо за ссылки. Прочитал. Интересно.

SRP не про действия, а про ответственность. Ваша функция отвечает за решение квадратного уравнения и за вывод решения на экран. Поэтому нужны две разных функции.

А вычисление дискриминанта вообще не требуется. Функция вычисляет его для себя.Поэтому для удовлетворения SRP не требуется выделять это вычисление в отдельную функцию. Более того, его вообще необязательно вычислять (при условии, что существует другой, достаточно эффективный метод решения квадратных уравнений).

Соглашусь, что "не объективность" присутствует. Более того, даже один и тот же программист может разбить задачу на функции по-разному для разных языков программирования.

Information

Rating
Does not participate
Registered
Activity