LINUX.ORG.RU
ФорумTalks

Про собеседования на вайтборде

 


3

2

Наткнулся на забавный пост Бугаенко, который обиделся на рекрутеров Амазона на тему рисования алгоритмов на вайтборде.

Вот тут можно посмотреть сумму срачей со ссылками:
https://jug.ru/2017/02/bugayenko-recruiters/

Вот про сам вайтборд - это интересно! Я не использовал ручку с бумагой уже лет, наверное, десять. Если нужно вести конспект живой речи, обычно это делается с ноутбуком, в котором открыт софт для Mind Mapping (типа Mindjet MindManager - там удобные хоткеи и вообще). Если надо нарисовать диаграмму - то она рисуется мышкой в Визио (или чем-то получше типа Magicdraw UML, если на него есть деньги). Если нужно нарисовать график, то это точно будет эксель и кальк, но никак не тетрадка в клетку.

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

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

Также вайтбордом полностью игнорируются типичные практики формирования этих мыслей. Например, я года два (в общей сложности) использовал PHP, но не знаю в точности его синтаксиса. Да и что там знать, он за всё это время поменялся несколько раз. Когда я пишу, подсознание автоматически мониторит подсказки от IDE и выхлоп компилятора, и в режиме test driven development выдает результирующий код. Проще перезапустить тесты и увидеть косяк, чем разбираться в нем с помощью своего мозга. Таким образом ноутбук с компилятором и IDE становятся частью мышления, самых базовых низкоуровневых рефлексов. Ты не думаешь как дышать и моргать. Ты не думаешь, когда нажимаешь кнопку «перезапустить тесты» или корректируешь подчеркнутое красным. Оно происходит само, совершенно отдельно от твоего сознания.

Что происходит, когда у тебя внезапно исчезает воздух? Случается паника, острая необходимость найти источник воздуха, совершенная неспособность что-либо делать без дальнейшего поступления воздуха. Точно такая же аника случается, если забрать у человека нормальную IDE типа Эклипсы и заставить писать код в vim или notepad.exe. Если вообще забрать ноут и заставить чертить рисунки на доске - то пиши пропало.

По сути, на собеседовании человека лишают основного его средства выражения мыслей (ноутбука), и заставляют писать какой-то немыслимой херней. Что же в этом плане могло пойти не так?
Людям, которые любят вайтборды, возьмете меня рекрутером? Только что придумал несколько забавных испытаний для соискателей:
а) Написание кода под водой, ногами на песке.
б) Написание кода под бутиратом.
в) Написание кода под ЛСД. Десять стандартных доз.
г) Написание кода на эстонском языке, сделав вид что это Java, и что в окружающем мире не выполняется транзитивность.
д) Написание кода кровью на обоях. Представляя себя Есениным. Сложность в том, что Есенин не умел кодить.
е) Методично избивать соискателя каждый раз, когда в голове забрезжит идея. Не давать глазам сфокусироваться.

Главная идея всех испытаний в том, чтобы человек совершенно не мог использовать привычные методы мышления для решения задачи.

ж) ну и на вайтборде рисовать, как же это можно забыть

★★★★☆

Забавно. Я тоже сказал бы, что интегрировался с IDE на уровне рефлексов. По крайней мере, если говорить о Java, то пути импорта я не знаю, могу только сказать, на основе 2х путей и контекста, какой некорректный.

Deleted
()

заставить писать код в vim или notepad.exe

кстати мине написание java кода в емаксе на самом деле много дало. но на собеседовании писать код вообще бред, а на бумаге полная бредятина, хотя меня один раз попросили.

vtVitus ★★★★★
()

Забавная перепись джавистов ИТТ. Кроме Java и C# не знаю других языков, настолько же неюзабельных без IDE. Даже близко никто не приблизился.

unikoid ★★★
()
Последнее исправление: unikoid (всего исправлений: 1)

Просто конкурс у них на места большой(наверное) и они могут себе позволить любые эксперименты. Может им вообще люди не нужны сейчас.

Bad_ptr ★★★★★
()

Был однажды на таком собеседование, пришлось писать на доске простейший парсер, давно так не забавлялся. Добавляло масло в огонь то, что собеседующий был в другом городе, разговаривал через корпоративный аналог скайпа. Там вообще была серия собеседований и все они могли бы с легкостью пройти по обычному skype раз в 5ть короче. В общем интересный опыт.

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

ixrws ★★★
()
Ответ на: комментарий от Deleted

Да это нормальное дело. Гораздо проще запомнить несколько действий(взять от туда что-то там), чем запоминать весь тот текст, который можно получить действиями. У меня где-то половина времени без привычного ide(emacs) и половина под привычными(eclipse, visual studio), так даже emacs постоянно пользуюсь копипастой заголовков, всяких мелочей вместо их набора и эта привычка появилась задолго до знакомства с ide вроде eclipse.

ixrws ★★★
()

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

waker ★★★★★
()
Ответ на: комментарий от leave

Я давно его не щупал, но разве туда уже завезли AbstractSingletonProxyFactoryBean и прочие кошерные вещи?
Мне казалось, это всего лишь сорт JS с типизацией и немножко ООП головного мозга.

unikoid ★★★
()

IDE становятся частью мышления, самых базовых низкоуровневых рефлексов

одно слово - джависты

третий раз за неделю уже приходят спрашивать как git rebase делать, потому как «idea не смогла», волшебная кнопка сама не отработала, а что там внутри никто не знает

а code style: «если это правило не проверяется конфигом IDE, то этого правила не существует»

рефлексы на написание, рефлексы на чтение, рефлексы на думание..

alpha ★★★★★
()
Ответ на: комментарий от waker

Так рисовать на доске алгоритмы (например деревья, чтобы потом показать на нём, как будешь обходить) и схемы милое дело. Другое дело, что код (если захотят увидеть) на доске уже не попишешь. Да и в памяти обычно лежат те алгоритмы, что последними повторил. Так что прогон по базовым алгоритмам думаю у многих порвёт шаблон, ибо многими не пользуешься от слова совсем (смысл пользоваться алгоритмами с асимптотикой n^3, если есть n*log(n) с логикой не сложнее, к слову о пузырьке и слиянии).

Deleted
()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от Deleted

обычно на интервью не требуют 100% работоспособности программы на вайтборде. их не компилируют. писать можно вообще в псевдокоде. достаточно увидеть, что соискатель понимает что делает.

waker ★★★★★
()

BTW, я вот один из тех, кто собеседует людей с написанием кода на доске в том числе.

Я не фанат такой методики и не считаю ее 100% верной, но:
1. Считаю, что на собеседовании нужно обязательно писать код (если речь не про архитектора 99 уровня, хотя и ему иногда полезно опускаться до реализации того, что он напроектировал).
2. Практика показывает, что у кандидатов, которые знают изначально, либо выстраивают сами правильный алгоритм решения задачи, обычно не возникает серьезных проблем с его реализацией вне зависимости от носителя, на котором он будет записан.
3. Поиск (или недопущение) багов при написании кода без возможности его запуска и проверки – хорошая проверка аккуратности и умения понимать, что делает тот или иной код из него самого, а не из результатов его работы. Потому что:
3.1. Если ты понимаешь, в каком месте твое решение фейлит – ты, скорей всего, исправишь его правильным образом, а не закостылишь лишь бы тесты проходили.
3.2. Когда у тебя в тестовом окружении все работает, а в продакшне ВНЕЗАПНО умирает раз в месяц при особой фазе луны – у тебя может не быть вариантов, кроме как вдумчиво анализировать код и пытаться найти, как же именно фаза луны может на него повлиять. Если код многопоточный/асинхронный – еще и читать по ролям с коллегой, возможно.

Естественно, при собеседованиях на доске мы не требуем детального знания стандартной библиотеки (если человек говорит «есть такая-то функция, которая делает вот это, но я не помню точно, из какого модуля ее взять и какая у нее сигнатура» – ты просто называешь ему искомую функцию) и прощаем опечатки и синтаксические ошибки.

unikoid ★★★
()
Последнее исправление: unikoid (всего исправлений: 1)
Ответ на: комментарий от alpha

Если code style не проверяется IDE (а их можно неплохо настроить)/AStyle, значит в компании уже что-то не так. Ибо хоть какая-то автоматическая проверка должна быть. За всем не уследишь.

И зачем приходить и спрашивать? Документация даже переведена и в открытом доступе. (я про git rebase) https://git-scm.com/book/ru/v1/Ветвление-в-Git-Перемещение

Deleted
()
Последнее исправление: merhalak (всего исправлений: 3)
Ответ на: комментарий от waker

Лол, я даже с асимптотикой пузырька ошибся, квадрат, а не куб. Потому, что писал один раз и то в школе.

Deleted
()
Ответ на: комментарий от Deleted

я, кстати, тоже пузырек последний раз писал в школе, года эдак 23 назад. но не вижу никакой проблемы его написать, хоть в блокноте, хоть на доске.

до меня с трудом доходит, как даже нуб-самоучка не может такое запомнить.

waker ★★★★★
()
Ответ на: комментарий от Deleted

И зачем приходить и спрашивать? Документация даже переведена и в открытом доступе.

«НУ ТЫ ЖЕ ДЕЛАЛ УЖЕ ЭТО, ЧТО ТЕБЕ СЛОЖНО ПРОСТО ПОМОЧЬ, ДА? о_О» – обычно какой-то такой ответ.

unikoid ★★★
()
Ответ на: комментарий от Deleted

если code style не проверяется IDE (а их можно неплохо настроить)/AStyle, значит в компании уже что-то не так

набор правил, которые проверяемы IDE - это лишь подмножество того реального code style, который необходим проекту.

Не весь code style можно универсально формализовать для любого случая и IDE - это имеет совещательный голос. Финальное решение - за здравым смыслом и замыслом разработчика.

И зачем приходить и спрашивать?

затем что рефлексы

Попробовать в IDE. Если в IDE не получилось - это конец всему.

alpha ★★★★★
()
Ответ на: комментарий от alpha

У меня опыта маловато. Расскажи, что может входить в?

реального code style, который необходим проекту

И не входит в формализуемое?

Deleted
()
Последнее исправление: merhalak (всего исправлений: 2)
Ответ на: комментарий от Deleted

именование переменных, максимальная длина строки, перенос в chain-методах с параметрами.. большинство code-style правил в принцие нестрогие, и никому никогда в голову не придет автоформатировать, например, Python.

Но у джавистов есть только два варианта: либо автоформат по всему, либо как бог на душу положит. Потому что нет рефлексов думать над стилем когда пишешь в тот момент когда пишешь.

alpha ★★★★★
()

Я не использовал ручку с бумагой уже лет, наверное, десять

Эт зря, порой бывает удобно использовать бумажку в процессе мышления (и речь не о туалетной бумажке, не только о ней). Когда надо нарисовать какую-то схему, или что-то такое, от которой не требуется быть аккуратной, да и вообще читаемой. Иногда получению ответа помогает сам процесс начертания схемы.

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

Жиза

MrClon ★★★★★
()
Ответ на: комментарий от unikoid

Его проблема в том, что программисты на нем решили, что типов должно быть как можно больше. Я когда писал с использованием amazon sdk, чуть не рехнулся: у каждого метода есть свой тип у тела запроса, и свой тип у тела ответа. И вот тут без ide просто никуда.

leave ★★★★★
()
Ответ на: комментарий от waker

еще такой момент: не все программисты - специалисты по алгоритмам. У меня было четыре направления: архитектура, девопс, разработка плагинов для IDE, джава ынтерпрайз веб. Когда ты рисуешь диаграммы в UML, никаких алгоритмов тебе как правило не надо (если ты захочешь с помощью очередей kafka построить пентаграмму и считать на ней сортировку пирамидкой или факториал на интерцепторах, тебя просто отправят в дурку - там всё предельно просто). В девопсе ты кодом склеиваешь готовые решения, иногда пишешь фреймворки по склейке, самое главное - понимание стека технологий (ведро линукса, сеть, средства траблшутинга и мониторинга, итп) и здравый смысл. В веб-кодинге на джаве всё примерно то же самое, только фокус сдвинут с сетевой части стека на часть касающуюся джавовских фреймворков и стандартов, даже SQL ты пишешь декларативно и не знаешь какие алгоритмы планировщик БД выберет для реализации запроса. Поэтому спрашивать меня о тонкостях работы с B+ tree совершенно бессмысленно, а вот всякими enterprise integration patterns или вопросами как закодить мониторинг падающей очереди я сам кому угодно мозг вынесу. С тем же успехом можно спросить как считать интегралы, или попросить попрыгать со скакалкой. При наличии интернета и достаточно большого времени, разорбраться можно с чем угодно, но это не тема собеседования разработчика.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

еще такой момент: не все программисты - специалисты по алгоритмам.

с каких пор программист, знающий информатику на уровне средней школы — специалист по алгоритмам? какие алгоритмы имеются ввиду? может он и не программист вовсе, раз не может программировать?

В девопсе ты кодом склеиваешь готовые решения

в компании, где я работаю, девопсы не считаются программистами, и интервью с ними идет почти на уровне сисадминов, с базовым знанием питона.

Поэтому спрашивать меня о тонкостях работы с B+ tree совершенно бессмысленно

интервью было для программиста, или для администратора баз данных?

С тем же успехом можно спросить как считать интегралы

мм.. а с интегралами-то в чем сложность O_o

waker ★★★★★
()
Последнее исправление: waker (всего исправлений: 3)
Ответ на: комментарий от waker

а в гугле, амазоне, дропбоксе и прочем в девопсы наоборот набирают только хороших разработчиков. Представь, на критичном серваке что-то упало, и девопсу надо по-быстрому залезть в код и всё починить. А там код на C++. А он умеет только питон. И всё, приехали. Именно отсюда и берутся правила типа «девопс должен 30% времени писать код на тех технологиях и в тех проектах, за которые отвечает, наравне с обычными разарботчиками, и 50% времени писать код вообще»

с каких пор программист, знающий информатику на уровне средней школы — специалист по алгоритмам? какие алгоритмы имеются ввиду? может он и не программист вовсе, раз не может программировать?

не знаю насколько это тебя шокирует, но типичный разработчик корпоративных приложений 50% времени пишет круды, которые что-то берут с морды и складывают в базу. Или то же самое, но вместо веб-морды там HTTP веб сервис. И там еще миллион технологий, стандартов и фреймворков в которых он должен шарить и уметь их клеить между собой. И посередине он процессит эти данные по ТЗ, которые написали аналитики. Возможно ТЗ писалось с привлечением специалистов - экономистов, математиков, еще кого-то. Чем круче программист, тем лучше он понимает предметную область (в медицине один мир, в банке - другой, в юризме - третий) и может более круто автоматизировать хотелки людей из этой области, предлагать аналитикам фичи, итп. Но эти фичи как правило вообще никак к Computer Science не относятся.

мм.. а с интегралами-то в чем сложность O_o

я их видел лет 10 назад и уже не помню ничего, что с ними связано. Месяц времени и учебник - и наверное смогу разобраться. А вот как написать на PHP веб-интерфейс MMO игрушки, чтобы он лагал поменьще - наверное описать смогу не задумываясь :-)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

я не спорю ни с чем что ты написал.

но возник ряд вопросов... почему ты решил, что все эти типичные разработчики не знают основ математики и информатики? если это так, кто их вообще берет в эти ваши амазоны и дропбоксы, и как они проходят интервью? какой идиот допустит девопса править код «по быстрому» на критичном серваке, даже если он знает C++, но судя по твоим критериям, «знает», т.е. может найти как слепить говнокод на stack overflow?

А вот как написать на PHP веб-интерфейс MMO игрушки, чтобы он лагал поменьще - наверное описать смогу не задумываясь :-)

ага, на SO найдешь... все понятно, в принципе...

waker ★★★★★
()
Ответ на: комментарий от stevejobs

я их видел лет 10 назад и уже не помню ничего, что с ними связано. Месяц времени и учебник - и наверное смогу разобраться.

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

Solace ★★
()
Ответ на: комментарий от waker

на критичном серваке сломался код - при выгребании каких-то специальных данных, UI ломается и вместо таблички выводит кашу

кого ты отправишь чинить это:

а) JS фронт разработчика со стажем 10 лет, который может днями на пролет не затыкаясь рассуждать об API какого-нибудь Angular2, имеет сотню коммитов в ангуляр на гитхабе.. но за эти 10 лет не написал ничего даже близко похожего на слово «алгоритм» (да, использовал готовые решения из библиотек, если нет в библиотеке и на SO - пусть задачку решает кто-то другой)

б) студента computer science факультета с месяцем опыта, могущего часами рассуждать о CS и прочей матчасти

stevejobs ★★★★☆
() автор топика

А чё такого-то? Или жависты без иде не могут простое дерево придумать или какую нибудь пару чисел найти?

slaykovsky ★★★
()
Ответ на: комментарий от waker

одно дело рисовать какието схемки (у меня блокнот вообще для этого) и прочие штуки и совсем другого требовать синтаксически корректной программы

Deleted
()
Ответ на: комментарий от stevejobs

типичный разработчик корпоративных приложений 50% времени пишет круды

Да я жи больше разработчик.

slaykovsky ★★★
()
Ответ на: комментарий от waker

почему ты решил, что все эти типичные разработчики не знают основ математики и информатики?

наблюдения. И простая мысль - откуда у него возьмется понимание «математики и информатики», если он ничего из этого не видит десятилетиями?

Представь обычного, типового такого разраба. В чем заключается его жизнь? Ежедневная борьба с фреймворками и их апи, с особенностями языка, в том числе долгие дни проведенные в отладчике и на StackOverflow, в борьбе с аналитиками и их криво написанными ТЗ, в правке багов в легаси коде 20 летней давности, в добавлении фич типа «добавь кнопочку на UI форме N чтобы она в табличке в БД M в правой колонке подставляла результат вычисления формулы, заданной нормативным документом #14567». Надо прикручивать сервера и настраивать перфоманс, проводить нагрузочное тестирование, писать бесконечную череду тестов... Где ты видишь здесь хоть проблеск «математики и информатики»?

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

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

50% времени пишет круды,

очень давно придуман паттерн naked objects, но да надо же чемто занять людей 8)

Deleted
()
Ответ на: комментарий от stevejobs

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

Ну значит не трудно должно быть синтаксически правильно по памяти хелловорлд написать?

slaykovsky ★★★
()
Ответ на: комментарий от slaykovsky

Если ты каждый день пишешь жаву - трудно синтаксис запомнить шоли?

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

Deleted
()
Ответ на: комментарий от stevejobs

Представь обычного, типового такого разраба. В чем заключается его жизнь?

вот как ты в стандартной яве сделаешь Map<String, Object> который игнорирует регистр ключей (строк)?

Deleted
()
Ответ на: комментарий от Deleted

Но за это не платят

Сами же плачитесь, что на собеседовании приходится писать, лол.

привычки все зубрить

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

slaykovsky ★★★
()
Ответ на: комментарий от slaykovsky

Сами же плачитесь, что на собеседовании приходится писать

Ты меня путаешь с ТСом.

Просто запоминается то, что юзаешь.

да на уровне рефлексов, я пишу Somthing s = new ... и оно сам импортирует объект, подсказывает параметры и их тип, точные сигнатуры и пути - я не помню.

Deleted
()
Ответ на: комментарий от slaykovsky

Ну это кому как) Помнишь сигнатуру функции main: public static void main(String[] args)

но ведь никто в реальном мире не пишет функцию main. Поэтому люди начинают спотыкаться: кто-то не помнит, что main - это void а не int как в Си, кто-то опять же из Си вспоминает про argc и argv, и так далее

а кто-то (как я) эту функцию добавляет с помощью написания фразы «psvm» и нажатия кнопки TAB (автоподстановка) в IDE. И вообще ни разу не читал, что там за текст после этой автоподстановки происходит

а дело тут в том, что задача идиотская. В реальном мире никто функцию main не пишет.

Чтобы запустить элементарное приложение, тебе нужно поднять либо Application Server (WebSphere, WebLogic, Tomcat, Wildfly...), либо микроконтейнер типа Spring Boot (внутри которого находится тот же Tomcat)

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

во втором случае тебе нужно накостылить в pom.xml просто чертову гору зависимостей на внешние библиотеки Spring, потом опять же разложить некоторое количество файлов по феншую, и потом густо обмазать это аннотациями из Spring, Spring Boot, и так далее

ну и наверное тебе надо не просто хэлловорлд, а что-то что можно смотреть из веба. На всякий случай, в джаве не пишут консольные приложения, только веб. Соответственно тебе нужно притащить фреймворк типа SpringMVC или JSP/JSTL+Apache Tiles, разложить файлики по феншую, обмазать аннотациями, и так далее

в голове держать эти наборы файлов и базовые классы бессмысленно, нужно иметь или готовые шаблоны проектов, или гуглить их каждый раз заново на StackOverflow

собственно, это был хэлловорлд

только не спрашивай, как теперь этим хэлловорлдом принять и обработать входящую XMLку, это еще несколько часов гугления и настроек всяких библиотек безопасности, SOAP, написания структуры интерцепторов, генерация ключей для SSL и так далее

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

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

java сильно over engineered ;(

Но в любом случае, я верю, что среднестатистический жавист сможет на доске решить простую задачку.

slaykovsky ★★★
()
Ответ на: комментарий от Deleted

Вначале пошлю автора задачи письменно доказывать в джире необходимость данной задачи. Потом если он каким-то чудом справится - потом погуглю и сразу же найду вот эту статью, где написано про String.CASE_INSENSITIVE_ORDER. Если эта статья вдруг по необъяснимым причинам исчезнет из кэша гугла, то зависит от постановки задачи. Вначале пойду почитаю джавадок по хэшмапе, и найду там все тот же CASE_INSENSITIVE_ORDER. Или например, оберну хэшмап и сделаю чтобы на put и get ключи клались и извлекались всегда в верхнем регистре. Если для постановки важно еще и сохранение исходного регистра - пойду читать как устроен хэшмап, и где его обмануть. В крайнем случае (если хэшмап написан с нарушением ооп), скопипащу весь код хэшмапа и похакаю то место, где он ищет по ключу

stevejobs ★★★★☆
() автор топика

Вообще Бугаенко хитрожопый товарищь, пытающийся заманить рабов на свою собственную потогонную удаленную галеру. Работать на него удаленно за копейку в рабских условиях, всерную, без какой-то социальной защиты, без плюшек вроде обучения, пенсионных отчислений, отдыха в рабочее время, причем он представляет все это как «освобождение от офисного рабства» или что-то типа того. Пишет и говорит красиво, это от него не отнять, но прислушиваться к его мнению я бы не стал.

shimshimshim
()
Ответ на: комментарий от Deleted

ты получил ачивку: право спрашивать на собеседовании о функции main :3

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Вначале пойду почитаю джавадок по хэшмапе, и найду там все тот же CASE_INSENSITIVE_ORDER.

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

тогда ты не будешь даже думать о изврате типа

оберну хэшмап и сделаю чтобы на put и get ключи клались и извлекались всегда в верхнем регистре.

который поставит раком твой сервер (приведение регистра создает объект строк и все это при операции чтения) на обычной нагрузке

Deleted
()
Ответ на: комментарий от Deleted

первый же тест выявит, что решение не работает. Полоска станет красненькая. Наверное. Придется еще раз перечитать SO и доку, понять что сделано не так =)

который поставит раком твой сервер (приведение регистра создает объект строк и все это при операции чтения) на обычной нагрузке

ты видел, какую нагрузку создает постоянная обработка XML из входящих запросов? А перегонка DTO в DTO в DTO чтобы потом показать его на морде или сохранить в базе через Hibernate? Кстати, а какую нагрузку дает Hibernate? А Spring AOP, на основании которого всё это вообще работает?

уверен что приведение строк на фоне этого всего в профайлере будет видно? :3

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

ты видел, какую нагрузку ...

не, я _писал_ приложения (писал «свой» Hibernate и много других интересных штук) и сии грабли топтал и в профайлере видел что бывает с GC при таком подходе.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.