55+ в ИТ

Физик-Лирик
Уже с Приветом
Posts: 5106
Joined: 19 Oct 2004 01:46

Re: 55+ в ИТ

Post by Физик-Лирик »

adda_ wrote: 08 Oct 2018 00:07 На самом деле у меня есть еще двое приятелей программистов, у которых те же самые степени. И никто из них по специальности не работал здесь никогда.
У меня тоже много таких приятелей. Если мерить деньгами, то вроде как все неплохо. :lol:
User avatar
Nostradamus
Уже с Приветом
Posts: 6577
Joined: 30 Apr 2000 09:01
Location: Из будущего

Re: 55+ в ИТ

Post by Nostradamus »

Физик-Лирик wrote: 08 Oct 2018 03:32
Nostradamus wrote: 08 Oct 2018 03:21 Видимо это зависит от специальности? Я последние 25 лет работаю именно по той специальности которой меня учили и по которой защищался, и из-за нее можно сказать переехал в Штаты ибо в России она практически сошла на нет.
А что за специальность такая?
Если коротко - специализированный софт для дизайна чипов (то что в Союзе называлось САПР в микроэлектронике):
https://en.wikipedia.org/wiki/Electroni ... automation
Вот вам успокаивающее. А вот - патроны к нему.
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

mikeG wrote: 07 Oct 2018 20:36 Форму для браузера или скрипт убрать-добавить юзера, конечно, можно и так написать. На многих позициях этого достаточно.
да пес его знает, на самом-то деле. я работал и на низком достаточно уровне (ядро ОС, драйверы, бутлоадер), так и на самом высоком, вот этом презираемом всеми "набросал кнопочек на формочку". и не вижу принципиальной разницы. можно годами работать над типа "престижным" видом софта, типа ядра ОС, и писать в основном что-то типа "получил байтик, проверил 5й бит и вернул true/false". Утрировано, конечно. А можно на фронтэнде заморочиться чем-то более сложным. Да тупо - текстовое поле, которое выдает подсказки по мере того, как пользователь печатает. Не рокет сайенс, но в зависимости от специфики могут быть нетривиальные ходы. И те же деревья, бгугога.

Вообще КМК, возвращаясь к обходу деревьев, проблема совсем в другом. Знать структуры данных и базовые алгоритмы - недостаточно. Нужно их применять правильно и предсказуемо. Вот у нас есть чел старенький, думаю, лет 60. Он бодряк ого-го и код, вполне рабочий, пишет просто на ходу стирая шины. Побольше чем я раза в 2-3. Но если нужно проверить, условно, есть ли айтем в корзине, то код будет примерно такой:

Code: Select all

boolean isItemInCart(Item item) {
   for (int i=0; i<cart.size(); i++) {
   	if (cart.getItem(i).getId() == item.getId() {
   		return true;
   	}
   	return false;
   }
}
И, сцукко, это попаболь. Он обойдет дерево на интервью, расскажет про кучу алгориитмов, про какие-нибудь серо-буро-зеленые деревья. А вот в продакшн будет срать вот это УГ.

Как такое проверить на интервью? Я пока не знаю.
Мат на форуме запрещен, блдж!
adda_
Уже с Приветом
Posts: 10775
Joined: 22 Jul 2006 20:19

Re: 55+ в ИТ

Post by adda_ »

Я не понял, там похоже ошибка в логике.
Должно быть
boolean isItemInCart(Item item) {
for (int i=0; i<cart.size(); i++) {
if (cart.getItem(i).getId() == item.getId() {
return true;
}
}
return false;
}
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

adda_ wrote: 08 Oct 2018 18:20 Я не понял, там похоже ошибка в логике.
Должно быть
boolean isItemInCart(Item item) {
for (int i=0; i<cart.size(); i++) {
if (cart.getItem(i).getId() == item.getId() {
return true;
}
}
return false;
}
Да, return false не на месте. Издержки написания спросоня и без ide

Но смысл, надеюсь, понятен.
Мат на форуме запрещен, блдж!
alexan1
Новичок
Posts: 67
Joined: 11 Oct 2015 17:03

Re: 55+ в ИТ

Post by alexan1 »

АццкоМото wrote: 08 Oct 2018 18:36
adda_ wrote: 08 Oct 2018 18:20 Я не понял, там похоже ошибка в логике.
Должно быть
boolean isItemInCart(Item item) {
for (int i=0; i<cart.size(); i++) {
if (cart.getItem(i).getId() == item.getId() {
return true;
}
}
return false;
}
Да, return false не на месте. Издержки написания спросоня и без ide

Но смысл, надеюсь, понятен.
а как надо?
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: 55+ в ИТ

Post by Alexander Troyansky »

alexan1 wrote: 08 Oct 2018 19:01
АццкоМото wrote: 08 Oct 2018 18:36
adda_ wrote: 08 Oct 2018 18:20 Я не понял, там похоже ошибка в логике.
Должно быть
boolean isItemInCart(Item item) {
for (int i=0; i<cart.size(); i++) {
if (cart.getItem(i).getId() == item.getId() {
return true;
}
}
return false;
}
Да, return false не на месте. Издержки написания спросоня и без ide

Но смысл, надеюсь, понятен.
а как надо?
Ну не знаю... как-то муторно становится от необходимости перебора, да ещё и колбасой из геттеров-шметтеров для Id. Неужто какого-нить мэпа нету с доступом по этому полю?
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: 55+ в ИТ

Post by valchkou »

АццкоМото wrote: 08 Oct 2018 15:10 Вообще КМК, возвращаясь к обходу деревьев, проблема совсем в другом. Знать структуры данных и базовые алгоритмы - недостаточно. Нужно их применять правильно и предсказуемо. Вот у нас есть чел старенький, думаю, лет 60. Он бодряк ого-го и код, вполне рабочий, пишет просто на ходу стирая шины. Побольше чем я раза в 2-3. Но если нужно проверить, условно, есть ли айтем в корзине, то код будет примерно такой:

Code: Select all

boolean isItemInCart(Item item) {
   for (int i=0; i<cart.size(); i++) {
   	if (cart.getItem(i).getId() == item.getId() {
   		return true;
   	}
   	return false;
   }
}
И, сцукко, это попаболь. Он обойдет дерево на интервью, расскажет про кучу алгориитмов, про какие-нибудь серо-буро-зеленые деревья. А вот в продакшн будет срать вот это УГ.

Как такое проверить на интервью? Я пока не знаю.
Я не знаю что делать с 60 летним программистом который воспроизводит такие баги.
Но приведенный тобою пример это типичные ошибки молодняка и даже претендующих на сениоров.
Отловить их на код ревью практически не возможно.

Мой ответ это юниттесты. Да это не дает даже 90% защиты от дурака. Но хотябы вынуждает его думать хоть немного и самому ковырятся почему его код не работает.
Не без доли хвастовства хочу отметить что мои проекты довольно стабильны на продакшн, что даже отмечено руководством, но весь секрет в моих тест сценариях.
Я не жалею времени на создание под-задач и расписывание юниттест сценарии под них. И пока я не увижу что мои сценарии покрыты я даже не пытаюсь понять что происходит в алгоритме.

но я только рад, благодаря вот таким "специалистам" нанимают меня контролировать конвейер и как я считаю даже переплачивают по рынку.
User avatar
Nostradamus
Уже с Приветом
Posts: 6577
Joined: 30 Apr 2000 09:01
Location: Из будущего

Re: 55+ в ИТ

Post by Nostradamus »

Мне почему-то тоже сразу бросился в глаза линейный поиск, а не возвращаемое значение.
Вот вам успокаивающее. А вот - патроны к нему.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: 55+ в ИТ

Post by Мальчик-Одуванчик »

mikeG wrote: 07 Oct 2018 04:09 Задача обойти дерево ввела его в ступор.
Ну вот честно, традиционные алгоритмические задачки мне уже лет десять как в работе не попадались.
Ну и долбаные деревья тоже. Разве что трюки как применить тот или иной стандартный алноритм с большей эффективностью.
Разумеется перед интервью всё это гавно придется ворошить заново, зная что будут спрашивать нечто подобное.
И с большлй вероятностью спрашивающий про обход этих деревьев тоже имеет с ними не больше практики.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: 55+ в ИТ

Post by Мальчик-Одуванчик »

АццкоМото wrote: 07 Oct 2018 18:59 Положим, обойти дерево — это обычный санити чек. Он может быть несколько оскорбительным, но сделать такую задачу должен быть в состоянии любой погромист, даже если он за 20 лет работы ни разу с деревьями не работал.
Да ну. Полно уже формоклепателей которые сталкивались с подобным может быть только в вузе.
Хотя не удивлюсь, если большая часть формоклепателей и в вузе не училась.
alex_127
Уже с Приветом
Posts: 7723
Joined: 29 Mar 2000 10:01
Location: Kirkland,WA

Re: 55+ в ИТ

Post by alex_127 »

Вроде линейный самый быстрый на небольшом количестве. А потом выбор между тернарным с префетчем или чего. Совсем недавно доклад слушал. Попробую найти где.
alex_127
Уже с Приветом
Posts: 7723
Joined: 29 Mar 2000 10:01
Location: Kirkland,WA

Re: 55+ в ИТ

Post by alex_127 »

User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

alexan1 wrote: 08 Oct 2018 19:01
АццкоМото wrote: 08 Oct 2018 18:36
adda_ wrote: 08 Oct 2018 18:20 Я не понял, там похоже ошибка в логике.
Должно быть
boolean isItemInCart(Item item) {
for (int i=0; i<cart.size(); i++) {
if (cart.getItem(i).getId() == item.getId() {
return true;
}
}
return false;
}
Да, return false не на месте. Издержки написания спросоня и без ide

Но смысл, надеюсь, понятен.
а как надо?
ну там HashMap например. всякие RxJava делают то же самое куда элегантнее или там java streams. два последних подхода могут быть спорными, но тупой перебор да еще итакой многословный...
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

valchkou wrote: 08 Oct 2018 19:38
АццкоМото wrote: 08 Oct 2018 15:10 Вообще КМК, возвращаясь к обходу деревьев, проблема совсем в другом. Знать структуры данных и базовые алгоритмы - недостаточно. Нужно их применять правильно и предсказуемо. Вот у нас есть чел старенький, думаю, лет 60. Он бодряк ого-го и код, вполне рабочий, пишет просто на ходу стирая шины. Побольше чем я раза в 2-3. Но если нужно проверить, условно, есть ли айтем в корзине, то код будет примерно такой:

Code: Select all

boolean isItemInCart(Item item) {
   for (int i=0; i<cart.size(); i++) {
   	if (cart.getItem(i).getId() == item.getId() {
   		return true;
   	}
   	return false;
   }
}
И, сцукко, это попаболь. Он обойдет дерево на интервью, расскажет про кучу алгориитмов, про какие-нибудь серо-буро-зеленые деревья. А вот в продакшн будет срать вот это УГ.

Как такое проверить на интервью? Я пока не знаю.
Я не знаю что делать с 60 летним программистом который воспроизводит такие баги.
Но приведенный тобою пример это типичные ошибки молодняка и даже претендующих на сениоров.
Отловить их на код ревью практически не возможно.

Мой ответ это юниттесты. Да это не дает даже 90% защиты от дурака. Но хотябы вынуждает его думать хоть немного и самому ковырятся почему его код не работает.
Не без доли хвастовства хочу отметить что мои проекты довольно стабильны на продакшн, что даже отмечено руководством, но весь секрет в моих тест сценариях.
Я не жалею времени на создание под-задач и расписывание юниттест сценарии под них. И пока я не увижу что мои сценарии покрыты я даже не пытаюсь понять что происходит в алгоритме.

но я только рад, благодаря вот таким "специалистам" нанимают меня контролировать конвейер и как я считаю даже переплачивают по рынку.
Ну, тут конфьюжн. То, что return false; не на месте - это мой факап, не того чувака. Еще раз: код он пишет вполне рабочий, багов производит не больше других.

Речь шла про использование тупого перебора в цикле, ровно как делали при Иване Грозном
Мат на форуме запрещен, блдж!

Return to “Работа и Карьера в IT”