Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Любителям задавать глупые вопросы на собеседовании


Автор: alexadr 21.3.2008, 12:25
Навеяно чтением темы:
http://forum.vingrad.ru/forum/topic-177946.html

Года полтора назад проходил собеседование в одну конторку. Так вот, в качестве тех интревью, мне сначала выкатили тест из 5-ти вопросов. Честно говоря, сейчас, я бы просто встал, взял эту бумажку на память и ушел бы. Но тогда я пытался на эти вопросы ответить. Интуитивно я догадывался что эти вопросы из какой-то книжки и особого отношения к программированию не имеют. Я даже умудрился на два из этих вопросов ответить правильно. Точно всех вопросов не помню. Запомнился только один:

Проинициализировать переменные i и j таким образом чтобы распечаталось слово "YPA"
Код

if (i>=j && i<=j && i!=j) {
    System.out.println("YPA");
}


К слову сказать, я в итоге нашел ответ на этот вопрос но уже много позже.

Потом после этого теста была еще пара стандартных вопросов по жаве и ВСЕ, - как я понял, на большее технарь проводивший "собеседование" был не способен. Не покидало ощущение, что я просто должен был отвечат на вызубренный урок.

Когда в конце мне предложили задать им некие вопросы, я задал всего один технарю, на который так и не получил ответа:
Что такое обратная польская запись и как она работает?

На нынешней работе сам периодически учавствую в собеседованиях. И часто, когда коллеги задают глупый вопрос претенденту, - сам отвечаю на него фразой - "Это можно в гугле найти"

Автор: Platon 21.3.2008, 12:30
Такой вопрос уже решался на форуме, посмотрите тему Маленький тест, Кенгуру такой вопрос кидал, правильный ответ по моему обе переменные NaN.

Автор: powerOn 21.3.2008, 12:30
В чем суть вашего вопроса и темы в целом? 

Автор: alexadr 21.3.2008, 12:34
2 Platon  
правильный ответ не NaN:)

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

Автор: powerOn 21.3.2008, 12:57
Цитата(alexadr @  21.3.2008,  12:34 Найти цитируемый пост)
Суть в том, что зная ответы на стандратные вопросы которые задаются на собеседованиях, можно нифига не смыслить в программировании. 


Так можно прийти на экзамен по физике выучив один билет и если он попадется - сдать на 5. При этом также не смыслить в физике. 

PS:
Цитата(alexadr @  21.3.2008,  12:25 Найти цитируемый пост)
И часто, когда коллеги задают глупый вопрос претенденту, - сам отвечаю на него фразой - "Это можно в гугле найти"


Вы, кстати, этим ставите коллег в неловкое положение перед собеседуемым человеком. Лично я бы так не делал.

Автор: Platon 21.3.2008, 13:00
Да, я ошибся, POSITIVE_INFINITY

Автор: PashaOvechkin 21.3.2008, 13:02
Platon , опять ошибся smile)

Автор: powerOn 21.3.2008, 13:02
Модератор: Переместил из Java: Общие вопросы. Мне кажется эта тема больше к управлению проектами относится, чем к Java.

Автор: Platon 21.3.2008, 13:12
Кстати, был я недавно на собеседовании тоже. Проверяли мой подход к написанию кода, я провалил многие вопросы. От обиды могу сказать, что глупые вопросы, конечно, присутствуют.

Добавлено через 4 минуты
PashaOvechkin, нет не ошибся, на этот раз проверял..

Автор: arilou 24.3.2008, 12:18
Так, давайте в оффтопик не сваливаться. В чем основной посыл вопроса? 

Автор: alexadr 24.3.2008, 15:44
2 Platon 

        Float i = Float.POSITIVE_INFINITY;
        Float j = Float.POSITIVE_INFINITY;
или
        Float i = Float.NEGATIVE_INFINITY;
        Float j = Float.NEGATIVE_INFINITY;


тока один из вариантов ответа.

Автор: intr 25.3.2008, 13:53
ВНИМАНИЕ ДАЛЕЕ ИДЕТ ОФФТОП smile 
Код

Integer a = new Integer(0);
Integer b = new Integer(0);
if(a>=b&&b>=a&&a!=b){
System.out.println("kva");
}else{
System.out.println("krya");
}

Так тоже работает

Но более интересный вариант дает вот этот кодsmile
Код

    public static void main(String[] args) {
        for (int i = -1024; i < 1024; i++) {
            Integer a = i;
            Integer b = i;
            if (a >= b && b >= a && a != b) {
                System.out.println(i+" - kva");
            } else {
                System.out.println(i+" - krya");
            }
        }
    }

Причина этого кроется в этом (код из класса Integer)
Код

    /**
     * Returns a <tt>Integer</tt> instance representing the specified
     * <tt>int</tt> value.
     * If a new <tt>Integer</tt> instance is not required, this method
     * should generally be used in preference to the constructor
     * {@link #Integer(int)}, as this method is likely to yield
     * significantly better space and time performance by caching
     * frequently requested values.
     *
     * @param  i an <code>int</code> value.
     * @return a <tt>Integer</tt> instance representing <tt>i</tt>.
     * @since  1.5
     */
    public static Integer valueOf(int i) {
    final int offset = 128;
    if (i >= -128 && i <= 127) { // must cache 
        return IntegerCache.cache[i + offset];
    }
        return new Integer(i);
    }


Автор: arilou 25.3.2008, 18:46
Модератор: и всё-таки тема для Java раздела  smile  

Автор: niasilil 26.3.2008, 00:00
Модератор: Сообщение скрыто.

Автор: iluvatar 26.3.2008, 09:24
там вариантов тьма  - во-первых сравнить 2 Integer - операция != сравнит ссылки, а >=, <= - значения.
Можно также взять произвольный объект, реализующий Comparable и реализовать compareTo(). 
Может, я в чем-то ошибаюсь?

Автор: Kangaroo 26.3.2008, 11:04
Цитата(iluvatar @  26.3.2008,  08:24 Найти цитируемый пост)
Можно также взять произвольный объект, реализующий Comparable и реализовать compareTo(). 

Ты хочешь сказать, что вот при этом:
Код

a>=b

вызовутся compareTo?  smile 

Автор: SoulKeeper 26.3.2008, 11:39
Глупые вопросы - понятие растяжимое smile

Код

function validate(){
    return (validate1() & validate2()) == 1;
}

function validate1(){
    //element.style.background = red
    return false;
}

function validate2(){
    //element.style.background = red
    return false;
}


К примеру такое применение оператора & удобно для валидации формочек javascript"ом smile В даном примере намек на подкрашевание бекграунда красным фоном smile

Собственно вопрос на собеседовании вполне оправдан, т.к. если у нас вещей так с 10 которые надо валидейтнуть, то получится очень уж неудобный код если не знать разници между & и &&. Что-то вроде:

Код

function validate(){    
    var result = true;
    
    if(!validate1()){
        result = false;
    }
    
    if(!validate2()){
        result = false;
    }
    
    return result;
}

function validate1(){
    //element.style.background = red
    return false;
}

function validate2(){
    //element.style.background = red
    return true;
}


Обращаем внимание на оператор, а не на javascript, т.к. операторы работают идентично ;)

Автор: niasilil 26.3.2008, 19:22
Цитата(alexadr @ 21.3.2008,  12:25)
На нынешней работе сам периодически учавствую в собеседованиях. И часто, когда коллеги задают глупый вопрос претенденту, - сам отвечаю на него фразой - "Это можно в гугле найти"

И все таки несмотря на предупреждение модератора хочу сказать своё "кю". Нехорошо подставлять людей с которыми работаешь, выпячивая себя вперед. 
Цель интервью - не только проверить знания, но и посмотреть как человек реагирует на подобные вопросы. Он сам может сказать что это можно за 3 секунды в гугле найти, и такой ответ чаще всего устроит всех. 

Автор: intr 27.3.2008, 09:28
Цитата(niasilil @ 27.3.2008,  00:22)
Цитата(alexadr @ 21.3.2008,  12:25)
На нынешней работе сам периодически учавствую в собеседованиях. И часто, когда коллеги задают глупый вопрос претенденту, - сам отвечаю на него фразой - "Это можно в гугле найти"

И все таки несмотря на предупреждение модератора хочу сказать своё "кю". Нехорошо подставлять людей с которыми работаешь, выпячивая себя вперед. 
Цель интервью - не только проверить знания, но и посмотреть как человек реагирует на подобные вопросы. Он сам может сказать что это можно за 3 секунды в гугле найти, и такой ответ чаще всего устроит всех.

Искать в гугле тоже надо уметь. 
Если он так ответит, то надо дать ему компьютер с интернетом и сказать ищиsmile

Автор: Orange 3.4.2008, 15:38
недавно тупил над таким вопросом: "Распечатайте на консоль числа по возрастанию от 1 до 10, не используя операторы if, for, while".
(Первый вариант - System.out.println("1 2 3 4 5 6 7 8 9 10");)))

Автор: Kangaroo 3.4.2008, 16:25
Цитата(Orange @  3.4.2008,  15:38 Найти цитируемый пост)
(Первый вариант - System.out.println("1 2 3 4 5 6 7 8 9 10");)))

Другие варианты похожие? Или есть умные и стоит подумать?  smile

Добавлено через 1 минуту и 22 секунды
Есть еще вариант с рекурсией и case.  smile 

Автор: Platon 3.4.2008, 17:55
На самом деле таких вариантов надумать можно много smile

Код

public class Test {
    private static String printIdiotic(int num) {
        return ((num > 1)? printIdiotic(num - 1) + " " : "") + num;
    }

    public static void main(String[] args) {
        System.out.println(printIdiotic(10));
    }
}

Автор: w1nd 4.4.2008, 10:46
Цитата(Orange @  3.4.2008,  15:38 Найти цитируемый пост)
"Распечатайте на консоль числа по возрастанию от 1 до 10, не используя операторы if, for, while".

Правильный ответ: делается аналогично надеванию штанов через голову.

Автор: powerOn 4.4.2008, 11:00
Цитата(w1nd @  4.4.2008,  10:46 Найти цитируемый пост)
Правильный ответ: делается аналогично надеванию штанов через голову. 

Поддерживаю, нужно оценивать разумность ответа, а не красоту извращения. И не дай Бог еще такое в коде проекта накатают...

Автор: Orange 4.4.2008, 12:24
powerOn, это был последний вопрос теста на собеседовании в представительстве одного крупного европейского банка!!))

Автор: Royan 4.4.2008, 16:34
Orange, Не удивляюсь, что банки терпят убытки, если у них есть сотрудники, которые подобные собеседования проходят...

Мои три пенса состоят в том, чтобы "любители задавать глупые вопросы на собеседовании" равно как и те кто с ними полагает столкнуться заглянули вот сюда: http://www.owasp.org/index.php/Java_gotchas

Автор: Kangaroo 4.4.2008, 16:43
Цитата(Royan @  4.4.2008,  16:34 Найти цитируемый пост)
заглянули вот сюда:

Там совсем мало gotchas'ов, их гораздо больше  smile 


w1nd, 
powerOn,
вы слишком серъезно это воспринимаете. Это ж как прикол, что бы улыбнуться в конце собеседования  smile 

Автор: Fieral 6.4.2008, 14:45
Цитата(intr @ 25.3.2008,  13:53)
ВНИМАНИЕ ДАЛЕЕ ИДЕТ ОФФТОП smile 
....

А можете подробнее пояснить?

Автор: LSD 6.4.2008, 15:01
Цитата(Fieral @  6.4.2008,  15:45 Найти цитируемый пост)
А можете подробнее пояснить?

Иди в тему "Маленький тест" и почитай последние 5-10 страниц, там как раз этот и другие подобные вопросы обсуждались.

Добавлено через 1 минуту и 51 секунду
Да, и не постарайся избегать http://ru.wikipedia.org/wiki/Оверквотинг.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)