JavaRush /Java блог /Random UA /Досвід проходження співбесіди
Galina
8 рівень

Досвід проходження співбесіди

Стаття з групи Random UA
Співбесідувалася я в одну Американську компанію, яка має офіси і в Санкт-Петербурзі, і в Саратові, і в Харкові, і в Польщі, ну і в Силіконовій долині Каліфорнії. Багато росіян там.
співбесіда ІТ
Призначабо мені технічне інтерв'ю на позицію junior QA with java . Я готувалася, писала ручкою на папері код завдань за масивами, списками, колекціями. Без підглядання будь-куди. Це, до речі, виявилося непросто. Інтерв'ю було по hangouts. На початку співбесіди інтерв'юер попросив розповісти про себе. Потім перейшли до завдань. Він пошарив документ зі мною, де був код, і ми обидва одночасно бачабо дії один одного. Перше завдання була масив з варіантами відповідей. Я не даватиму тут відповіді, але хочу попередити, що потрібно бути уважним. Легко проаналізувати початок виконання коду і не помітити невелику каверзу ближче до кінця.
//Task1
// What will be the value of the “values” variable after execution of the following code snippet?
//
    public static void main(String[] args) {
        int[] values = {23, 12, 13, 17, 23, 19};

        for (int i = 0; i < values.length - 1; i++) {
            if (values[i] > values[i + 1]) {
                int t = values[i];
                values[i] = values[i + 1];
                values[i + 1] = t;
            }
        }
    }

// 1. {12, 13, 17, 19, 23, 23}
// 2. {23, 23, 19, 17, 13, 12}
// 3. {12, 13, 17, 23, 19, 23}
// 4. {12, 13, 23, 17, 19, 23}
Інтерв'юер запитував "Що робить завдання?" та "Який варіант відповіді правильний?". І "Що нагадує це завдання?" На останнє запитання я відповіла, що нагадує сортування бульбашкою, тільки там два цикли та один вкладений, який починається з кінця. Це завдання я вирішила. І навіть зраділа, що було легко. Потім йшло друге завдання "Щасливий квиток". Де сума перших трьох цифр дорівнює сумі трьох останніх у 6-ти значній кількості.
// Task2
// boolean isMyTicketLucky(? ticketNumber);

// Notes:
// - You need to choose a type of the ticketNumber input parameter yourself.
// - Ticket number consists of 6 digits like 123456 or 404404.
// - The method returns true if sum of the first three digits is equal to sum of the last three digits.
// If the sums are different the method returns false.

    public static void main(String[] args) {
        //isMyTicketLucky("123006");
        System.out.println(isMyTicketLucky("123006"));
    }
Тут потрібно вибрати тип номера квитка у вхідному параметрі. Integerабо String. Для обох типів є рішення. Рішення для типу квитка Integer.
private static boolean isMyTicketLucky(int ticketNumber) {

        int number1 = ticketNumber / 100000;
        int number2 = (ticketNumber / 10000) % 10;
        int number3 = (ticketNumber / 1000) % 10;
        int number4 = (ticketNumber / 100) % 10;
        int number5 = (ticketNumber / 10) % 10;
        int number6 = ticketNumber % 10;

        return number1 + number2 + number3 == number4 + number5 + number6;
    }
Рішення для типу квитка String.
private static boolean isMyTicketLucky(String ticketNumber) {
        return ticketNumber.charAt(0) + ticketNumber.charAt(1) + ticketNumber.charAt(2)
                == ticketNumber.charAt(3) + ticketNumber.charAt(4) + ticketNumber.charAt(5);
    }
На жаль, я розгубилася і не змогла вирішити друге завдання під час інтерв'ю. Після завдань були питання про SQL, SQL Join, system version control. Ну і зовсім наприкінці запитав "Чи є питання?" Я попросила дати критику моєї співбесіди, і інтерв'юер зазначив, що йому сподобалося, що я вголос міркувала, що робив код у першому завданні. Я прямувала за кодом і промовляла, що робить кожен рядок і кожна ітерація в циклі. Це було моє перше інтерв'ю у IT. Я його не пройшла, зате знаю над чим працювати зараз і що підучити.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ