Обновить
25
ApeCoder@ApeCoder

Разработчик

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

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


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


Как и что вышеописанный код скажет обо мне как о сеньоре?

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


А если не напишете что не обладаете и что не можете быть сеньором.

типа это п… ц, а не программист.

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


И не упомянули никакой другой проверки.

Навеяло

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


Проверки всегда комплексные. Обычно когда спрашивают "полезен ли X" имеют ввиду "есть ли контекст в котором X полезен" а не "всегда ли полезен только X".


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

Хотите проверить понимание абстракций — спрашивайте про абстракции.

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


И если получите результат в 20 отжиманий, запросто решите, что силы недостаточно. А то, что при этом он сможет в рывке взять 200кг — останется за кадром.

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


Например, что у человека последняя стадия рака.

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

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


Проверяют не умение работать с X а наличие каких-то знаний и умений позволяющих работать с X.


Условно если мне хочется знать силу кандидата я могу попросить его отжаться при этом мне важна сила, а не умение отжиматься.


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

Но мы же достаточно интеллектуальны для того, чтобы отличить такое кодинг интервью от боле осмысленного

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

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

По крайней мере он может проверит что кандидат не слабее его.

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

Он не будет водить на площадке и не будет парковаться с вешками. И вообще на любом испытании можно найти разницу с тем что будет на работе.


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

Моё рабочее место — бывшая детская с желтоватыми обоями и полным отсутствием естественного света.

Т.е. вообще комната без окон?


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

Дома тоже есть кухня, но всего остального нет.

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


Для меня единственное препятствие которое бы мне серьезно это маленькие дети дома. Или отсутствие отдельно комнаты или домашние которые не ценят сосредоточенность. Но с последними можно договориться

Юнит тесты это нечеткоепонятие. Обычно на уровне функций, но не всех функций (например, если надо протестировать приватный метод класса используют его публичный интерфейс).

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

Как ссылаясь только на эти понятия ответить на вопрос является ли х денормализацией y не используя определения слова "денормализация"?


Вот у вас есть треугольник и квадрат. Я хочу узнать квыклоупен ли треугольник квадрату или нет. Определение, что такое "квыклоупен" я вам не дам (существущие меня не устраивают, а своего я не буду описывать так как новые понятия я не вводил).


Нет, не значит. Еще 4-й вариант есть — я не вводил новых понятий, которым нужны определения.

Если вас не устраивает существующее определение, значит вы вводите какой-то другой способ соотносить объекты cо словом. Не является ли это введением нового понятия?


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

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

Я просто вас совершенно не понимаю.


Вот тут вы пишете:


Я считаю, что "брать" их в данном случае неправильно, так как они относятся к другому контексту.

Т.е. существующие определения вас не устраивают в применении к какому то контексту, правильно?
Значит:


  1. Либо есть какие-то более правильные определения на которые вы можете сослаться.
  2. Либо у вас есть свое определение (может быть неосознанное).
  3. Либо вас будет трудно понимать.

Нет? Судя по вашему общению здесь получается третий пункт. Причем вы ссылаетесь на какие-то факты, как будто у нас есть еще какое-то определение денормализованности которым они противоречат.

Противоречит утверждению "Для целей моделирования — избыточно". Цель это то чего мы хотим.

Не противоречит. То, чего мы хотим изменилось. Так же как и в остатках "И если в предметной области появится правило, ...." — есть гипотетическая возможность изменения того, что мы моделируем.


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

Тут от меня ускользает мысль. Если какие-то числа по тем ограничениям, о которых мы условились могут быть вычислены из других чисел, то их хранение избыточно. Потому, что их можно вычислить. Избыточно, это то, что можно не хранить и получить тот же результат. Если условия изменятся, мы можем хранить как-то по-другому. Например, вес и масса отличаются по определению и в каких-то случаях это может стать важным. Но пока мы условились работать на Земле хранение веса и массы избыточно.


Я считаю, что "брать" их в данном случае неправильно, так как они относятся к другому контексту.

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


Я не считаю, что это денормализованность. И всё. Здесь нечего доопределять.

О! С этого и надо было начинать :D


Напомнило

— Когда я беру слово, оно означает то, что я хочу, не больше и не
меньше, — сказал Шалтай презрительно.
— Вопрос в том, подчинится ли оно вам, — сказала Алиса.
— Вопрос в том, кто из нас здесь хозяин, — сказал Шалтай-Болтай. — Вот в чем вопрос!

Нет, что он не получится постепенным продвижением по порядку тестов от самого простого к полному.

Я встречал рекомендации писать code spike если работа исследовательская, а потом писать prod код смотря в этот spike по TDD. Т.е. вся эта дисциплина типа pair programming относится к prod коду.

он ГОВНО

Это вы просто вы предпочитаете смотреть на говно.


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

В этом примере избыточность другого рода на том же уровне абстракции.

Я про уровень абстракции на котором вы сравниваете две избыточности.


Если бы оно было избыточно, нам не надо было бы ни считать сумму по документам, ни хранить их отдельно. ]

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


Так же как в примере с самолетом сиденья не нужны ни в каком виде.

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


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

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


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


наподобие поля "Поставщик" или "Клиент" для документов о краже материалов.

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


Вообще уровень абстракции реляционной модели он более низкий по сравнению с инфологической моделью и описывает в основном логику хранения.


Он не обязан 1:1 соответствовать бизнес сущностям.


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

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

В гугле пишут тесты. Есть даже такая книжка "How Google Tests Software". То, что есть какие-то баги не значит, что тестов не пишут.

Кому-то дают, кому-то не дают. Те, кому не дают, обычно в итоге тратят больше времени на фикс багов.

Информация

В рейтинге
4 672-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность