Вопрос с интервью 2
От: Аноним  
Дата: 10.10.13 11:34
Оценка:
Есть код


public MyClass {
    public void test() {
          System.out.println(getClass() == MyClass.class); 
    }

}



Вопрос: что выведет запуск метода test. При каких обстоятельствах ситуация может быть такой что вывод будет другим?

Понятно что выведет true. Вторая часть вопроса? Не намекают ли они на еще один .class, загруженый другим лоадером?
Чтобы вы ответили?
Re: Вопрос с интервью 2
От: elmal  
Дата: 10.10.13 11:40
Оценка: +2
Здравствуйте, Аноним, Вы писали:

А>Понятно что выведет true. Вторая часть вопроса? Не намекают ли они на еще один .class, загруженый другим лоадером?

А>Чтобы вы ответили?
Если от этого класса какой отнаследуется, то getClass вернет другое значение, отличное от MyClass.

PS Госсподи, судя по вопросам, в такой конторе лучше не работать, представляю что там за говнокод творится, если их интересуют такие вопросы. Ведь не спроста спрашивают же, наверняка постоянно на такие грабли наступают
Re[2]: Вопрос с интервью 2
От: dimgel Россия https://github.com/dimgel
Дата: 10.10.13 11:45
Оценка:
Здравствуйте, elmal, Вы писали:

E>PS Госсподи, судя по вопросам, в такой конторе лучше не работать, представляю что там за говнокод творится, если их интересуют такие вопросы. Ведь не спроста спрашивают же, наверняка постоянно на такие грабли наступают


Тож удивился: ни в жисть мне не приходилось гадать на кофейной гуще на подобного рода темы. Реверс инжиниринг какой-то.
Re: Вопрос с интервью 2
От: vsb Казахстан  
Дата: 10.10.13 11:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Понятно что выведет true. Вторая часть вопроса? Не намекают ли они на еще один .class, загруженый другим лоадером?


Вопрос интересный, но вряд ли класслоадер на это влияет. MyClass.class это константа, прописанная в .class-файле. getClass() возвращает класс, который выполняется сейчас. Чтобы "напороться" на эффект разных класслоадеров, надо сохранить ссылку на Class<MyClass> где-нибудь в третьем месте из первого класслоадера и сравнивать, выполняя код из второго класслоадера. Случайно на такое напороться сложно.

Думаю всё же имелось в виду именно наследование, как отметили в других комментариях.
Re[2]: Вопрос с интервью 2
От: avpavlov  
Дата: 10.10.13 12:10
Оценка:
E>PS Госсподи, судя по вопросам, в такой конторе лучше не работать, представляю что там за говнокод творится, если их интересуют такие вопросы. Ведь не спроста спрашивают же, наверняка постоянно на такие грабли наступают

С другой стороны? вопрос достаточно простой для Ява программиста, реально с Явой работавшего, а не написавшего "пару лаб в универе"
Re: Вопрос с интервью 2
От: Географ Россия нет
Дата: 10.10.13 12:17
Оценка: -1
Здравствуйте, Аноним, Вы писали:
А>Есть код

А>
А>public MyClass {
А>    public void test() {
А>          System.out.println(getClass() == MyClass.class); 
А>    }
А>}
А>

А>Вопрос: что выведет запуск метода test. При каких обстоятельствах ситуация может быть такой что вывод будет другим?
А>Понятно что выведет true. Вторая часть вопроса? Не намекают ли они на еще один .class, загруженый другим лоадером?
А>Чтобы вы ответили?

Мдя... Как то слышал, что 20% или 40% заданий по разработке программного контента по стране выдаёт Сбербанк. Соответственно, главным теперь для разработчика становится способность удовлетворить все претензии подобного рода заказчика. А заказчик — барин. Толстый, наглый, считающий себя полубогом, протестантского самосознания.
Отсюда и сотрудники, выдерживающие такого барина, такие вот, специфические. И вопросы их — просто глумление над внешним ещё пока здравым смыслом. Или попытка придания самим себе какого-то реального веса. Типа, и мы можем делать/знать что-то настоящее, что-то реальное, а не только как перекладывать потоки виртуальных денег по виртуальным карманам с помощью WWW протоколов и GWT.

Реальной ценностью сотрудника может быть только его способность реализовывать конкретные проекты, в более абстрактном смысле — проекты произвольной сложности. Что никак не определишь на собеседовании. Это выясняется только на испытательном сроке через 1-2-3 месяца. А вот перед ним можно попробовать только узнать образование, послужной список, задать пару вопросов по особенностям реализации своих проектов. Так можно понять, что кандидат не присвоил себе что-то в резюме. И далее только надеяться на лучшее.

Иногда стоит выяснить о его моральных качествах, способности и желании работать в коллективе, если это нужно.
собеседование хитрые вопросы ненужные частные знания
Re[2]: Вопрос с интервью 2
От: Аноним  
Дата: 10.10.13 12:24
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, Аноним, Вы писали:


А>>Понятно что выведет true. Вторая часть вопроса? Не намекают ли они на еще один .class, загруженый другим лоадером?

А>>Чтобы вы ответили?
E>Если от этого класса какой отнаследуется, то getClass вернет другое значение, отличное от MyClass.

E>PS Госсподи, судя по вопросам, в такой конторе лучше не работать, представляю что там за говнокод творится, если их интересуют такие вопросы. Ведь не спроста спрашивают же, наверняка постоянно на такие грабли наступают



Поверьте мне, в этой конторе лучше работать и это не в СНГ.
С другой стороны, очень много вопросов и очень мало времени. Приходилось думать очень быстро и иногда, как в топике с вопросом №1, я завис на боксинге и моя ошибка была в том что завис и не подумал про другие варианты.
Re[2]: Вопрос с интервью 2
От: devcoach  
Дата: 10.10.13 12:39
Оценка: 9 (1)
Здравствуйте, Географ, Вы писали:

Г>Реальной ценностью сотрудника может быть только его способность реализовывать конкретные проекты, в более абстрактном смысле — проекты произвольной сложности. Что никак не определишь на собеседовании. Это выясняется только на испытательном сроке через 1-2-3 месяца. А вот перед ним можно попробовать только узнать образование, послужной список, задать пару вопросов по особенностям реализации своих проектов. Так можно понять, что кандидат не присвоил себе что-то в резюме. И далее только надеяться на лучшее.

Ну и бред вы только что сказали, аж стыдно за вас. Собеседование никогда не ставит перед собой целью на 100% отсеять неподходящих сотрудников, это невозможно в принципе. Собседеование ставит своей целью снизить риски, понимаете? Не избавиться от рисков, а снизить их. Или вы предлагаете верить на слово тому, что написано в резюме?
А давайте отменинм сроки годности на продуктах? Приходите вы в магазин за молоком, а там срока годности нет. И правильно — зачем он нужен, если молоко может быть прокисшим, даже если у него еще не вышел срок годности (технологическая ошибка на заводе, неправильное хранение, негреметичная упаковка, и т.д.)
Re[2]: Вопрос с интервью 2
От: devcoach  
Дата: 10.10.13 12:49
Оценка: +2
Здравствуйте, elmal, Вы писали:

E>PS Госсподи, судя по вопросам, в такой конторе лучше не работать, представляю что там за говнокод творится, если их интересуют такие вопросы. Ведь не спроста спрашивают же, наверняка постоянно на такие грабли наступают

У вас слишком бурная фантазия. Это абсолютно нормальный вопрос, который помогает понять, что соискатель знает о:
1) Наследовании и статике
2) Класслоадерах

И практика разговора по абстрактным темам применяется очень во многих конторах. Вон в "Работе" недавно был срач по поводу Яндекса и вопросов по сортировкам. Там сотрудники Яндекса публично признали, что никто руками эти сортировки не пишет в их продуктах, что естественно. Но ведь и сортировки спрашивают не для того, что бы их потом писать, а что бы понять, как человек себя чувствует, когда речь заходит об алгоритмах, видит ли он пути оптимизации, понимает ли он сложность алгоритмов и т.д.

А все вот эти разговоры про "неправильные вопросы" ведутся либо троллями, либо обиженными соискателями, которых послали куда подальше, либо же людьми, которые все воспринимают буквально, и не видят дальше своего носа.
Re[3]: Вопрос с интервью 2
От: Аноним  
Дата: 10.10.13 12:58
Оценка:
Здравствуйте, devcoach, Вы писали:

D>Здравствуйте, Географ, Вы писали:


Г>>Реальной ценностью сотрудника может быть только его способность реализовывать конкретные проекты, в более абстрактном смысле — проекты произвольной сложности. Что никак не определишь на собеседовании. Это выясняется только на испытательном сроке через 1-2-3 месяца. А вот перед ним можно попробовать только узнать образование, послужной список, задать пару вопросов по особенностям реализации своих проектов. Так можно понять, что кандидат не присвоил себе что-то в резюме. И далее только надеяться на лучшее.

D>Ну и бред вы только что сказали, аж стыдно за вас. Собеседование никогда не ставит перед собой целью на 100% отсеять неподходящих сотрудников, это невозможно в принципе. Собседеование ставит своей целью снизить риски, понимаете? Не избавиться от рисков, а снизить их. Или вы предлагаете верить на слово тому, что написано в резюме?

Ну так Географ сказал же что "проверить резюме". Зачем вот такие то задачки, они то что дают?

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


А вы видимо предлагаете на молоке срок годности QR-кодом дублировать, ну чтобы точно не прокисло, так чтоли?
Re[2]: Вопрос с интервью 2
От: avpavlov  
Дата: 10.10.13 13:02
Оценка:
поскипано много всякого бла-бла-бла

Г>Реальной ценностью сотрудника может быть только его способность реализовывать конкретные проекты, в более абстрактном смысле — проекты произвольной сложности


Множество людей, которые не могут ответить на простейшие вопросы по Яве, и множество людей, которые могут реализовывать "проекты произвольной сложности" не пересекаются. Во всяком случае, я не встречал ни одного человека, который принадлежал бы обоим множествам, если, не считать форумных хвастунов.
Re[3]: Вопрос с интервью 2
От: avpavlov  
Дата: 10.10.13 13:04
Оценка:
A> если, не считать форумных хвастунов.

быстрофикс
Re[3]: Вопрос с интервью 2
От: Аноним  
Дата: 10.10.13 13:04
Оценка:
Здравствуйте, avpavlov, Вы писали:


E>>PS Госсподи, судя по вопросам, в такой конторе лучше не работать, представляю что там за говнокод творится, если их интересуют такие вопросы. Ведь не спроста спрашивают же, наверняка постоянно на такие грабли наступают


A>С другой стороны? вопрос достаточно простой для Ява программиста, реально с Явой работавшего, а не написавшего "пару лаб в универе"


Он каверзный, как повезет, на нем может засыпаться и человек с опытом 15 лет, и пройти человек полчаса назад прочитавший туториал.
Re[4]: Вопрос с интервью 2
От: Vzhyk  
Дата: 10.10.13 13:15
Оценка:
10.10.2013 16:04, Аноним 376 пишет:

> Он каверзный, как повезет, на нем может засыпаться и человек с опытом 15

> лет, и пройти человек полчаса назад прочитавший туториал.
Что вероятнее.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Вопрос с интервью 2
От: devcoach  
Дата: 10.10.13 13:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ну так Географ сказал же что "проверить резюме". Зачем вот такие то задачки, они то что дают?

Конкретно этот вопрос дает возможность оценить, знания соискателя по класслоадингу, наследованию, и статическим членам класса. Ответ на один лишь этот вопрос ничего о кандидате не скажет, но:
1) Если задать еще 5-10 подобных вопросов, то картинка уже начнет вырисовываться
2) Ответы авиора на этот вопрос можно использовать для углубления хоть в класслоадеры, хоть в ОПП.
Re[3]: Вопрос с интервью 2
От: Vzhyk  
Дата: 10.10.13 13:17
Оценка:
10.10.2013 15:49, devcoach пишет:

> Вон в "Работе" недавно был срач по поводу Яндекса и вопросов

> по сортировкам. Там сотрудники Яндекса публично признали, что никто
> руками эти сортировки не пишет в их продуктах, что естественно.
Про Яндекс не надо с их странными собеседованиями. Они все под Гугл
косить пытаются, но с местными особенностями.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Вопрос с интервью 2
От: Vzhyk  
Дата: 10.10.13 13:20
Оценка:
10.10.2013 15:39, devcoach пишет:

> Собседеование ставит своей целью снизить

> риски, понимаете? Не избавиться от рисков, а снизить их.
Ну что, начнем издеваться. Сформулируй эти риски, а затем покажи, что
таким образом ты их снижаешь, а другими нельзя.
Хотя, что тут ждать ответа, на формулировке уже все поплывет.
Posted via RSDN NNTP Server 2.1 beta
Re: Вопрос с интервью 2 - экспертам
От: Аноним  
Дата: 10.10.13 13:25
Оценка:
Ок, я пытаюсь сломать проблему так


import java.io.IOException;
import java.io.InputStream;

public class TestClassLoader extends ClassLoader {

    @Override
    public Class<?> loadClass(String name) throws ClassNotFoundException {
        if (!name.equals("LoadedClass")) {
            return super.loadClass(name);
        }
        try {
            InputStream in = ClassLoader
                    .getSystemResourceAsStream("LoadedClass.class");
            byte[] a = new byte[10000];
            int len = in.read(a);
            in.close();
            return defineClass(name, a, 0, len);
        } catch (IOException e) {
            throw new ClassNotFoundException();
        }
    }

    public static void main(String[] args) throws Exception {

        Class cl = new TestClassLoader().loadClass("LoadedClass");

        System.out.println(cl.newInstance().getClass() == LoadedClass.class);
    }
}




public class LoadedClass {
    public LoadedClass() {

    }

    public void test() {
        System.out.println(getClass() == LoadedClass.class);
    }
    
    public String toString() {
        test();
        
        return null;
    }
}


Пишет false.

Когда я пытаюсь приблизить проблему к заданию и меняю в методе main output на

        System.out.println(cl.newInstance());



Пишет true. Почему?
Re[3]: Вопрос с интервью 2
От: elmal  
Дата: 10.10.13 13:26
Оценка:
Здравствуйте, devcoach, Вы писали:

D>А все вот эти разговоры про "неправильные вопросы" ведутся либо троллями, либо обиженными соискателями, которых послали куда подальше, либо же людьми, которые все воспринимают буквально, и не видят дальше своего носа.

Собеседование требует времени. Просто мельком по вершкам пройтись, узнать про кругозор, некоторые базовые знания, чем занимался, какие задачи приходилось решать — чаще всего займет более часа времени. Если задавать эти вопросы, то не останется времени на то, чтоб задать вопросы поинтереснее и которые более важны в реальной работе. А в реальной работе в 100 раз более полезен тот, кто умеет программировать, а не тот, кто знает тонкости языка и помнит наизусть алгоритмы. А в типичной конторе в основном все вопросы сводятся к знанию языка и внимательности. И потом удивляемся, а чтой то все глючит. Если есть тестовое задание, то оно тоже проверит знание конструкций языка и вообще хоть что то написать, и ничего более. И совсем не даст ответа на вопрос, сможет человек нормально работать, нужно ли за ним постоянно следить, чтоб он спагетти не городил, или же у него уже давно на автомате поставлена борьба со сложностью. Вот даже навык гугления, его никто не проверяет. Но он в тысячу раз более важен, чем сертификат OJCP. Ибо сотрудник, не умеющий гуглить, в миллион раз хуже сотрудника, который не знает что такое volatile. Ибо с неумеющим гуглить намучаетесь с черти как, а volatile далеко не факт что вообще придется использовать на проекте. До хрена тех, кто задачки на этих тестах решает на раз два. Но в коде такое пишет, что хочется застрелиться.

Сколько ни работал, я ни могу припомнить ни разу случая, когда какой то баг был бы из за незнания языка. 99% проблем кроется не в языке, а в том, что кто то в самом начале пошел по легкому пути и начал все делать в лоб, не думая. Нахреначит черти какой монолит, где все связано со всем, тронешь в одном месте, отвалится в другом. И потом хрен выправишь, и с этим дерьмом жить приходится годами. При изменениях проще переписать оказывается полностью с нуля, чем отрефакторить и хотя бы использовать предыдущие наработки. Пытаются вот таких на собеседованиях поймать? Хрен там!!! Всех под одну гребенку, вот вам тестик, если тестик прошел, покопаем поглубже по языку. Пройдет 3 часа, уставший как собака, и ты сидишь и думаешь — а за каким хреном ты 10 лет вообще в индустрии работаешь, за каким хреном книжки какие то читаешь, за каким хреном опыт вырабатывал, стремился участвовать в более сложных проектах. Когда как 10 лет назад твою квалификацию оценивали по знанию контракта иквалса и хешкода, и сейчас вопросы такие же. Ты на них даже отвечаешь, вот только запрашиваешь денег очень сильно значительно больше, чем 10 лет назад. Соответственно ты ответил на все вопросы, и студент ответил на все вопросы. Других вопросов не было, твои попытки перевести разговор на более интеллектуальные темы, где у тебя преимущество огромное перед студентом, были отвергнуты. Учитывая что и ты, и студент, тестировались только по идиотским тривиальным вопросом, но ты зарплату запросил в 5 раз большую, неудивительно что предпочтут взять студента. А то, что потом сроки полетят черти как, и обойдется это в 50 раз дороже, а не в 5 — это никого не волнует .
Re[3]: Вопрос с интервью 2
От: Vzhyk  
Дата: 10.10.13 13:26
Оценка:
10.10.2013 16:02, avpavlov пишет:

> Множество людей, которые не могут ответить на простейшие вопросы по Яве,

> и множество людей, которые могут реализовывать "проекты произвольной
> сложности" не пересекаются. Во всяком случае, я не встречал ни одного
> человека, который принадлежал бы обоим множествам, если, не считать
> форумных хвастунов.
Ты не прав. Я встречал немало людей, что плывут на собеседованиях, но
очень хорошие программисты. Не у всех программистов сильный навык
прохождения собеседований. И да, благодаря этому я набирал не раз
грамотных програмеров по дешевке.
Зачем человека доставать всякой фиктивной дребеденью, важнее дать ему
возможность раскрыться на собеседовании и рассказать о себе все.
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.