Pull to refresh
0
0
Send message
Самая здравая мысль. Скорее всего действительно на 20% резанут ЗП, при сохранении выполнения базовых рабочих функций.
Если честно, мне жаль потерянного времени — никаких сверхъестественных вещей я не увидел, а весь этот цирк с задачами только злит.
Собеседовался в МВ. Был и там и там оба раза, нет не все на динамическое, но не решил именно их + общался с другими сотрудниками и они сами говорили что дают исключительно ДП. Перерыв был больше года, что-то учил, но не прям готовился.
2 раз пытался, оба раза фейл. Интервью ничем не отличается от других «больший» компаний. Задания тоже стандартные и все на литкоде и тд. Очень любят давать вопросы на динамическое программирование (из-за чего я и зафейлился кстате). Печеньки кстати в гугле давно не айс, там рядом офис ЛинкедИн — кто похитрее туда ходит питаться :)
Раз пошла такая пьянка — вставлю свои 5 копеек. Наша компания блокирует все файл-хостинги и читать Хабр на работе невозможно потому что все ваши картинки приходят с сайтов которые сами сообщают об этом. Скорее всего это именно фича, а не баг, но вот такие дела.

Фишка Optional не только в том что он NPE-safe но и в том что Optional является монадой и реализует функции map и flatMap что позволяет вам писать код в функциональном стиле. На java это конечно не супер выглядит но в скале все гораздо приятнее.
Например у вас есть 3 имени проперти для подключения к БД (url, user, pass), поэтому вам нужно сходить в какой-то конфиг, взять значения переменных а потом из 3-х переменных сделать одну (ведь вам нужен коннекшн, а не сами логины пароли). В таком случае вы делаете примерно так:
maybe_url, maybe_user, maybe_password все Optional и потом:
Optional maybe_connection = maybe_url.flatMap(url -> maybe_user.flatMap(user -> maybe_pw.map(pw -> connectToDb(url, user, pw)))). Если любая проперти отстутсвтует вы получите Optional.empty на выходе без пробросов исключений

в скале это можно сделать как-то так:
for {
url <- maybe_url
user <- maybe_user
pw <- maybe_pw
connection = connectToDb(url, user, pw)
} yield connection


(разумеется можно навесить и больше, если хочется)

В моей жизни меня увольняли только один раз с бесплатной практики по причине «не влился в коллектив» (уже после переезда в сша). Попытки выведать как это расшифровывается успехом не увенчались, так что я просто пришел к выводу что все они м@#$@и (до сих пор уверен в этом). Кстати я был первым в последующей череде приглашения практикантов и их последующим увольнением. Другой момент что я после 2-х недель практики получил все что мне от них надо и дальше уже все пошло нормально.
Лично сам никого не увольнял, но «участвовал в принятии решений»; каждый раз причиной было личное отсутствие желания развиваться и работать (остальные эффекты — это уже производные)
После scala стримы на джаве кажутся жутко неудобными (или неочевидными). Так же пришлось какие-то привычные вещи портировать в джаву. Было бы здорово избавиться от ненужного явного преобразования в стрим и добавить синтаксический сахар для «большей наглядности кода». Тогда джава заблистает опять новыми красками (я не говорю что сейчас плохо, но хочется лучшего)
Все не так плохо — есть один чистый мастер в котором всегда есть рабочий код, который в любой момент оттестирован и готов к релизу. Каждый разраб полностью ответственнен за его коммиты и если что-то сломано — он тут же должен это исправить. Я не топлю за эту концепцию, но у нас вот так.
Очень похожая ситуация на нашу. Для хранения кода мы используем концепцию «clean trunk» (это когда все коммитят в мастер и нет брэнчей). Так вот пришел новый парень, сделал пулл, че-то там покодил пару часов и пушнул назад с ключом --force. Когда мы ему предъявили что он потер код он показал страницу из нашей «онбоардинг» документации где было черным по белому написана инструкция что надо делать именно так. Разумеется все претензии были сняты и доки переписаны.
public static void main(String[] args) {
        System.out.println(calc("+5 + -12").equals("-7.0"));
        System.out.println(calc("+5 * -12").equals("-60.0"));
        System.out.println(calc("+5 - -12").equals("17.0"));
        System.out.println(calc("+5 / -12").equals("-0.4166666666666667"));
        System.out.println(calc("+5 & -12").equals("unknown operator"));
        System.out.println(calc("-12").equals("invalid expression"));
    }

    private static String calc(String expr) {
        return expr.split(" ").length > 2 ?
               expr.split(" ")[1].equals("+") ? "" + (Double.valueOf(expr.split(" ")[0]) + Double.valueOf(expr.split(" ")[2])) :
               expr.split(" ")[1].equals("-") ? "" + (Double.valueOf(expr.split(" ")[0]) - Double.valueOf(expr.split(" ")[2])) :
               expr.split(" ")[1].equals("*") ? "" + (Double.valueOf(expr.split(" ")[0]) * Double.valueOf(expr.split(" ")[2])) :
               expr.split(" ")[1].equals("/") ? "" + (Double.valueOf(expr.split(" ")[0]) / Double.valueOf(expr.split(" ")[2])) : "unknown operator" : "invalid expression";
    }
Я как раз из этой категории вошедших (только не на родине, а в силикон-вэллей). Тут вообще очень много таких, и ничего — все как-то работают и даже успешно. Просто каждый раз смешно читать вы… ры некоторых задр… тов про то как они всю жизнь учились и мечтали что теперь то их гений наконец обретет заслуженное уважение, а потом выясняется что их потуги никому не нужны и они начинают стучать по клавиатуре своими потными пальчиками и ладошками выражая свое возмущение вселенской несправедливостью. Лол.

Information

Rating
Does not participate
Registered
Activity