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

User

Send message
Знания структур данных крайне важны. Как и (хотя бы) основы алгоритмов работы с ними. Но подавляющее большинство задач на собеседованиях именно с односвязными списками скорее на смекалку + опыт собеседований, чем на реальные знания.
Полностью солидарен. Причем большинство таких задач решаются одинаково:
1. Берем второй указатель
2. ??????
3. PROFIT!!!
Если знаешь пункт 1, дальше как раз за время, отведенное на задачу, можно найти решение для большинства самых хитровыдуманных задач на односвязные списки. Если не знаешь — шансов очень мало.
см. вилку ЗП и свое к ней отношение

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

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

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

Многие HR даже не будут думать, сказав, ок, такое в принципе возможно, вот вам тестовое, после чего в офере предложат совсем неадекватную с точки зрения разницы цифру (со мной лично такого не случалось, но наслышан от коллег).
Это, кстати, тоже опасно. У меня был случай, когда я взял человека приблизительно по этой логике. Пришлось расстаться через 2 недели — говорил красиво, а код писать не умел, разве что на собеседованиях.
Зависит от версии Java и JVM, может и не создать.
Прошу прощения, но почему кандидата должно беспокоить время компании на его поиски? При том, что как я понимаю, компанию не беспокоит время кандидата на выполнение задания?
Ну и касательно вилки — ее все еще редко озвучивают до получения офера, а если и озвучивают, то часто без верхнего предела.
На мой взгляд, способность задавать уточняющие вопросы очень ценна для кандидата. В частности, я всегда уточняю, что из инструментария доступно, какая версия Java, какой JVM, какое окружение и могу ли я на это завязываться, выдавливая максимальный perfomance, или же по возможности не стоит, упираясь на максимальную переносимость.
В формулировке «развернуть строку в Java» за разумное время без дополнительных ограничений на алфавит задача нерешаема (ибо есть как минимум эмоджи). Если рассматривать как ограничения
Из «habrahabr» сделать «rbaharbah»
то даже ваш пример с массивом байт подойдет.
Не понятно, зачем кандидату тратить свое время за бесплатно, решая тестовое задание, когда рынок на его стороне. На ваш взгляд, релевантный профиль на гитхабе заменит тестовое задание?
Наличие рекомендаций цирк не исключают ;)
Кстати, StringBuilder.reverse защищает только от простых случаев, с точностью до одного code point.
Тоже хотел об этом сказать. Если оперировать просто char'ами, то сломаются строки с эмоджами в частности.
В шахматах не сложно — как раз-таки потому, что сравнительно мало ветвей, соответственно несложно просчитать достаточно глубоко. Именно поэтому в го минимакс применить сложнее — ветвей слишком много, глубина выходит недостаточной.
Да, но timeout же для того и нужен, чтобы нехорошие пользователи не отжирали все время под себя? Или я не правильно понял? А если пользователь нехороший, то странно ожидать от него, что он обработает interrupt корректно.
Просто в Java многозадачность кооперативная. Нельзя (насколько мне известно) кого-то принудить завершиться за определенный промежуток времени. Возможно, конкретно в вашем случае это вполне ок. Но выглядит так, что будет не очень хорошо.
Потоки потекут. Future.get не прерывает исполнение внутри executor'а, только возобновляет работу текущего потока. В потоке Executor'а будет всего лишь вызван Thread.interrupt(). Это нормально?
Да и InterruptedException скорее всего даже не возникнет, если не будет блокирующих операций, а будет просто тупой while (true)
А можно чуть подробнее? Если делается Thread.stop(), то получим неконсистентность, если interrupt, то
while(true) {
  try {
     ...
  } catch (InterrruptedException ignored) {
  }
}

Information

Rating
4,187-th
Works in
Registered
Activity