Search
Write a publication
Pull to refresh
22
0.3
Артем Дроздов @Artyomcool

User

Send message
Много лет назад как раз релоцировался в Mail.RU. Так же оплачивали все стартовые вещи, никакого года отработки не требовалось.
Потом поработал в Яндексе, и самое смешное, что с моей колокольник оба автора правы, если не во всём, то во многом. И способ собеседований такой какой он есть не просто так, и кажется мне более адекватным, чем казался раньше. И система ревью тоже не от хорошей жизни родилась. И при этом очевидно, как любая механическая система при работе с реальными людьми, она встречается с кучей способов ее абьюзить, что выливается в достаточно неприятные явления, как у первого автора.
Специально проверил: современные IDE молчат)
И на верхнем уровне можно определить больше одного класса, если они не public (к счастью никто так особо не делает).
Новичок, строго говоря, вряд ли готов гарантировать, что вообще будет программировать. Изучить язык (до какого-то условного стартового уровня) кажется все-таки первично. Затем может последовать обучение программированию. А может не последовать.
Один файл — один класс, другое запрещено законом.

Если можно, немножко позанудствую: в java нет запретов на несколько классов в одном файле. Единственное ограничение: не более одного класса верхнего уровня, видимого за пределами пакета.

А проект на гитхаб выложен? Я недавно сменил стек технологий, но очень скучаю по Java, мог бы попробовать законтребьютить по фану.

Я бы добавил еще один пункт: неистовое желание следовать переменчивой технологической моде. Несколько раз видел кашу из нагромождения хипстерских решений, сменяющих друг друга со скоростью, не позволяющей разобраться хотя бы в одном из них.
Не, scrum-master вообще в теории не входит в команду, а стоит сбоку и бдит за соблюдением этого самого скрама.
Для меня — однозначно да. Даже если одна строка. Мне настолько комфортнее нажимать на кнопки, чем держать в руках ручку, что я просто буду меньше нервничать и, соответственно, больше внимания уделять самому вопросу.
Не все строки эффективно отдают символ по индексу.
Действительно, как-то не подумал. Конечно, еще останется проблема с нативным кодом, использующем понимание Java Thread = OS Thread. Ну и в целом, в неведомом коде может быть куча логики вокруг currentThread, какие-нибудь свои велосипедные ThreadLocal'ы.
Нативный код может не ожидать переноса стека по памяти.
Кажется, совсем не обязательно наслушиваться Шипилева, чтобы начать говнокодить сразу в несколько потоков. И как раз эта категория разработчиков вполне может сделать медленнее на файберах, чем просто линейно. Но да, быстрее, чем на тредах)
Нельзя бездумно возвращать тот же самый shadow thread в currentThread. Можно поломать какой-нибудь хитрый happens-before в чужой логике оптимизаций, где будет currentThread == previousThread -> optimized branch; else -> common branch.
Блокирование на большинстве IO-операций и reentrant lock'ах будут «отдавать» текущий тред на корм другим Fiber'ам. Даже уже написанный код. И да, Main не станет Fiber'ом. Однако запустить Fiber на ForkJoinPool'е так же просто, как и запустить Runnable. При этом его не потребуется аккратно разбивать на части — внутри может выполнятся «как бы последовательный» код, в том числе легаси, в том числе уже скомпилированный до нас. Т.е. запускаем миллион Fiber'ов (вместо Runnable) и они перестают блокировать друг друга ожиданиями IO и прочими lock'ами. Упираемся дальше фактически в CPU, что много лучше, чем упираться в конфигурацию ThreadPool'а.
Есть ощущение, что многие люди забывают о том, что функциональщина — это про чистоту и иммутабельность, а не про лямбды и чейны.
Удобно, хотя с другой стороны, с разбегу не смог придумать use-case.
Ну все-таки каждая строчка перебор, кажется, что переключение контекстов файберов хоть и дешевле тредов, но не бесплатно. Думать головой, к сожалению, все еще придется.
Тем не менее, в большинстве случаев, средневзятому пользователю пары тысяч потоков вполне хватит. (нисколько не хочу умалять потребность в кооперативной многозадачности)
А уже есть публичное апи для yield? Или пока в мечтах?

Information

Rating
4,190-th
Works in
Registered
Activity