Ответы пользователя по тегу Java
  • Вопросы на собеседовании, для самоподготовки

    @YoungSkipper Автор вопроса
    И всем спасибо.
    Ответ написан
    Комментировать
  • Вопросы на собеседовании, для самоподготовки

    @YoungSkipper Автор вопроса
    Отчет ниже, он так же есть по ссылке — www.rsdn.ru/forum/job/4316931.1.aspx

    Добавлю что вспоминать реализацию blocked queue, и вообще вспоминать все связанное с concurrency было явно лишним. Что впрочем логично. Даже при наличии 15 минут на задачу — врядли удастся это написать на бумажке и еще обсудить. Ну и различные красно черные деревья тоже пожалую оверхед — хотя в целом наверное может быть задача где они будут оптимальны.

    Задач типа «выставленные биты в числе» тоже не было — опять же на мой взгляд логично, ибо слишком специфично. Хотя опять же наверное может быть более общая задача где это можно применить.
    Но задачи имеют же не одно решение :)

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

    — Собеседование проходило в гостинице Марриот.
    Было 6 соискателей и 5 интервьюверов плюс сам Mat.
    Первые минут 30 Mat рассказывал о Зинге и давал советы по интервью, основныъ советов было три
    — внимательно слушать что говорят, чтобы не начать решать не ту задачу (для меня оказалось актуально — ибо первую же задачу я понял не полностью, и минут 5 потратил в пустую
    — начинать с простых решений
    — коммуницировать с интервьюверами, а не молча писать на бумаге решени (для меня опять же оказалось актуальным — если первых четыре интервьювера я нормально общался, то с пятым — постфактом прогнав по памяти, понял что 80% смотрел в бумагу и рассказывал решение бумаге, а не человеку)

    Из интерестного — рассказал что у них есть отделения в 5 городах в данныз момент
    Los Angeles
    San Francisco
    Austin, Texas
    Dallas, Texas
    Baltimor
    В некоторых находятся команды которые они недавно купили, например команда которая дела Цивилизацию

    Выросли сейчас до 2000 человек, планирует набирать по 150-300 каждый квартал (??? мог не правильно понять)
    Так же сказал что они уже тут три дня и некоторым сделали оффер уже.
    Сказал, что с каждым поговорит от 3 до 5 интервьюверов, и мол количество ничего не значит.

    У каждого соискателя была своя комната — обыкновенный номер с туалетом и прочим, из которого убрали кровать и поставили туда большой стол с парой стульев.
    Система такая — ты находишься в этом номере, к тебе заходит интервьювер на 35-40 минут, потом 15 минут перерыв ты один в комнате (погулять вокруг стола, попить воды, полежать в кресле, посмотреть альбомы — потом следующий
    На столе была вода, и так же 5 книжек — фотоальбомов с описаниями на каждый город из перечисленных выше

    Вопросы можно разделить на четыре типа

    1 — работе вообще — почему ты этим занимаешься, как давно, какие интересные проекты, какой челенж, чем хочется, почему хочется, вообще о индустрии
    2 — логические задачи — все задачи я до этого либо знал, либо просто о них слышал
    3 — задачи на написание кода — т.е. есть некая задача, нужно ее решить. Половина из них фактически нужно сказать какую структуру данных лучше юзать и проделать некоторые операции над ней, вторая просто написать алгоритм.
    4 — задачи общего IT характера — вот есть такая проблема как решать или вот такой процесс — раскажи о нем подробнее, или вот такая система — как ее организовать

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

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

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

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

    Общий результат — общение с первыми четырмя оцениваю на 9 из 10и, ну может на 8. Не решил одну логическую задачу — вернее нашел решение, близкое к оптимальному — но не оптимальное С пятым хуже — собственно было две задачи на написание кода, одну провалил, вторую процентов на 80 сделал.

    После пятого мы поговорили уже с Mat-ом немного.
    Он сказал что они тут еще три дня (еще 35 или 45 соискателей), в понедельник они уже в США и собственно с понедельника до среды он даст ответ.
    Причем сказал так интересно — что если нет — то скорее в понедельник, если да — то скорее в среду.
    Ну не будем ждать быстрого ответа

    Когда я вышел — уже никого из других соискателей небыло.

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

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

    Само проведение собеседования очень понравилось — все было понятно, логично и комфортно. Хотя все же пять интервьюверов с непривычки тяжело. Ну может кто и за 3 беседы проходит

    Из замечаний к самому себе

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

    P.S. Поговорил с Mat-ом про relocation package — оплата билетов для семьи, 2 месяца аренды квартиры рядом с работой плюс 4000 долларов на расходы.
    P.P.S. Спросил одного интервьювера что он думает по поводу Erlang — общий ответ был такой — эрланг это хорошо, но во первых он считает что просто нету необходимого им количества программистов на рынке которые уже знаю эрланг, и плюс он не уверен что переобучение существующех пройдет хорошо — потому что сменить парадигму программирования будет сложно. Поэтому может быть локально и в узких местах, но глобально нет.
    Ответ написан
    Комментировать
  • Вопросы на собеседовании, для самоподготовки

    @YoungSkipper Автор вопроса
    Реализовать copy-on-write ArrayList (всего четыре метода — void add(int indx, int item), int get(int indx), void remove(int indx), int size()).
    Ответ написан
    Комментировать
  • Вопросы на собеседовании, для самоподготовки

    @YoungSkipper Автор вопроса
    Ага спасибо.

    5) для класса final означает не возможность переопределить его любой метод, для метода означает что нельзя переопределить его, final переменные могут быть назначены только однажды
    6) метод intern() смотрит есть ли данныя строка в string poll и возвращает ее, в противном случае создает строку в string poll и так же возвращает. Все или еще что-то нужно сказать?
    8) я бы не стал бы писать, я бы словами рассказал что можно сделать табличку для каждого байта, и побайтно бы пройтись. ну и уточнил что мы экономим память или скорость. Сказал бы что можно и без таблички, но там будут страшные маски которые не думаю что имеет смысл вспоминать, ну и классический метод бы упомянул которые result += x & 1; x >>>= 1; если оное имело бы смысл
    Ответ написан
  • Вопросы на собеседовании, для самоподготовки

    @YoungSkipper Автор вопроса
    Так, начну сам. Всем полезно будет.
    И так, взято с glassdoor
    1. cycles in linked list, то бишь поиск циклов в связанном списке
    2. blocked queue — реализовать (заодно выучить как произноситься queue :)
    3. desk class (sheffle desk) — типа класс для колоды кард
    4. convert string to integer

    Первое ерунда, второе в целом тоже, хотя нужно подумать как элегантно можно в яве перетасовать колоду, последнее не понятно в чем фокус может быть.
    Ответ написан
    6 комментариев
  • Android: Java VS C++

    @YoungSkipper
    Смотря какой у вас код. По большому счету оверхед может быть за счет работы с массивом разве только, ну или со самой bitmap.

    В чистой математике прироста скорости существенного вы не получите без изменения алгоритма.
    Плюс еще не забывайте вам нужно даныне будет передвать в jni слой — это тоже время.

    Что у вас занимает в расчетах наибольшее время? Какая функция является bootle neck — приведите ее, тогда можно будет оценить будет ли выигрыш.
    Ответ написан