Сходил на собеседование в "Одноклассники".
Что удивило - собеседование состояло в прохождении теста по джаве и написании пары программ в текстовом редакторе. И все это время я сидел в гордом одиночестве в переговорке.
Вторая вещь, которая удивила - слишком простые задания. 10 джавовских вопросов решились минут за 10, программы я писал значительно дольше, но все равно вышло на удивление просто.
Офис, по первому впечатлению, не очень понравился.
Завтра в 17 пойду в другую компанию.
Вопросы, которые были (ответов не выкладываю, кому интересно - попробуйте сами или пишите в ЛС).
1. Что выведет в консоль следующий код: System.out.println( 9/10 );
2. В каком соотношении друг с другом состоят интерфейсы Collection, List, Set и Map?
3. Какие методы надо реализовать для того, чтобы класс можно было использовать в качестве ключа в HashMap?
4. Какой интерфейс надо реализовать для того, чтобы класс можно было использовать в качестве ключа в TreeMap?
5. Что выведет данный код?
String a = "ab";
a.substring(1);
System.out.println( a + "c");
6. Какая реализация интерфейса List будет работать в среднем быстрее для каждой операции ниже (независимо от других), если в листе очень много элементов?
-- add(0, "asd")
-- get(50000)
-- remove(0)
7. Какая реализация Map будет работать в среднем быстрее для следующих операций?
-- put(Integer, Object)
-- get(Integer)
-- remove(Integer)
8. Какое минимальное количество сравнений необходимо, чтобы найти элемент (или убедиться что его нет) в отсортированном массиве чисел на 1000 элементов?
9. Задача на многопоточность, выбрать найти корректные реализации генератора уникальных значений. Много кода слишком, подробно не расписываю. Вкратце, проверка знаний по корректности операций, атомарности и happens-before.
10. Есть таблица tt с тремя колонками интами (с1, c2 и с3). В нее очень часто гоняют следующие запросы "select * from tt where c1 > ?" и "select * from tt where c2 = ? and c3 between ? and ?"
Какие индексы стоит сделать для этой таблицы, чтобы это работало быстрее?
На последний я вообще хз что писать было, тыкнул наугад. Завтра проконсультируюсь с коллегой, которая шарит в базах данных.
Задачи следующие.
1. Написать приложение, которое выводит минимальное
число фибоначчи, которое больше некоего числа N (задается из командной строки)
2. Написать приложение, которое выводит в консоль все простые числа от 2 до N включительно, отсеивая их с помощью
решета Эратосфена.
Второе я точно сделал неоптимально, делая перебор делителей. Отстой, короче.
Помощь нужна в правильном и полном решении тестового задания (сегодня узнал что в первую очередь при приёме к себе они оценивают именно задание).
Это основное. Также хотелось бы получить какие-то наставления до начала стажировки. Если можешь помочь, то пиши в вк, или скайп: paradise9015, ну либо сюда в личку.
Я тоже заметил ошибку в задании, даже две. Интересно, стоит ли говорить им об этом на собеседовании?) Вроде как с одной стороны некорректно, а с другой, может они специально их сделали.
Большая благодарность всем за книги/курсы. Мне порекомендовали еще одну книгу, которую здесь не упоминали
kti10.pdf (918 килобайт) Кол-во скачиваний: 369