?

Log in

No account? Create an account
Поле волнуется раз - In 3.14 we trust [entries|archive|friends|userinfo]
BrotherFlame

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Поле волнуется раз [Dec. 13th, 2017|02:09 pm]
BrotherFlame
[Tags|]

Сходил я по большому на последнем собеседовании. Задал вопросы с собеса коллеге, с которым работали, ни на один он не ответил тоже :)
Короче, рынок разработки суров, как говорил один наш институтский препод: "На зачет надо знать все"
На зачОт, кстати, не надо, это проще.

Специально для lord_baskervil пишу вопросы, хотя там чисто ява фреймворки.

Убираю под кат, не интриги ради, а слишком уж узкоспециализированная шняга.


Область: биг дата.
Про коллекции, массивы, списки, карты и функции сложности основных операций не пишу. Это как везде. Не знаю, есть ли в С++ функциональное программирование. Ява его некоторым образом поддерживает. Поэтому спрашивают: лямбда выражения и стримы.
Многопоточность.

1. Уровни транзакций в spring
2. Уровни кеширования hibernate
3. Файл 40гигов. Как записать что-то в середину не читая файл в память?


Я не ответил ничего,кроме базы по коллекциям. Но они предложили какую-то задачу сделать. В итоге ничего не прислали. Думал, что забили. Сегодня пишут: "ну как задачка?"

Ну и на работе начальник порадовал тем, что зп таки поднимут с НГ. Гену уговорили. Все в рамках регламента: обещанного три года ждут.
LinkReply

Comments:
[User Picture]From: dikoe_bydlo
2017-12-14 08:28 am (UTC)
> Так работ для С++ программистов не существует?
Работодатели, которые сами писали на C++, просто не позволяют улетать в астрал. Все фабрики фабрик, которые я видел, делались в компаниях с менеджементом, не разбирающимся в кодировании. Т.е. это просто способ выкинуть чужие деньги в помойку
> Это позволяет сосредоточиться на играх с компилятором
И с многими компиляторами удалось поиграть? Известно ли, что разные компиляторы с разной эффективностью разворачивают вложенные шаблоны и даже стандартные stl-контейнеры? Разница в итоговой производительности может падать 1.5-2 раза просто от выбора компилятора, а вот без шаблонов - одинаково. (Я это измерял)
> А работающая программа это оксюморон
Работающая - это не идеальная программа из платоновского идеального мира, а просто дающая ожидаемые результаты
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 08:35 am (UTC)
Фабрики фабрик не имеют никакого отношения к проблемам С++ - их точно так же можно нагородить на любом языке. А вот с помощью шаблонов эмулировать проперти или портировать код - это чисто С++ работа, и она часто бывает необходимо - т.е. она не побочный эффект, а собственно цель проекта.

> И с многими компиляторами удалось поиграть?

С кучей. Даже репортил баги в gcc.

> Известно ли, что разные компиляторы с разной эффективностью разворачивают вложенные шаблоны и даже стандартные stl-контейнеры? Разница в итоговой производительности может падать 1.5-2 раза просто от выбора компилятора, а вот без шаблонов - одинаково.

И что, нет восторга уже от одной мысли от возможности решать такую интересную задачу, как оптимизация шаблонов? Лучше задач по отладке могут быть только задачи по оптимизаци - это просто оргазм для меня как программиста. К сожалению, часто приходится отказываться по практическим соображениям (premature optimization is the root of all evil), вот тут как раз и в С++ часто дают по рукам.

> дающая ожидаемые результаты

Какие ожидаемые результаты? Те, что хотел заказчик? А хотел когда - вчера или завтра?
(Reply) (Parent) (Thread)
[User Picture]From: dikoe_bydlo
2017-12-14 08:45 am (UTC)
> нет восторга уже от одной мысли от возможности решать такую интересную задачу, как оптимизация шаблонов?
Нету. Это просто кривой инструмент, который стоит выбросить. В мире куча поломанных и просто плохих вещей. Нет никакого смысла жить как на помойке и всё это чинить.
> Те, что хотел заказчик? А хотел когда - вчера или завтра?
Те, что записаны в ТЗ или хотябы в письменной форме. Вчерашние они или завтрашние - всеравно
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 08:49 am (UTC)
Вообще компьютеры внутри это тоже набор костылей и подпорок, что ж, и их выбросить? Я уже не говорю про веб... веб на помойку, напишем новый, идеальный веб?

Реальному миру - реальные инструменты!



Edited at 2017-12-14 08:51 am (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: dikoe_bydlo
2017-12-14 09:05 am (UTC)
> Вообще компьютеры внутри это тоже набор костылей и подпорок
Это не так. Электроника сделана идеально, т.к. работает без сбоев годами. А ведь там миллиарды транзисторов
> Я уже не говорю про веб... веб на помойку
Веб вообще скоростной в разработке по сравнению со старыми языками. И визуален, поэтому там трудно обосновывать высокие абстракции
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 09:14 am (UTC)
Электроника работает без сбоев? То-то мне она на днях выдала "USB device overcurrent shutdown in 15 secs" хотя я даже мышку вынул - и после сброса биоса продолжила работать... в общем про электронику без сбоев это смешно. Это, наверное, такая специальная электроника типа QNX, специально заточенная под работу без сбоев. То-то в интеловских процессорах постоянно баги, а мой ноут HP сгорел из-за кривой видеокарты (массовая проблема).

Веб скоростной по разработке? Ну может быть, хотя разницы не заметил. Но кривой по всему остальному - по внутренностям, по отлову ошибок (js, я про тебя!), по совместимости и поддержке, по древним костылям...
(Reply) (Parent) (Thread)
[User Picture]From: dikoe_bydlo
2017-12-14 09:22 am (UTC)
> в общем про электронику без сбоев это смешно
Стоит сравнить количество ошибок в изделии с миллиардом транзисторов и в коде с миллиардом байт. Это будут десятичные порядки
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 09:24 am (UTC)
Да, вот как бы это сделать?
(Reply) (Parent) (Thread)
[User Picture]From: dikoe_bydlo
2017-12-14 09:28 am (UTC)
На чип c багами есть errata. На продукт, разрабатываемый специалистами, есть какой-нибудь багтрекер, постоянно пополняемый. Два числа, одно сравнение
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 09:35 am (UTC)
Не так всё просто - например, firmware это hardware или software?

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

Потом, речь о баг-трекере ошибок в релизе или при разработке? В релизах-то обычно не настолько много ошибок.

Ну и потом открыл пару файлов типа https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf и так вообще-то дофига.

Так что с первого взгляда мне не очевидно, что hardware тут какой-то особенный.
(Reply) (Parent) (Thread)
[User Picture]From: dikoe_bydlo
2017-12-14 09:40 am (UTC)
> Так что с первого взгляда мне не очевидно, что hardware тут какой-то особенный.
Хороший тестер в ПО сотню багов найдет за рабочий день. А тут целый чип и это всё, что в нем нашли за долгое тестирование. Сравнение двух чисел не очевидно?
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 10:39 am (UTC)
ОК, чтобы закрыть тему (сорри бразер!)

http://wiki.c2.com/?SoftwareIsLessReliableThanHardware

Люди умнее нас не пришли к общему выводу.
(Reply) (Parent) (Thread)
[User Picture]From: brotherflame
2017-12-14 11:45 am (UTC)
Лимит на постинг хуеты подходит к концу
(Reply) (Parent) (Thread)
[User Picture]From: bydlorus
2017-12-14 09:37 am (UTC)
И потом, что это за сравнение - "число транзисторов"? Может, сравним с числом машинных инструкций в программе? Или с размером экзешников в байтах?
(Reply) (Parent) (Thread)
[User Picture]From: brotherflame
2017-12-14 09:48 am (UTC)
Хватит флудить.
Он прав про железо и софт.

Если непонятно, почему он прав, вкуривать:
"Мифический человеко месяц" Брукс.

За 50 лет ничего в человеческой природе не изменилось. И не изменится никогда.
Если непонятно почему, вкуривать эволюционную биологию в части допамина и сичтемы подкрепления.

Безотносительный к отношениям людей флуд о всякой хуйне реально надоел.
(Reply) (Parent) (Thread)