• Сдача экзамена Java 1Z0-808 или 1Z0-803?

    @Alexey_Kutepov
    Разработчик программного обеспечения
    Скажу по своему опыту в России: я посетил около 15 собеседований на позицию Java разработчика и у меня ни разу не интересовались наличием сертификата. Более того, я пробовал указывать в резюме любимые книги и пройденные курсы с Coursera и после этого нарывался на дополнительные вопросы, которые мне задавали с целью убедиться что я действительно проходил тот или иной курс или читал ту или иную книгу. Проходил собеседования на позицию Junior разработчик, и на Middle (2-я работа).
    Ещё одно наблюдение: репа на github с личными проектами значительно уменьшает количество тупых вопросов на собеседовании и как правило превращает собеседование в интересную беседу, но не всегда))
    По поводу собеседований на Senor developer и выше - ничего не знаю, может там сертификат важен)
    Ответ написан
    1 комментарий
  • Новые возможности java 8, использовать или нет?

    Applez
    @Applez
    Разраб
    Все делается для вашего удобства. Вам решать.
    Ответ написан
    Комментировать
  • Как правильно использовать getElementById?

    SagePtr
    @SagePtr
    Еда - это святое
    getElementById (обратите внимание на регистр)
    Ответ написан
    Комментировать
  • Можно ли посчитать количество цифр в документе, в котором содержатся результаты подсчёта?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Я не уверен, можно ли решить эту задачу, если документ состоит из 97 девяток.
    Ещё одна девятка будет в левом столбце таблицы. Какая-нибудь из цифр от 0 до 8 вряд ли встретится 9 раз. Так что девяток будет 98+ число девяток в последней клетке таблицы. Вот и получается:
    Если в последней клетке 0 девяток, то в ней число 98+0=98
    Если в ней одна девятка, то в ней 98+1=99
    Если в ней две девятки, то в ней 98+2=100
    Во всех случаях получаем противоречие.

    UPD. Задача решается довольно просто.
    Пусть у нас уже собрана статистика о числе разных цифр в теле документа (B[0] нулей, B[1] единиц...)
    Сразу прибавим к этим числам по единичке, чтобы учесть левый столбик.
    Оценим сверху число цифр в правой части таблицы. Например, как S=10*(log_10(B[0]+..+B[9])+2).
    Каждая цифра в полном документе встретится не более B[n]+S раз, значит, в правой части таблицы для неё будет число, лежащее от D0[n]=B[n] до D1[n]=B[n]+S.
    Прооптимизируем диапазоны D0..D1. Для этого для каждой цифры переберём все числа от D0[n] до D1[n], посмотрим количество разных цифр в каждом из этих чисел, возьмём минимальное и максимальное значение вхождений. Например, если D0[n]=997, D1[n]=1013, то в клетке, соответствующей n, 0,1 и 9 могут встретиться от 0 до 3 раз, а остальные цифры - 0 или 1 раз.
    Просуммируем полученные диапазоны по всем n - получим новую таблицу диапазонов D0n,D1n. Пересечём их с D0,D1.
    Есть 3 варианта.
    Все полученные диапазоны совпали с D0..D1. Выходим из цикла.
    Один из новых диапазонов пуст. В этой ветке решений нет, возвращаемся из функции.
    Какой-то диапазон изменился. Продолжаем оптимизировать.

    После того, как диапазоны стабилизировались, смотрим их длины. Если все они длины 1 (т.е. D0=D1), то мы нашли решение. Если нет - то берём самый короткий диапазон длины больше 1, перебираем все его значения D0[n]<=u<=D1[n], подставляем каждое из них в копию таблицы диапазонов (D0n[n]=D1[n]=u) и рекурсивно вызываем функцию оптимизации.
    Перебор оказывается небольшим, вот примеры (ncall - число рекурсивных вызовов):

    For 1 2 3 4 5 6 7 8 9 10
    0->5 1->7 2->5 3->5 4->6 5->10 6->9 7->10 8->10 9->12
    ncall=696

    For 1 1 1 0 0 0 0 0 0 0
    0->2 1->7 2->5 3->1 4->1 5->2 6->1 7->2 8->1 9->1
    ncall=486

    For 0 0 0 0 0 0 1 0 0 0
    ncall=464

    For 0 0 0 0 0 0 0 1 0 0
    0->1 1->7 2->2 3->3 4->1 5->1 6->1 7->3 8->1 9->1
    0->1 1->6 2->3 3->3 4->1 5->1 6->2 7->2 8->1 9->1
    0->1 1->6 2->4 3->1 4->2 5->1 6->2 7->2 8->1 9->1
    ncall=482

    For 3997 19995 5677 998 799996 392 7 94 8998 99985
    0->4014 1->20000 2->5679 3->1000 4->800001 5->394 6->10 7->96 8->9000 9->99994
    0->4013 1->20001 2->5679 3->1001 4->800000 5->394 6->10 7->96 8->9000 9->99994
    ncall=47356
    Ответ написан
    4 комментария
  • Изучения JavaScript с 0?

    Symphony
    @Symphony Куратор тега JavaScript
    Комментировать
  • Правила объявления интерфейсов. "I" или "!I"?

    kivsiak
    @kivsiak
    software engineer
    Ну явист явисту рознь. Для меня например авторитет Java api. А там префиксы не используются.

    Да и сам я считаю что отличать визуально интерфейсы от классов в java смысла нет и даже вредно. Иногда конечно обзываю *Impl но это от лени. Название должно четко описывать реализацию.
    Ответ написан
    Комментировать
  • Алгоритм подсчета количества чисел в промежутке от А до B, сумма цифр которых четна?

    Mrrl
    @Mrrl
    Заводчик кардиганов

    На каждом отрезке от 10*n до 10*n+9 таких чисел ровно 5. Поэтому нам достаточно посчитать число таких полных отрезков, и обработать краевые отрезки. Пусть sumdig(n) - функуция, которая выдаёт остаток от деления суммы цифр n на 2. Тогда: int s0=(B/10-A/10-1)*5; int s1=(10+sumdig(A/10)-A%10)/2; int s2=(2+B%10-sumdig(B/10))/2; return s0+s1+s2;

    Ответ написан
    Комментировать
  • Как лучше хранить аватарки: base64 или файлы?

    shus
    @shus
    Zoldberg
    Храните в файлах. Места занимает меньше чем base64 и после первой загрузки будут кешироваться браузером. А base64 нужно будет постоянно из базы тянуть
    Ответ написан
    2 комментария
  • Perl`овщики помогите со скриптом

    kafeman
    @kafeman
    Ответ написан
    Комментировать
  • Какую лучше всего купить книжку по Windows 7 для своей мамы? :)

    KokTiS
    @KokTiS
    Мои родители осваивали компьютер по «Windows 7 для чайников»
    Ответ написан
    Комментировать