Тестирование и собеседование в GlobalLogic — Java Trainee (IRC6827)

Привет друзья!
26.01.2012 сходил на тестирование в GlobalLogic. Напишу свой небольшой комментарий.
Расположение GlobalLogic во Львове находится гораздо удобнее нежели SoftServe. Во всяком случае для тех, кто не живёт в центре. Здание с хорошим ремонтом, внутри почище. У меня опыт небольшой, поэтому сравниваю всё с SoftServe.
Встретила молодая девушка, а не бородатый уставший мужик как это было в SoftServe. Всего пришло три человека, один задрот (на внешний вид), другой тестеровщик и я. Слишком мало людей, было комфортно и уютно. Никто не приходил за своими забытыми ноутбуками, никто не располагался возле тебя программировать. Компьютеры не тормознутые, клавиатуры без кусков сала и грязи.
Позже к нам подсадили девочку, которая проходила тест QA. Обсудить варианты было не с кем.
Девочка каждому вручила инструкция на английском языке, пожелала всем удачи и удалилась из комнаты. Стандартная регистрация на сайте testbench.globallogic.com.ua с верификацией через электронную почту, после которой выбирается направление специальности и, в добрый путь.
Не знаю, почему в двух компаниях нравится IE6 версии. Могли бы для приличия установить Chrome.
Веб-тестирование сделано классно. Видно, что люди немного старались. Приятные цвета, шрифт, люди отнеслись с душой, а может быть над ними стоял инквизитор. :)
Всего 30 вопросов, все на английском языке. Вверху экрана висел таймер и подгонял к ответу. По-моему, на каждый вопрос давалось по три минуты. Не могу сказать точно, но возможность переносить вопрос в конец времени существовала. Я старался не экспериментировать. Ещё поставишь не там галочку и опять IE6 заглючит. Потом бегай, доказывай, что это Билл Гейтс во всём виноват. Если не успеваешь ответить на вопрос, автоматически неправильный ответ. Тестирование было жестче, чем в SoftServe. Тридцать вопросов, несколько вариантов ответов, английский язык — но гораздо интереснее. Вопросы были по Java, а не про то «можно ли сделать корове аборт». Всем кто собирается идти сдавать тестирование, советую себя попробовать на первых тестах в книге OCP Java SE 6 Programmer Practice Exams. Найти можно на просторах интернет.
Не понравилось только одно. В некоторых вопросах, в коде, было сбито форматирование. Плохо читался код. Не знаю, может быть это специально так.
К сожалению, я не могу привести все задания по памяти. Да и не буду этого делать публично, т.к. я прошёл по минимальному проходному проценту. :)

s018.radikal.ru/.../1201/cb/cd5132f8940f.png

Мне понравилось, рекомендую! :)))

====================================================продолжение=======================================================

Через пару дней, Anastasiya Mryglod помогла мне быстро оформить резюме и 31.01.2012 пригласили на техническую беседу.
Беседа проходила во втором офисе на Федьковича, неподалёку от офиса Softserve, где проходило тестирование в академию Softserve.
Анастасия рассказала какие условия ожидают стажёра. Милая, приятная девочка. ;)
Если коротко, приходить нужно 9:00-10:00, работать восемь часов в день. Один час даётся на обед. У обеда нет определённого графика. Хотите, обедаете в 13:00, если любите обедать позже, можете покушать в 15:00.
Работаете в комнате с командой, за стационарным компьютером. Если есть в чём-то неудобство (стул, стол, клавиатура и т.д.) сообщаете об этом при возможности происходит замена. В год выделяются оплачиваемых 20 дней отпуска. Ровно столько же можно взять за свой счёт. Вам оплачивают два вида «увлечений». Например, бассейн и тренажёрный зал.

После с ознакомления условий компании собеседование продолжилось с другим человеком — PM Владимир.
Он поинтересовался, почему я выбрал Java. Ну, а дальше, дал задание.

Честно, я до сих пор не понял. :)))) Понял, что ДАНО что-то связанное с буквами, которое нужно перевернуть местами. но не использовать String.

Задание нужно делать на листочке бумаги (сложно без IDE), видимо не в IDE дело, смотрят на логику.
Мне стрельнула мысль (LIFO) сделать через стек. Можно было использовать класс из библиотеки java.util.Stack, но был в ступоре поэтому начал описывать контейнер Stack
gist.github.com/a0ed02293679eebca78a
контейнер LinkedList позволяет заносить элементы в начало списка и извлекать их оттуда же. :) Вместо суффикса <t> фактический тип будет Character (т.е. по условию String нельзя использовать).
Хотя, опять таки? Тогда что дано если не строка? Я не поинтересовался почему-то. Дано — значит дано, начал использовать Scanner in = new Scanner(System.in); ввод из клавиатуры, а потом разбивать через метод toCharArray();
Должно было получится типа такого:
gist.github.com/92ebe81d13ba95095b16
Но к сожалению, не получилось, потому что Владимиру не понравилось, что я использовал стек.
Дальше, я попытался сделать типа такого:
gist.github.com/725cb432fa4e4f955d1b
Неудачный пример, потому что не понятно, что от меня требовалось. Когда я попытался вывести результат на экран System.out.println, попросили вернуть значения (сохранить результат в массиве).
Массив с заданной длинной 200 ячеек, большинство из которых не будет использоваться, а может и наоборот. Зато без использования контейнеров (динамического списка)
Но к тому времени, я был сбит с толку уже, поэтому забыл явно инициализировать массив, писать весь код в конструкторе класса. Хотя писать код на бумаге — это неудивительно.

Владимир дал явно понять, что мои способы его не устраивают, т.к. все приходящие студенты не заморачиваются со Scanner, Stack и т.д. Начитанный, но без практики. Студенты делают всё намного проще.
Может потому что я зачитался объектно-ориентированное программирование? :)))
Рекомендовал мне пойти в академию SoftServe и пройти у них курс. :))) Она преследует меня. :)))

Но больше всего меня удивило следующее. Задача стажёра, это сидеть три месяца в компании по 8-мь часов и получать свою практику. Из слов Владимира — дают какую-то часть программы, которая должна будет использоваться через полгода и, никого не будет волновать, напишет или не напишет, будет работать или нет. Следовательно, чем я не подошёл не знаю. Где теоретику набираться практики? Я пришёл именно по этому.

Продолжаю учиться, буду искать практику.
GlobalLogic(у) советую технические собеседования проводить более подготовленными. Это не претензия к Владимиру, я понимаю его. Зачем ему человек в проекте с которым больше возни, чем отдачи.
С условиями слишком плохо — дана строка, но не String, нужно Revert(нуть). Мало того что сидишь переживаешь, в голове крутится каша от знаний из учебника, так ещё и условия задачи понять сложно. :)))

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Лучшие комментарии пропустить

Астрологи объявили неделю Globallogic на DOU. Прирост Seniors вырос вдвое.

субъективно — это ппц. пару лет назад тоже пытался стать джавером через типа курсы глобала, только в киеве. печальная история. все эти попытки «научить» задачками, которые никогда не будут пользоваться в жизни (ну пилять накуя в реальной жизни нужно менять поряд хранения данных, если можно поменять порядок выборки?!) никогда ни к чему хорошему не приводили. только работа с живым кодом, пробы, ошибки за которые больно бьют и, естественно, подсматривание кода мэтров и его реюзание для собственныхнужд (в смысле копи-паст зен модифай зен оптимайз). вот путь настоящего джедая.
менторов, которые кидают падаванов только за то, что они сделали не так, как правильно по их скудному мнению, посылай в дальний пеший. они не достойны того, чтобы за ними следовать. нормальный тренер вполне может сделать из адекватного претендента приемлимого джуна или мидла за три месяца, если будет:
— выбирать задачи из тех, которые приходится решать в жизни
— грамотно формулировать задачи
— давать направляющие пинки в необходимую сторону
— проверять выполнение задач на соответствие требованиям, а не на способ выполнения
— разбирание полетов с тыканьем пальцем в проблемные области и объяснение почему это плохо (дать контекстную задачу для замера перформансов для разных способов реализации, например).
но таких тернеров я лично не видел, посему...
топикстартеру: забей на курсы и ищи _работу_. пара проколов на интервью неизбежны, но они укажут на тренды и пробелы в знаниях, где нужно подтянуться. как только попадаешь в среду, начинаешь работать работать работать, а еще пахать пахать пахать и естественно копипастить и апдейтить оптимайзить. месяц реальной работы заменяют по своей эффективности полгода тренингов. и это факт. не бойся быть уволенным, ибо твоя задача взять экспириенс любой ценой.

знаешь как 20 лет назад становились дизайнерами? приходили на интервью и били себя в грудь, «я все знаю и все умею» — в 9 канторах тебя посылали (после проверки), в 10-й давали шанс... и возьмешь ты свой пирожок экспириенса или оставишь лежать на полочке — зависит только от тебя

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

реалізація на Java. Швидше звичайно через StringBuffer=)

public char[] reverse (char [] c){

int f=0;
int l= c.length-1;

while(f<=l){

char first = c[f];
char last = c[l];

c[l]=first;
c[f]=last;


++f;
—l;

}
return c;

}

Ну, а дальше, дал задание.
Честно, я до сих пор не понял. :)))) Понял, что ДАНО что-то связанное с буквами, которое нужно перевернуть местами. но не использовать String.
в таких случаях нужно прямо спрашивать, что конкретно требуется. оставитель заданий тоже не всегда особо точен в формулировках

по-моему афтар уже давно забил на айти

попросили и меня сегодня на собеседовании строку инвертнуть ))) на посошок.
не в глобале.
ну собеседование ж — не на форуме трындеть ))) пришлось отвечать.
навскидку предложил из массива в стингбилдер напихать, читая с конца. а быстрее, спрашивают, можно? вспомнился данный форум и пример про цикл до серединки и тосование внутри массива., но смущал тот факт, что циклов вроде бы и меньше, но операций внутри побольше будет...

вернулся домой, решил замерить перфоманс для разных решений. решения получились такими

	private static String invertViaStringBuilder(String in){
		char[] chars = in.toCharArray();
		StringBuilder sb = new StringBuilder();
		for (int j = chars.length −1; j>=0; j—){
			sb.append(chars[j]);
		}
		return sb.toString();
	}
	private static String invertViaCharsReplace(String in){
		char[] chars = in.toCharArray();
		int len = chars.length;
		int maxindex = len-1;
		for (int j =0; j < len/2; j++){
			char c = chars[j];
			chars[j] = chars[maxindex — j];
			chars[maxindex — j] = c;
		}
		return new String(chars);
	}
	private static String invertViaNewCharArray(String in){
		char[] chars = in.toCharArray();
		int len = chars.length;
		int maxindex = len-1;
		char[] res = new char[len];
		for (int j = maxindex; j >= 0; j—){
			res[maxindex -j] = chars[j];
		}
		return new String(res);
	}

Соответствующий метод вызывался в цикле из 10 000 000 итераций для строки «abcdefghijklmnopqrstuvwxyz». результат получился такой (с учетом, что запускалось из под эклипса на нетбуке)

10000000 loops StringBuilder: 11326 msec
10000000 loops CharsReaplce: 10063 msec
10000000 loops NewCharArray: 5258 msec

Скажу сразу, стринг билдер меня удивил, не ожидал что объект с динамической размерностью проиграет тосователю чаров в массиве всего 10-12%. а победителем получился простой перекладыватель чаров в новый массив, причем со значительным отрывом. юзание памяти не мерял.

был еще вопрос с подковыркой. что напишет

		int[] array = new int[10];
		System.out.println(Arrays.asList(array).size());

говорю 10. а неправильно. оказалось, что эта сцука (Arrays.asList(array) которая) возвращает List<int[]> с единственным элементом внутри — чисто в соответствии с сигнатурой метода. пришел домой проверил. таки да.

но почему тогда

		String[] array = new String[10];
		System.out.println(Arrays.asList(array).size());

возвращает размерность 10? да шозафигня творится?!

Может потому, что каждый элемент массива является примитивным типом в первом случае, а во-втором каждый элемент это объект?

Это правильная работа? Я думал, что оно примитивные типы автоматически преобразует в объекты (класс-обертки).

Получается, что умники со вторым вариантом идут лесом, т.к. вариант в два раза медленнее. :D

Какие были ещё вопросы, можно узнать?

p/s: вообще, красиво Вас поймали. :) Век живи, век учись.
p/s: Не думал, что на форуме программистов будет столько багов. Дайте мне доступ, я пофиксю. Как раз практика будет в программировании. :D

забавно получилось. в том, что массив сам по себе есть объект (о чем сам узнал очень недавно) можно убедиться запустив простой тест типа

		int[] intArray = new int[10];
		System.out.println(intArray.getClass().getCanonicalName());
		System.out.println(Arrays.asList(intArray).size());
		
		Integer[] integerArray = new Integer[10];
		System.out.println(integerArray.getClass().getCanonicalName());
		System.out.println(Arrays.asList(integerArray).size());

на выходе получим

int[]
1
java.lang.Integer[]
10

налицо то, что массивы примитивов и массивы объектов обрабатываются(интерпретируются) конкретно взятой утилитой по-разному. в общем, из серии «надо запомнить»

upd: собственно, использование объявления массива в качестве типа для женериков достаточно ограничено и, в целом, экзотично (фриковато?)

например, я не могу сделать вот так

		List<int[]> iList = new ArrayList<int[]>();
		// or
		List<Integer[]> iList = new ArrayList<Integer[]>();
		// error: The type List is not generic; 

зато могу кастануть к уровню Collection вот так

		Collection<int[]> coll = Arrays.asList(new int[10]);

тогда название asList() вводит в заблуждение, ибо возвращает (судя по сырцам) объект собственного приватного класса (Arrays.ArrayList) наследника AbstractList, который не всегда кастится к List-y

забавно получилось. в том, что массив сам по себе есть объект

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

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

Разумеется, Руслан. :))))))

Всё, где есть слова new является объектом. Массив объект, но объект содержит в себе элементы примитивного типа. :) Arrays.asList() как раз работает с элементами.

По-поводу контейнеров, тоже надо запомнить:

class Shape {}

class Triangle extends Shape {}

;

Первый случай, неправильный

ArrayList<shape> shapes = new ArrayList<triangle>;

shapes.add(new Triangle());

;

Второй случай, правильный

ArrayList<shape> shapes = new ArrayList<shape>;

shapes.add(new Triangle());

;

На этом могут поймать. :)

Млин, сайт глючит нипадеццки. Его китайцы обслуживают? ^.-

имхо, не совсем удачная аналогия.

женерик типы (которые внутри <>) у меня одинаковые: слева такой же как и справа. вопрос в уровне абстракции самой коллекции.

... зла не хватает. Неужели не могут пофиксить теги?

Как раз читаю,
i32.fastpic.ru/...0eacdde7ccd.png
странно, что эта автоматическая упаковка, распаковка не работает для Arrays.asList()

посмотрел в исходники: там идет тупое преобразование динамического набора однотипных параметров в массив обектов

2826    @SafeVarargs
2827    public static <t> List<t> asList(T... a) {
2828      return new ArrayList<>(a);
2829    }
...
2834    private static class ArrayList<e> extends AbstractList<e>
2835      implements RandomAccess, java.io.Serializable
2836    {
...
2838      private final E[] a;
2839  
2840      ArrayList(E[] array) {
2841        if (array==null)
2842          throw new NullPointerException();
2843        a = array;
2844      }
...

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

В общем, Руслан. Кажется до меня наконец-таки дошло почему так происходит.
Метод Arrays.asList(); является параметризованным.
Параметризированные методы или классы не работают с примитивными типами, потому что все объекты, которые проходят очистку параметризации (ограничения типа <t>) фактически хранятся по типу Object. Соответственно, примитивный тип не может автоматически упаковываться в Object.
String — это объект, потому запросто может пройти очистку и храниться как Object, на выходе может вернутся через приведения типа обратно в String. :))

Эту тему я не сразу понял, когда читал Эккеля. Нужно прочитать ещё две книжки, и я раскрою для себя все тайны Java :)

Нашёл хороший сайт :) Можно потренироваться. :)

www.quizful.net/category/java

я не могу пройти даже основы Java. Много вопросов с изюминкой. :)))

У них большая база вопросов
www.quizful.net/test
Есть даже Sun Certified Java Programmer — SCJP 6
www.quizful.net/...t/scjp_3_java_6

Забудь про Java. Прочитай хоча б поверхнево Алгоритми Кормена. Якраз добре що GlobalLogic не відходить від практики перевірити «як ти пишеш код». Неодноразово помічав що — це дуже сильно корелює з тим, який код даватиме trainee/junior на виході. Задачі даються стандартні на розуміння базових структур даних і алгоритмів, зазвичай швидке сортування тебе ніхто не змушуватиме писати, але розвернути стрічку — це взагалі класика.

Дякую, при можливості почитаю.

Зачем решать задачу, так ещё какими то сложными способами, если ты не знаешь о чем она вообще. Нужно уточнять в чем суть задачи. Правда, я так понял, в таком случае могло выявится что ты не знаешь — что такое массив из char, и простые вещи верно. Это так в академии софтсерва учат программистов? И ещё, в следующий раз, постарайся нормально сформулировать мысль в посте, а то не понятно что ты им хочешь нам сказать, пожаловаться, или спросить помощи?

При чём тут SoftServe?

Я рассказываю, как прошло у меня собеседование :)

Вообще, книги по программированию (русского издательства) покупать на zubrilka.com

Дешевле всего. :)

p.s. Пока хватает литературы с которой надо разбираться. :) Уже начал параллельное чтение паттернов. :)

Вообще, книги по программированию (русского издательства) покупать на zubrilka.com

сравните цену
zubrilka.com/details/2048 — 400грв
и амазон где она 27 баксов стоит.
www.amazon.com/...28313321&sr=1-5

Издатели просто ох%%%ли

Вы неправильно сравниваете.

Я думаю, что русское издательство отчисляет процент за печать каждого экземпляра этой книги, в добавок, они переводят её на русский язык (1200 страниц). Разница в цене 24 доллара за книгу, не так уж много.

С появлением электронных книг они могли бы сделать лёгкую продажу e-book. Всё равно, как показывает практика, люди сканнируют и выкладывают в сеть.

Могли бы от рекламодателей денежки собирать вставлять рекламу в электронный экземпляр.

Электронная книга мне понравилась, хорошее качество и от лёгкости в руках.

Нет, же... наши продолжают печатать эту макулатуру за 400 гривен.

zubrilka.com имеет самые дешёвые цены на книги по программированию в Украине.
Например, Совершенный код (Макконел)
zubrilka.com.ua/details/141
www.bookzone.com.ua/...ogue_30472.html
Я понимаю, что разница в цене для зарплат программистов просто смешная, но всё таки... переплачивать 50 грн за разницу в сайтах...

В общем, рекомендую.

купите еинк с большим экраном, книжки скачайте. Если активно читать, то цена читалки отбивается на 10-15 подобных книжках

Всегда интересовался какая читалка лучше всего подойдет для чтения именно технической литературы (т.е. pdf, djvu и т.п. форматов, в которых ее чаще всего выкладывают)?

Я дарил бюджетную версию PocketBook 611.
deshevshe.net.ua/...te_pb611mw.html
Понравилось всё, заисключением размера экрана. Себе взял бы с экраном 9″.
deshevshe.net.ua/...o_902_grey.html

Кушает все форматы.

kindle DX. есть еще покетбуки такого размера. но цена на них неоправдано завышена. киндл проще всего купить бу на ебеи.

Kindle не кушает DJVU, у него вообще ограничены возможности AZW, TXT, PDF, MOBI, PRC;

Читал комментарии многих, говорят надоедает конвертировать, а иногда и конвертация не устраивает.

Признаться честно, вчера полазил по интернет-магазинам книг. Нашёл привлекательнее предложение чем в zubrilka.com.ua.
По-моему цены ниже:

www.books.ru/...-850800/?show=1

p/s: оказалось что там цены без учёта доставки. :)))

Компьютерные сети. Эндрю Таненбаум, Дэвид Уэзеролл — 319грн. На книжковому ярмарку у Львові я дав за неї 165грн. Правда то була у них остання книжка...

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

И ещё, неудавшийся джун, который что советует компании — это полный ЛОЛ. Много гонору, таких не любят.

и переставить задом наперёд массив чаров

решается рекурсивно.

Уж не любитель ли вы лиспа?

З.ы, так чтоли? (concat (reverse (append «string» nil)))

Нет. С лиспом вообще не знаком.

Так не будет работать, append со списками работает, а «string» нифига не список :) В CL будет скучный (loop ...) или (do ...)

Ах, пардон, конечно, concat же ...

решается рекурсивно

мусье знает толк в извращениях ©

а используя не менее 42 классов?

Как хотите. Вообще, самое простое решение — использовать другой массив, размером в половину переставляемого, как буфер.

Э.. м.. что-то я как-то струдом представляю это самое простое решение..

Почему в половину? а в 1\4 не подоёдёт?

Про джунов и раздражение всё правильно.

Раздражение может вызывать, если человек приходит в компанию, ничего не знает и требует минимум, чтобы ему платили 400-800 USD.

Я сказал на собеседовании, ок — меня вполне устраивает Ваше предложение, хотя я готов работать бесплатно в период стажировки.

Чтобы говорить, правильно или нет, нужно для начала со мной поработать.

Если Вы по каждому пустяку раздражаетесь, боюсь Вам нужно обратиться к врачу и завести себе женщину, хотя бы резиновую. :)))))

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

Они это...постесняются такое попросить у продавца.

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

Что б я ещё раз спросонья каменты писал. Вы правы, проще всего, использовать один цикл и один чар.

)) лично я ничего не хочу, и для меня единственно правильным решением подобной задачи является встречный вопрос «а зачем?». ибо больше всего я ценю в людях подумать прежде чем делать. однако если некто навскидку предлагает обработать линейную структуру данных рекурсивно, это говорит скорее о том, что объект исследования либо не знает что такое рекурсия, либо не знает о существовании циклов.

Где теоретику набираться практики?

Придумать что-то свое не очень сложное, и сидеть пилить. И читать / гуглить параллельно. Ну а какая разница — практиковаться в компании, или на своем микропроекте. Если, конечно, не стоит цель устроиться за деньги.

Да, уже нашёл программиста. Попробуем сделать с ним мини-проект. :)

Спасибо за отзыв.

имхо вариться в собственном соку еще хуже, чем ходить на курсы. можно долго ходить кругами и даже не догадываться, что есть такие прикольные штуки (паттерны) как фабрика, обсервер, прокси и (my favorite) синглтон. работа в команде не только лучше мобилизует, но и дает практику непосредственно процесса. одно дело дома в теплых тапочках на мягком диване, другое — за тесным столиком, на сквозняке и под бубнежь коллег о великах, зеркалках, америках-европах.

До набора следующих курсов в <epam> ещё много времени.
Мне советуют сделать мини-проект. Возможно, эта работа удовлетворит <epam>, чтобы сразу же взять меня на работу.
Буду обязательно читать книгу Фримана, «Паттерны проектирования» как только разберусь с ещё несколькими важными темами в Java.
Пока нашёл короткую статью на хабре:
habrahabr.ru/...ramming/136766

Спасибо за Вашу заботу.

осмелюсь еще порекомендовать Clean Code (выглядит вот так www.amazon.com/...p/dp/0132350882, где найти, думаю разберешься)) — это «что такое хорошо и что такое плохо» для программиста. если останется время или параллельно, в перерывах между другими джава буками )) имхо, учиться лучше на хороших примерах, чтобы потом меньше пришлось переучиваться. удачи.

А когда набор начинается?

Не знаю, но не скоро. Курсы только начались. Уже прошло несколько занятий.

Вам актуально? Когда узнаю, могу сообщить.

пожалуйста, дайте знать!

Взагалі, запитати можете за посиланням що вказно нижче, якщо я не згадаю про Вас :)))
www.epam-group.ru/...raine-lviv.aspx

Анатолій Батюк.

только сейчас понял, что вы из Львова. А я из Киева. Значит, в другой ЕПАМ придется пробовать. Все равно, спасибо!!

Эм, не за что. :) Если кого-то интересует информация про <epam>, ко мне пришёл ответ

Якщо цікавить навчання в нашій лабораторії, то присилай резюме.

Для навчання мови Java потрібно пройти вступне тестування.

Після 20 квітня заплановано тестування для набору в групу, що почне навчання в травні-червні.

Тестування на наявність в людини інтелекту (здатності творчо мислити), однак для набору в цю групу потрібно ще дві речі:

1. трохи знати мову Java (можна почитати “Філософію Java”);

2. бажання працювати в ЕПАМ.

З 15 квітня прошу уточнювати дату проведення тестування.

Якщо будуть запитання, то мій контактний телефон — 067 301 84 85.

Не знаю, конечно, времени ещё вагон. Постараюсь к этому времени сам как-то подтянуться.

Полностью согласен. В этот то и прикол — где набраться опыта примения этих прикольных штук. На курсах учат только кодировать. В книгах о патернах описываются патерны и т.д. А вот как собрать это всё вместе. Этому нигде не учат.

В книгах о патернах описываются патерны и т.д. А вот как собрать это всё вместе.

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

Что там в собирании вместе всего этого такого непонятного, я не пойму.

Вопрос в том, в каких местах их использовать. По большому счёту — прожить можно и без них, но... Любое использование каких либо конструкций и алгоримов должно быть оправдано. В небольших задачах, особенно, если пишешь сам, все эти патерны можно проигнорировать. Это как детали сложной машины — ты их видишь, понимаешь как они работают, но где и как их использовать в общем механизме понятия не имеешь

Вопрос в том, в каких местах их использовать.

Вот для того мозг и есть. И ассоциативное мышление внутри него.

где и как их использовать в общем механизме понятия не имеешь

Ну а попробовать, ептыть?

Ответ понят: Тыкать куда ни попадя!

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

Откуда такой снобизм и хамство? Наличие опыта в джаве вам как человеку не даёт никаких «очков», чтобы с таким снисходительством разговаривать с людьми.

Если вы будете требовать каждый раз, чтобы вам еще и говорили, куда какой паттерн применить, то с таким же успехом можно сделать всю работу за вас, без вас и зарплату вашу забрать себе. Capisce?

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

Я перечитал всю эту фигню. Общее впечатление, что зажрались вы все. Человек, 29 лет, не дурак абсолютно, просто немного хромает в предметной области. Я считаю, что надо было дать ему шанс. Через год-полтора он бы обошел многих, работая в команде и перенимая опыт. Мы просто все боимся конкуренции и за свою жопу. В результате смотрим на DOU интервью прожект менеджера девушки с педагогическим образованием, которая вообще далека от сути вопроса. Макс, это к тебе, припоминаешь?

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

Ах как легко когда ничем не отвечаешь!

Как по вашему зачем проводят собеседования? Любой кто смог закончить профильный ВУЗ уже не дурак, а половина из них таки очень перспективны. То мо просто по диплому КПИ будем на работу принимать? 5000 человек в год — это ж какие темпы роста!

Человек, 29 лет, не дурак абсолютно

Вопрос чем он такой умны занимался с 18 лет? Почему через 9 лет обучений и занятий он ищет работу (работу начинающего) в предметной области где он

немного хромает

?

Может решил человек сменить сферу деятельности по каким-то нам неизвестным причинам...Я же не спорю. Этот вопрос уже поднимался не раз: «Есть ли жизнь в IT после 35»

Я совсем о другом.

Человек, 29 лет, не дурак абсолютно, просто немного хромает в предметной области. Я считаю, что надо было дать ему шанс.

Почему ему, а не студенту 4-го курса? А то «дурак/не дурак» (читай: «подходит/не подходит»), для этого и проводятся собеседования.

А если уж говорить:

«Есть ли жизнь в IT после 35»

Просто как правило это не джуниорская жизнь :)

Вы правы. В этом случае нужно fluent english досконально и PMBOK — сразу PM-а через знакомых. Матчасть по ходу подтянется, если, конечно, не дурак. Просто заметно так не будет. Я считаю, что это вполне реальная перспектива.

Любой кто смог закончить профильный ВУЗ уже не дурак
нет, извините

Каким боком тут предметная область, если человек простейшую логическую задачку не то что решить не может — а условия ее не понимает?..

не знать о чем переворот строки в 29 и при этом еще пытатся изображать из себя програмиста- вот это да пипец. Полный и лютейший.

Это все равно что член на лбу отрастить и возмущатся что для рекламы средств от прыщей сниматся не дают.

Общее впечатление о авторе — обьевшийся юношеского максимализма молодой человек, не воспринимающий критику и советы.
На то она и компания-работодатель, чтобы найти начинающего сотрудника соответственно своим требованиям. Автор, если бы вы были так правы, как считаете, вы бы нашли способы пройти предложенные испытания.

Покажите цитатами, где я пишу, что я прав или прав кто-то другой?
Я описываю случай для тех, кто собирается идти моей дорогой в эту компанию. Я не прошу людей дать мне совет, рассудить ситуацию и выразить свою правоту. :)
Критикуют меня и не понятно по какому поводу. Я же говорю, изначально, что я читаю Экелля и пока остановился на Exception. Дальше меня ждут темы, Generics, Thread.

Я утверждаю, что у меня нет практики и я хотел бы её получить. При этом говорю, что готов работать даже без зарплаты.

Мне дали возможность сдать тестирование и пройти по минимальному баллу. Мне дали задачу, я решаю её своим способом.

Для меня Global Logic, это опыт. :) Не получилось — продолжаю учиться дальше.

Мне скоро 29 лет. Я имел опыт уехать в другую страну и жить там четыре года без родителей и родственников. Когда меня учат жизни, простите, срываюсь. :)))

Я говорю, что когда шёл на собеседование даже не рассчитывал, что меня возьмут. :)

Начните читать последовательно, а не по диагонали, тогда у Вас будут правильные выводы. :)

Сорри за нескромный камент. Но если вы знаете иврит, то пробуйте вщемится в кантору с израильским заказчиком, это вам будет мега плюс. Тода.

Пока у меня нет практики и я не умею программировать мне без разницы где работать. :) Израильский заказчик с успехом будет разговаривать с нашими на английском языке.
Когда наберусь опыта — год, два года, тогда мне есть смысл уехать обратно в Израиль. Мне ничего не мешает.

Спасибо за идею. :)

Вас можно забросить в тыл как шпиона.

Мы уже по всюду, не переживайте. :)))

меня тоже как то спросил препод: «ты еврей?»)

забросить в тыл? предлагаете его програмером в каир оправить? :)

С удовольствием поеду в ОАЭ, Дубаи

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

Вы о чём вообще? У меня нет никаких виз, они мне не нужны.

А они отказывают во въезде лицам с Израильской визой. А раз уж вы гражданин Израиля — то тем более. Знаю один случай, знакомый летел в Мельбурн, с пересадкой в Дубаи, хотел выйти погулять по городу, пока есть время. Его не выпустили из отеля.

Ребята, Вы разговариваете о своём.

Если я полечу в ОАЭ то, это будет разумеется украинский заграничный паспорт без всяких израильских виз. :)

зря вы отбрасываете этот совет.

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

Програрамистам здесь иврит на самом деле практически не нужен. Противоположная сторона как правило хорошо говорит на английском или русском. Чтобы «монетизировать» знание иврита, нужно искать работы в других областях. В прошлом году слышал от товарищей которы думали свалить из земли обетованой, про вкусные вакансии в Чехии и Польше, не уточнял, но вроде айтишник в финансовые фирмы, тесно работающие с Израилем.

Так у Львівського Глобала якраз більшість замовників з Ізраіля. Проте все таки розмова з ними англійською в більшості.

Хто такий Alex Agizim?

Знаковая фигура — один из основателей инобжекта — очень хороший мужик — он мелькал на видео про глобалложик. Цимес в том что будучи «нашим» — живет в Земле Обетованной — говорит с характерным говором что придает особой пикантности. Редкого калибра профи.

Я перечитал всю эту фигню. Общее впечатление, что зажрались вы все. Человек, 29 лет, не дурак абсолютно, просто немного хромает в предметной области. Я считаю, что надо было дать ему шанс. Через год-полтора он бы обошел многих, работая в команде и перенимая опыт. Мы просто все боимся конкуренции и за свою жопу. В результате смотрим на DOU интервью прожект менеджера девушки с педагогическим образованием, которая вообще далека от сути вопроса. Макс, это к тебе, припоминаешь?

Большое спасибо за тёплый отзыв!
Вы хороший человек.
Обнимаю.
#^.^#

Ладно... Напали на джуниора и со всех сторон его критикуете. Человек просто хотел поделиться эмоциями. Это кстати извечная проблема с отношением к джуниорам у большинства: если молчит и просто делает свою работу — значит неинициативный и нет шансов быстро продвинутся дальше по карьере, а если слишком много говорит и спрашивает — тоже непорядок, потому что это отвлекает и создаёт помехи остальным в команде... и.т.д.

Учитывая то что золотой середины как всегда не существует, я бы всё-таки посоветовал здесь ближе к «тихому варианту» — без спама и разборок на форумах после каждого собеседования. Хотя бы 1 год просто активно (молча) покодить на джаве — не важно на каком проекте и в какой компании. Это очень сильно поможет не так эмоционально воспринимать любые технические задачи, не только собеседования.

Да, и ещё кое-что...

Мне скоро 29 лет. Я имел опыт уехать в другую страну и жить там четыре года без родителей и родственников. Когда меня учат жизни, простите, срываюсь. :)))

Вот такое вот лучше не говорить — ни на собеседовании, ни на будущей работе. Любой сеньйор, который будет вас менторить, после первого же подобного высказывания пошлёт вас подальше и будет прав. Нужно быть готовым к тому, что будут учить и технической части и жизни тоже. Ведь опыт у вас пока что близок к нулю... несмотря на то что 29 лет. Так что учится и ещё раз учится, даже несмотря на то что это может быть не очень приятным. Да, и кстати, вот этот тезис тоже наверное уже давно неактуален...

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

В наше время каждый второй жил и работал заграницей... так что лишний раз на этом не стоит акцентировать внимание.

Большое спасибо за тёплый отзыв!
Вы хороший человек.
Обнимаю.
#^.^#

Да, у Олега есть такой баг, по-доброму относиться к джуниорам.

Угу,

А когда джуны набыдлокодят, и уйдут домой, а кастомер станет анхеппи, то естественно это твоя проблема.

шо то я не помню, чтобы ты правил код джуниоров по ночам, когда проект пролетел все возможные сроки :)

Вот именно.

Потому что правильно мотивированные джуниоры быдлокодят меньше.

О, я таки знал что ты из наших.

наши? это те те кто в 90х за 200баксов из «Олеся Гупало» стал «Ори Глашером»?

а быдлокод, сгенеренный синьорами, перестает считаться быдлокодом?

Быдлокод сгенерированный синьорами обычно сложнее и запутаннее :)

Согласно правилу дуализма вещей, любой совершенный код является и быдлокодом одновременно :)

Я отношусь к себе достаточно критично.
Поэтому, пока не сдам первый экзамен на сертификацию не буду себя считать Junior(ом).

так сядьте и подготовтесь к нему, нафиг флеймить на форумах?

Вы думаете, чем я занимаюсь в 2:52 ночи?

Оказывается, сижу и разглядываю OCP Java SE 6 Programmer Practice Exams

если мне память не изменяет, некоторые вопросы по тестированию GL были взяты из этой книги. Я зря делал замечание, что у них сбито форматирование.
s018.radikal.ru/...91a99cbeaaa.png

оказывается, что оно сбито и в книге. Значит специально, чтобы внести путаницу. :)

Нужно быть готовым к тому, что будут учить и технической части и жизни тоже.
лично я не готов к тому, что меня еще и жизни учить будут. и готовиться даже не собираюсь. мне скоро 50 @#%еать!!!!!111 © (вру конечно) а в пионэры меня на красной площади принимали.
мне скоро 25 и

@#%еать!!!!!111

)

«Книги, которые стоит читать в IT»

catap.ru/...it-chitat-v-it

Programmer Competency Matrix

www.starling-software.com/...ncy-matrix.html

33 пункти
«Теоретический минимум для программиста»

sharpc.livejournal.com/67583.html

І якщо у вас після перегляду 3 лінків ще з’явиться бажання щось сказати про 1 (один) нереалізований алгоритм reverse...

... то нічого хренового не станеться. Все одно з нашим то ринком будете 23-річним сіньором з завищеним самомнєнієм, такова пічялька селяви.

===
<b>ето інтєрєсно</b>

опосля редагування модерами мого коммента і викидання цитати проф. Преображенского, тред набуває цікавого забарвлення :-)

поправь корону- сползает :-)
У меня нет притензий к алгоритму и к его знанию. У меня есть претензии к людям, которые утверждают, что без знания этого алгоритма я не программист. Вот и всё.
Все эти задачи преподаются в институтах, чтобы развить логическое и алгоритмическое мышление, все это проходят. Но помнить всю жизнь, как «отче наш», не вижу смысла. Более того, ни разу в жизни не видел им применение.

З.Ы, Цитата не уместна, с попыткой оскорбления. Мне есть что сказать и слушать генераторов «пилять» считаю ниже своего достоинства (тут и виден ваш уровень).

У меня нет притензий к алгоритму и к его знанию. У меня есть претензии к людям, которые утверждают, что без знания этого алгоритма я не программист. Вот и всё.
Цей алгоритм не треба знати. Його можна і треба реалізувати при наводящих питаннях.
Показати, що у голові шурупається щось, а не ставати в позу.

Все эти задачи преподаются в институтах, чтобы развить логическое и алгоритмическое мышление, все это проходят. Но помнить всю жизнь, как “отче наш”, не вижу смысла. Более того, ни разу в жизни не видел им применение

Задачу та її розв’язок не обов’язково пам’ятати. Достатньо її розв’язати при наводних питаннях.
Показати, що у голові шурупається щось, а не ставати в позу.

Це й перевірялося.

І на закріплення матеріалу — "

вам нужно молчать и слушать
"

Только не позволяйте себе так говорить при личной беседе.

Що саме вас зачепило?
Про «молчать и слушать»?

Це дуже цінна рекомендація. Молодші від мене про це забувають і люблять мене повчити жизні. Страна Советов ©. Денервують.

Старших і досвічених я залюбки слухаю, та й вам рекомендую.

Не подобається — пропускайте повз вуха і переходьте до 3 лінків і рекомендацій по показуванню шурупання мозками.

Пози будете показувати пізніше, коли у вас буде порядний профайл у LinkedIn.
А краще цього не робити.
Мовчати, слухати, «лупайте ж сю скалу», вчитися і ще раз вчитися.
Вам ніхто нічого не винен.

Не взяли на Глобал — візьмуть ще кудась, тільки не ставайте у позу, ви поки що нуль (і самі це знаєте, це не образа, це так є).

В Ваших сообщениях сплошное пустословие и хамство, которое меня мало интересует. :)

Всего хорошего.

І ви теж далеко підете зі своїм гонором.

Всього хорошого.

Украинские конторы зажрались уже...watch and observe грядет вам коллапс кадров...допрыгаетесь...

У них сейчас бум и эйфория. Им кажется, что ухваили бога за бороду. Прийдёт время и разочарований. Они это отрицают, как дети отрицают, что придёт старость. Но страшнее всего за тех молодых людей, которые считают, что они уже сдалали свою жизнь (молодые ПМ и сеньёры) — они то и попадут в жернова. Уже слышны плачи и стоны о стеклянных потолках, невостребованости сеньёров и непонимания, что же дальше делать. Желаю себе ошибиться в этом вопросе, но резкий взлёт в 99% грозит резким падением.

Глупая задачка, лучше уже написать так:
public _strrev
_strrev proc \
uses edi esi, \
string:ptr byte
mov edi,[string]
mov edx,edi
mov esi,edi
xor eax,eax
or ecx,-1
repne scasb
cmp ecx,-2
je short done
dec edi
dec edi
lupe:
cmp esi,edi
jae short done
mov ah,[esi]
mov al,[edi]
mov [esi],al
mov [edi],ah
inc esi
dec edi
jmp short lupe
done:
mov eax,edx
ret
_strrev endp

end

Я бы такого умника не взял, даже если код правильно работает :)

Чему завидовать? Если кто-то думает, что он напишет код на асме лучше и оптимальнее, чем то что можно получить компильнув код на сях, то он слишком высокого о себе мнения. Затратит времени больше, багов будет больше, поддержка кода — мега сложная. Поэтому такие умники сразу идут лесом.

чтоб писать код на АСМе надо иметь мега мозги =)))) Не обезательно писать на АСМе можно и на С\С++ и так далее.... НО если можешь то же написать и на АСМе то да ты реально крут =) Вот потому тебе изавидно =)

Какие мега мозги? Аб чём речь? Потратить полчаса чтобы строку перевернуть? Асм нужен в исключительно редких случаях и только при работе с железом. Да, сам писал на асме и немало, так что завидовать как бы нечему :)

А вы, батенька, хам, я конечно понимаю что у некоторых людей есть комплекс неполноценности, но вы его попытайтесь компенсировать с женой, если сможете ;) И с вы взяли что я это писал чтобы посоревноваться с компилятором? Я решил решить низкоуровневую задачку, по настоящему низкоуровнево. И писал я ее минут 5, это

учитывая что я на работе всегда писал на java.

ну а с какой целью вы на асме написали? Умом блеснуть? Считайте что попытка ваша произвела впечатение, но не на всех. Про комплекс неполноценности — утешайте себя :)

Кацман, вот вы только говорите что хотите «зеленый язык» (или «звезду давида»), а человек делом занят:

чтоб писать код на АСМе надо иметь мега мозги =))))

:)

чтоб писать код на АСМе надо иметь мега мозги

e-регистров нет в 8086, одном из самых первых процов. так что ваш код не универсален, и идет лесом :) Пишите на сях — не ошибетесь

1. код не мой

2. я про АСМ вобщем

чтоб писать код на АСМе надо иметь мега мозги =))))

Ха, ха, асм вообще самый простой язык, стоит лишь потратить жопо-часы для изучения основ. У меня в одной конторе (давным давно) электронщики железячники писали и на x86, и на С51. Они вообще программировать практически не умели, но про регистры и порты I/O знали, базовые навыки написания условий циклов и подпрограмм имели и все.

дай угадаю ты .NETчик или ПХПист? =))))))

ничего против .НЕТ не имею :) просто .НЕТчики и АСМ не очень совместимые вещи =))) ИМХО, ничего личного :)

Дорогой, я первую прогу написал в hex кодах на 8080, и не как упражнение, а по необходимости. Затем был этот же 8080, Z80, x86, C51 и чуток ARM. На этом форуме есть люди, у которых аналогичный список во много раз длинее.

Поверь мне, все асмы плюс/минус одинаковые, писать на них проще, чем на C, только дольше. Нюансы железок могут быть сложны, а сам асм нет.

Так что если душа лежит к ассебмлеру, то не майся фигней, а изучай ассемблер MIX, в Кнуте для тебя тонна упражнений, будешь круче всех.

Просто интересно как он будет из БД данные вычитывать и отсылать клиенту :)

Ну или на крайняк как он прикрутит этот ассемблерный код к джава программе и будет гарантировать ее переносимость (бинарную).

О чем вы? При чем тут БД? По моему на листочке пишется сферическая задачка в вакууме, абсолютно абстрагированная от чего либо.

С какой целью она пишется?

Узнать то насколько хорошо будущий джава программист знает какой-то ассемблер (судя по коду это не 8086)?

Кстати, вы являетесь автором кода который привели в своем комменте или нагуглили например это www.hackchina.com/...TRREV.ASM__html и просто решили выпендритсо?

хєх. по моему личному мнению, чем хуже контора, тем более идио-тский прием на работу.

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

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

Дайте адресу будь-ласка. Треба завітати у нормальну компанію. :)))

Надо ли это понимать так, что для найма программиста оптимально вообще никаких вопросов на тему программирования не затрагивать?

Я бы сформулировал так : нужны задачи в которых испытуемый пробовал придумать какой-то алгоритм, чотбы показать умение это делать, а не показать свою эрудицию на знание всех классических алгоритмов. Но это только моё субъективное мнение.Оно основано на том (в моей практике), что 99,9999% трачу как правило на задачи связанные со структурой постоения данных и алгоритмизации бизнес-процессов. Могу сказать, что ни разу не использовал какие-либо классические алгоритмы. Моя задача как разработчика — удовлетвоить потребности заказчика, оптимально управляя ресурками системы. Кому из нас в жизни пригодились знания математической физики или теории относительности Энштейна. Просто есть период в жизни, когда это надо пройти. Вот и смотрите по резюме: какой ВУЗ, какая специальность и какие оценки. Иначе зачем вы просите меня это указать?

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

То есть Вы предлагаете задачу собеседуемого еще усложнить — в описанном примере ему ПРЕДЛАГАЛИ ПРИДУМАТЬ КЛАССИЧЕСКИЙ АЛГОРИТМ, который очень вероятно, что он знал, и, придумывая, мог вспоминать.

А вы предлагаете ПРИДУМАТЬ КАКОЙ-ТО АЛГОРИТМ, не классический и неизвестный. Да, такие юниоры всем нужны, мало их только очень.

Алгоритмы решения задач такого уровня сложности, как предложенная на обсуждаемом собеседовании, любой даже начинающий программист должен придумывать на лету и для этого вовсе не надо быть знакомым с 3-мя томами Кнута...

В данном конкретном случае неудачу автора можно оправдать лишь излишним волнением.

Да начинающий, вчерашний студент. Он обязан знать хотя бы это.

Вообще легко использовать глагол «должен», а что должен закончить ПМ или тимлид, чтобы руководить людьми? Или может он априори гениальный руководитель?

Давайте оставим в стороне классические примеры. Я уже писал, что никто и ни где не реализует эти примеры (по крайней мере в моей практике). Получается их надо учить только, чтобы пройти собеседование? Дайте простую задачу и посмотрите как он еёрешает. Проблема в том, что при этом и экзаминатор должен напрягаться и пытаться понять ход мыслей испытуемого.

Предложите, пожалуйста, конкретный пример такой простой задачи, которую лично вы считаете подходящей в данном случае.

Что касается, темы, заданной автором, то ему нужно, на мой взгляд, просто предложить ту же задачу, только в том варианте, который обсуждается здесь: а именно. Имеем «дана строка, но не String, нужно Revert(нуть). » меняем на условие : «дан массив A[], Надо, не используя другого массива, написать алгоритм реализующий Revert». Это собственно, то на что заострял внимание автор — он не против того, чтобы он знал этот алгоритм, он сетует на то, что его сбили с толку. Все же дискусии на этой ветке, о том, что он не умеет развернуть массив. Мне кажется, что если бы ему дали это условие, то как минимум он бы не был в претензиях к экзаменатору. Можно ведь и так закрутить: есть некоторые данные, необходимо данные инвертировать. Одно определение «дана строка, но не String» уже пахнет какой-то бредятиной: напиши чем представлена твоя строка: массивом, стеком, очередью, файлом, .... Т.е. речь больше о том, чтобы описать общими фразами любой (даже классический) алгоритм и посмотреть как работает логика. Я с института помню такую маленькую, но прикольную задачку, Она не сложная, но сразу показывает как у человека крутятся шарики: Две переменные с числами — поменять их местами, не прибегая к третьей переменной. Просто! Но у человека с отсутствием логики и вариантности мышления, вызовет ступор. Не пытаться доказать, что человек тупой, надо попытаться оценить его уровень и потом уже решать нужен ли тебе такой уровень и нет. Я сам бывал на собеседовании у молодых ПМ, атмосфера примерно такая : сейчас я буду доказывать, что ты ничего не знаешь.

Денис, у меня нет претензий к экзаменатору.
У меня остался неприятный осадок, зачем компания делает тестирование по основам Java — 30 вопросов и ставит маленький проходной балл.
В условиях, сказано, что иметь практику программирования необязательно.

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

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

Я свои возможности оценил до того, как пошёл на собеседование

s018.radikal.ru/...a1f6d00e7c7.png

Когда я буду сам уверен в своих знаниях, тогда я не буду готовым работать бесплатно или за 200 баксов. :)))

P.S. Спасибо за поддержку. :)

В условиях, сказано, что иметь практику программирования необязательно

Я думаю, имелось в виду, что человек не имеет опыта программирования в реальных коммерческих проектах. Брать джуна или трейни без вообще какой-либо практики программирования (хотя бы своих лаб и маленьких приложений для себя) — это явно не цель компании.

На сайте одна информация, в скайпе чуть-чуть другая.
s005.radikal.ru/...0f411e1689e.png
Где по Вашему взять опыт?

По-моему наивно предполагать, что человек с опытом будет отзываться на вакансию стажёра за 200 долларов.

Может поэтому вакансия открыта с октября прошлого года?

Эм, не вижу противоречия. «Опыт работы не обязателен» — имеется в виду опыт работы в коммерческом проекте, в команде. Но отсутствие опыта работы не означает отсутствие практики программирования как таковой. Я, собственно, не рекрутер и не знаю на 100%, что они имели в виду. Но за 3 месяца наработать с нуля практику программирования как-то сильно оптимистично)))

В чём разница между практикой программирования и работы в коммерческом проекте?

Как Вы понимаете — практика программирования?

ИМХО, практика программирования — это создание работающих программ. От простейшего калькулятора до чего угодно. Естественно, что практика программирования появляется при работе в коммерческой компании. Однако если человек не работал в реальных проектах, но написал свой небольшой сайт, или игру, или аналог тотал коммандера (любимая задача разных учебных курсов))), или многопоточное построение графиков — это и есть практика программирования. От нее до реальной коммерческой работы еще как до звезд, но основные шишки уже набиты самостоятельно. Как-то так.

Чувствую скоро можно будет вернутся к разговору о бесполезности и ненужности нашего образования

Ы))) я раньше была «против» нынешней системы, почитала комменты в паре тем про образование, и стала все-таки «за» ))) чисто глядя на противоположную стороны и комменты))) no offense, это я не про личности, а про картину вообще)))

А я про личности, только не про Вас, а про автора топика.

Вообще образование, особенно наше, вопрос конечно не простой.

Вы написали аналог тотал коммандера?

ИМХО, просто разные задачи.

у меня знакомый за три месяца не зная вообще джавы попал на коммерческий проект. Ничего, подтянулся.

Так попали все, кого я знаю. Практики не было — может быть нехватка кадров?

Это обычная практика для всего мира. Со стороны берут профессионалов, чтобы вкалывать сразу и, чтобы уравновесить «своих знакомых», которых учат, объясняют, дают время освоиться. Это и не плохо и не хорошо — просто так устроен мир. И когда вопрос касается «своих», тут уже ни образование, ни опыт, ни знание алгоритмов не играют роли: «я знаю это классный пацан- его надо взять — я его всему научу».

Ваша мысль про переформулировку задачи с целью ее упрощения, понятна. Давайте попробую объяснить, как ситуация выглядит с другой стороны баррикады — то есть глазами того, для кого джунов собеседовать — основная часть работы.

Было: «1) дана строка, но не String, нужно Revert(нуть). » Вы предлагаете: «2) дан массив A[], Надо, не используя другого массива, написать алгоритм реализующий Revert». Это

Хотели: чтобы в процессе собеседования, еще до кодирования, шаг от 1) к 2) сделал сам собеседуемый. Зачем хотели: а) посмотреть, понимает ли человек суть класса String, а именно, что в его основе лежит массив char, и при этом сам String immutable? б) умеет ли работать с не четко определенными требованиями? в) умеет ли выбирать оптимальную, а не какую попало, структуру данных для реализации алгоритма задачи.

И это пример правильного с точки зрения собеседующего подхода. Обычно, задачи для собеседований и тестовые задачи придумывают или берут из интернета. Потом их прокручивают, прикидывая варианты решения. Потом продумывают, как сформулировать условие и обязательно, как в него внести момент неопределенности (неоднозначности). Потом их обсуждают и аппрувят у тим лидов/ПМ тех проектов, куда на их основе будут закрываться вакансии. На этом этапе согласовывается, какая последовательность шагов решения задачи годится, и какие шаги категорически нельзя пропустить. Какие ответы в целом приемлемы, а какие нет. Какие наводящие вопросы и подсказки допустимы, а до чего соискатель должен обязательно додуматься сам. Какие ляпы в коде делать можно, а что совсем неприемлемо.

Я сам бывал на собеседовании у молодых ПМ, атмосфера примерно такая : сейчас я буду доказывать, что ты ничего не знаешь.

Попробуйте посмотреть на эту мысль глазами этих самых молодых ПМ — ну неужели всем им делать нечего, кроме как доказывать незнакомым людям, что они ничего не знают? Поверьте, ПМ ОБЫЧНО ВЕСЬМА ЗАИНТЕРЕСОВАН ЗАКРЫТЬ ВАКАНСИЮ. Но у него, разумеется, свое видение того, кто для этого нужен и пытаться с позиции соискателя переубедить его, по-моему, бесполезно.
Хотя вполне возможно, что собеседующий ведет себя так, что подавляет своим ЧСВ и вообще имеет симптомы звездной болезни в той или иной стадии. Но лично я такого никогда не встречала, ни когда собеседовали меня, ни когда я сама принимала участие в собеседованиях вместе с ПМ. Даже те люди, которые заслуженно считают себя примадоннами, на собеседованиях, тем более с джунами, обычно ведут себя абсолютно корректно — ведь они же умные люди и другими руководят.

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

Ух! Столь аргументированный ответ! Я с Вами соглашуть. Автор не смог собраться и создать оптимальный алгоритм. Это да! Явно не хватает опыта и хватки. Даже прочитав все книги, которые здесь приводили, этого не получишь. Это только даст опыт. Но 1-е на, что я обращал внимание всех атакующих автора было, то что речь шла не о том, что автор не умеет разворачивать массив, а том что ему, возможно, не удалось сориентироваться в ситуации (часто это психологический фактор) . И второе- надо ли помнить все классические институтские примеры. Для примера возьмём врача: он может стать гениальным хирургом, делать операции и спасать пациентов. И вот спустя, скажем лет 15, он ищет новое место работы. Его спрашивают : напиши формулу реакции мыла с водой или ещё, что-нибудь классическое. Он Вам врят ли сможет вывести или точно вспомнить. То же самое я пытаюсь задать себе и всем вопрос: где предел накопления знаний. В своей работе мне на порядок важнее знать предметную область, — я работаю на заказчика. Алгоритмы это хорошо и надо. Но в какой-то момент всё-равно наступает перелом и база забывается. Т.к. она всего лишь теория. 2 −3 −5 лет Вы ещё помните. Но это не прикладные знания. Тесты подобного рода хороши для вчерашних студентов, для которых это минимум, а для людей с опытом они уже врят-ли подойдут. Это моя точка зрения. Мне на собеседовании задали вопрос: дай определение факториала. Я охренел, что такое факториал я знаю, понимаю и передо мной лежит алгоритм факториала. Но дать определение! спустя 15 лет после окончания ВУЗА! Я аж растерялся. Оказывается имелось ввиду, что факториал только для натуральных чисел. Я не могу сказать, что я этого не знал (я бы даже в горячке не подумал брать факториал для отрицательных или не целых чисел). Но вышло так, что в глазах экзаминатора я остался неучем. Поэтому я и посочуствовал автору, что возможно он где-то в такой же ситуации оказался.

В моём понимании стажировка вообще не должна ограничиваться такими условиями. Как по мне Вы описываете обычное трудоустройство. :)

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

Прежде, чем приступать к практике, необходимо проверить знает ли человек теорию. Желающих попрактиковаться (и за бесплатно в том числе) немало, так что брать всех подряд не выйдет.

под «общим кругозором» и «достижениями и неудачами» подразумевалась тема программирования

Это верно, в нормальных компаниях дело обстоит так, www.kalzumeus.com/...f-a-programmer

Talented engineers are rare — vastly rarer than opportunities to use them — and it is a seller’s market for talent right now in almost every facet of the field. Everybody at Matasano uses Ruby. If you don’t, but are a good engineer, they’ll hire you anyway. (A good engineer has a track record of — repeat after me — increasing revenue or decreasing costs.) Much of Fog Creek uses the Microsoft Stack. I can’t even spell ASP.NET and they’d still hire me.

приятная статейка.
в принципе с точки зрения доходов и расходов , контора с «жестким» наймом пытается минимизировать расходы, и напрямую не заинтересована в людях, способных увеличить доходы

Так получилось, что два раза по-разному начинал с нуля, поэтому есть что сказать по поводу тренингов аутсорсеров.

Первый раз — совсем первая работа, и сразу кинули делать настоящий и относительно большой проект. Сначала был в шоке от объема кода в котором нужно разобраться, от схемы БД на 3-х листах А4(это сейчас смешно :) ). Но через неделю втянулся, а через месяц работал почти наравне со всеми. За несколько месяцев там узнал больше, чем за последующие несколько лет в нескольких конторах. Считаю идеальным вариант, когда обучение идет на живом проекте с настоящими задачами, но при этом есть человек, который часто и внимательно проверяет код, больно бъет по рукам за кривой код и готов подсказать, как сделать правильно.

Второй раз уже менял направление, и так как нужного опыта не было вообще, предложили пойти на практику, отказать и искать дальше не рискнул.

Весьма неприятно снова возвращаться за «парту» (хотя с другой парты за такую наверное нормально), непривычно было делать синтетическую никому не нужную задачу (отвык со времен универа :) ). Получилось, что КПД такого обучения очень слабый — например, нужно было мне кроме прочего разобраться в неком объемном фреймворке. За неделю прочитал книгу, хорошо разобрался в теме и все сделал. Но сейчас, через несколько месяцев, не вспомню ни одного класса оттуда, знания без опыта работы с живыми проектами ничего не стоят. В общем, это была пустая трата времени чтоб кому-то что-то доказать, хорошо что хоть закончилась быстро. Вижу смысл в таком обучении только или если нужно проверить минимальную адекватность человека не показывая ему проект, или если человек совсем ничего не сможе может делать на живом проекте (но я таких не видел наверное никогда, и непонятно как такой человек пройдет собеседование).

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

>Задание нужно делать на листочке бумаги (сложно без IDE), видимо не в IDE дело, смотрят на логику.

фигасебе, таким действительно где-то до сих пор занимаются?

Астрологи объявили неделю Globallogic на DOU. Прирост Seniors вырос вдвое.

> дана строка, но не String, нужно Revert(нуть)

Вот и выросло поколение не знающее что такое С/Pascal/Asm/etc.

Рекомендую ТС почитать Спольски, и потом освоить С. local.joelonsoftware.com/...бучения_на_Java

Да — статья в тему. Мы занимаемся ремеслом, но нам хочется, чтобы это называлось искусством!

Тада
А я еще универы ругал....
Задача на реверс строки им подобные решались на первом курсе на лабораторных по паскалю.......

грустно это все, да

Задачка на переворот строки это классика,

dou.ua/...rtup-interview

Без обид: Достоевский и Тургенев тоже классика. Вопрос: может ли человек считаться культурным и образованным, если он не любит и не читает классику. Если нет — тогда практически мы все — неокультуренная масса, если да — ... И можно ли такую параллель можно провести и в программирование. Если да: то тогда давайте составим список которым должен одолеть новичок. Когда я проходил обучение 10 лет назад, у нас была своя «классика». Пришло новое поколение и говорит о своей классике. Почти уверен, что студенты, скажем, Мосачусетского университета, изучают немного другую классику и им невдомёк «классика» наших «спецов». Никого не хочу обидеть, поверьте. Просто очень много новых профессионалов — вчерашние выпускники. И им искренне кажется, что только люди, которые обладают теми же знаниями, что и они, и никак не меньше, могут работать рядом с ними. Я подозреваю, что они немного заблуждаются,

А вот не бывает «своей» или устаревшей классики. Как говорили классики, не бывает осетрины второй свежести, или нельзя быть слегка беременным :)

Механик никуда не денется от закона механического рычага, а потому ответственный за прием на работу обязан проверить, что он/а знает этот принцип работы механических машин. Так же, у предположительно программиста, обязательно проверять знание принципа вычислительной техники.

На бытовом уровне, в собеседовании, у механика можно проверить понимание факта, что всякая машина может быть сведена и расчитана только из правила рычага. На бытовом уровне, у программиста на ЯВУ, можно проверить понимание того факта, что всякая программа сводится к последовательности применения правила, взять по ординалу байт, провести над ним пару арифметических операций, как правило, с ординалом и значением байта, и записать байт с вычисленным ординалом.

У тех, кто пишет микрокод процессорам или конструирует логику на FPGA, вопросы еще более фундаментальные, на чем собственно всё там и построено. Я бы спрашивал реализацию полусумматора, например. И найдет ли он/а эту реализацию в счетной механической машине Чебышева или на телеграфных реле, или на логических элементах, разница уже невелика. Остроумие и знание частных примеров только в плюс.

Рисковано брать в автопромышленность механика, который не знает принципа рычага.

Согласен, как-то черезчур абстрактно, но согласен. Я бы вопрос от автора сконкретизировал больше так: я готов всё это знать, но «огласитевесь список пожалуйста!» Каждый препод в институте выдаст вам свой список, что вы должны знать как студент. Вот, к примеру, Вы готовились по этому списку, мой препод меня учил не менее эфективно по своему списку. И вот вопрос дня: если я вас буду тестировать по своему списку знаний, а вы меня по своему, кто кого назовёт неучем? Где-то так. Если касается джавы тут понятно: знания в какой-то мере ограничены и практичны, и знать их надо, без них никак. С теорией как-то всё немного хитрее и неоднозначнее. Я думаю что из автора, в перспективе, мог бы выйти, скажем, синьёр, при этом он бы так никогда и не узнал бы этот классический пример разворота строки. Наверное это больше раздражает людей попавших в подобную неприятную ситуацию. Всего знать нельзя, но профессию знать надо.

До конца не уверен насчет Тургенева, но если вы не читали Достоевского, тогда вы (не вы все, а конкретно вы) — неокультуренная масса. И да, отучаемся говорить за всех.

Вот, вот — школьная программа. Как то нас заставили по хрестоматии прочитать содержимое романа и мы все считаем, что читали Достоевского. Кстати насчёт Тургеневе — это оттого Вы не уверены, что школьная программа поменялась и сейчас Тургенева не преподают. Мы все не читаем классику. Не кривите душой. Этих людей, которые читают, единицы и они врят ли среди программистов. Хотя, может быть Вы и особенный,. Тогда — снимаю шляпу! Что-то куда-то нас с вами не туда занесло. :-)

Не поверите, в прошлый отпуск читал таки того самого Достоевского.

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

Да, я таки за «Понедельник» Стругацких.

Федя надоел...

Мне кажется, что все кто комментируют по своему правы. Прав и автор. Я иногда сталкиваюсь с такими ситуациями. Как мне кажется, Владимир и не пытался выявить знания, он просто ждал, что тот выдаст результат, который он уже знает. Эдакая безальтернативность ответа — попал — значит ты думаешь так как и я, а это хорошо — не попал не повезло. Это не критика тестирующего, это оценка подхода многих начальников к своим подчиненным: «Ты должен думать так как я. Ведь я умный! Значит если ты думаешь по другому, то тебе чего-то не хватает». Тестируемому явно не повезло с опытом. И он должен просто унять свои эмоции и обиды. Тут приходится уповать только на удачу и время. Я думаю, что это также отсутствие у компании каких-то критериев набора людей, всё отдано на откуп тестирующему, у которого может и большой опыт джава, но жизненного опыта может не хватать, что и приводит к подобного рода недопониманиям.

Денис, спасибо за понимание. :)
У меня нет никаких обид. Ни к Владимиру, ни к GlobalLogic.

Всё хорошо! Я сходил, я посмотрел, я написал. :) Может кому-то информация будет полезной и интересной.

Таки согласен с оценкой тестирующего. Он явно ждал «свой» ответ и никакой другой его не устраивал. Напомнило байку о том, как измерить высоту небоскреба с помощью барометра: ru-antiphysicis.livejournal.com/12831.html

Ну и пусть ему попадётся тот, который знает этот метод, а всего остального не знает. Я сам после 3 собеседования на 90% вопросов уже знал ответы. При этом ничего нового я не выучил- просто штампы собеседований.

субъективно — это ппц. пару лет назад тоже пытался стать джавером через типа курсы глобала, только в киеве. печальная история. все эти попытки «научить» задачками, которые никогда не будут пользоваться в жизни (ну пилять накуя в реальной жизни нужно менять поряд хранения данных, если можно поменять порядок выборки?!) никогда ни к чему хорошему не приводили. только работа с живым кодом, пробы, ошибки за которые больно бьют и, естественно, подсматривание кода мэтров и его реюзание для собственныхнужд (в смысле копи-паст зен модифай зен оптимайз). вот путь настоящего джедая.
менторов, которые кидают падаванов только за то, что они сделали не так, как правильно по их скудному мнению, посылай в дальний пеший. они не достойны того, чтобы за ними следовать. нормальный тренер вполне может сделать из адекватного претендента приемлимого джуна или мидла за три месяца, если будет:
— выбирать задачи из тех, которые приходится решать в жизни
— грамотно формулировать задачи
— давать направляющие пинки в необходимую сторону
— проверять выполнение задач на соответствие требованиям, а не на способ выполнения
— разбирание полетов с тыканьем пальцем в проблемные области и объяснение почему это плохо (дать контекстную задачу для замера перформансов для разных способов реализации, например).
но таких тернеров я лично не видел, посему...
топикстартеру: забей на курсы и ищи _работу_. пара проколов на интервью неизбежны, но они укажут на тренды и пробелы в знаниях, где нужно подтянуться. как только попадаешь в среду, начинаешь работать работать работать, а еще пахать пахать пахать и естественно копипастить и апдейтить оптимайзить. месяц реальной работы заменяют по своей эффективности полгода тренингов. и это факт. не бойся быть уволенным, ибо твоя задача взять экспириенс любой ценой.

знаешь как 20 лет назад становились дизайнерами? приходили на интервью и били себя в грудь, «я все знаю и все умею» — в 9 канторах тебя посылали (после проверки), в 10-й давали шанс... и возьмешь ты свой пирожок экспириенса или оставишь лежать на полочке — зависит только от тебя

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

вероятность разрабатывать собственный велосипед — ничтожно мала
А ремонтировать посэрэд поля? :)))

))) есть такое. нередко осознанию проблем именно с велосипедом предшествует раскатывание в том же поле восьмиполосной велосипедной дорожки, с обязательными заправками и придорожными кафе (на кой они вообще сдались велосипедам, не понятно, но в мануале настоятельно рекомендовалось) и прочей инфраструктурой

нормальный тренер вполне может сделать из
адекватного претендента

приемлимого джуна или мидла за три месяца, если будет:

ржунемогу.

Ваша формула содержит одну неизвестную, определите что такое «адекватный претиндент»? По своему опыту менторства: да, за три месяца можно сдедать мидла... при условии что «адекватный претендетн» == «сильный джуниор, с хорошим опытом работы». Джуниора за пару месяцев можно сделать из очень хорошего студетна, пишущего код, решающего поставленные задачи, знающего почти всё, что надо знать и скажем не имеющего опыта работы.

Да, и я даю на собеседованиях задачу на разворот строчки, не только тем кто шел в ТЦ но и тем кто притендует на позицию мидл левел инженера. Делается это для того что бы проверить на собеседовании за 5 минут может ли человек вообще писать код, хоть какой-нибудь. Сами понимаете если всё собеседование занимает час-полтора на нём сложно дать задачу из настоящего проекта.

Кроме того я давал своим студентам в ТЦ всякие алгоритмические задачки с указателями бегающими по массиву с разной скоростью, не потому что я злой буратино и стараюсь забить кому-то голову тем что им и не надо, а потому что тем студентам надо было подтягивать елементарую матчасть прежде чем переходить к «живому коду».

Джуниора за пару месяцев можно сделать из очень хорошего студетна, [!!..] пишущего код, решающего поставленные задачи, знающего почти всё, что надо знать[..!!] и скажем не имеющего опыта работы.
выделено мной — чел, удовлетворяющий данным требованиям, УЖЕ джуниор и делать из него можно только что-то более квалифицированное.
субъективно, я наблюдаю то, чем больна нынешняя система образования... причем не только в ит. преподавателям нужны только такие ученики, которых не нужно учить, потому что они или уже все знают, или способны получать необходимые знания самостоятельно. взять, к примеру, нашу пилять любимую школу — пятилетний ребенок, идущий в 1 класс, должен УЖЕ уметь (это обязательное требование) читать, писать и считать. и знаете чему их учат первые три года? их учат читать, писать и считать...

выделено мной — чел, удовлетворяющий данным требованиям, УЖЕ джуниор и делать из него можно только что-то более квалифицированное.

Нет, не джуниор. До джуниора ему ещё не хватает как минимум:
1. Опыта работы в команде
2. Опыта решения тех самых реальных задач на реальных проектах
3. возможно ещё чего-то из фундаментальных знаний.

И это именно то что можно «закрыть» за пару месяцев и билить человека как джуниора заказчику. Если не хватает большего, если есть пробелы в базе — времени на доводку его до джуниора надо больше.

Всё вышеописанное моё ИМХО.

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

Одна маленькая ремарка: я не преподаватель, я инженер. И я работаю в тех условиях в которых работаю. Я могу и хочу учить, но у меня есть сверху одно ограничение — через определённый срок я должен «забилить» этого человека кастумеру, чем меньше этот срок и выше требования кастомера тем выше будет стоять планка на входе.

возможно, нам стоит определиться с определением слова «определение» ))
субъективно считаю джуном человека, которого можно сходу пригрузить рутинным задачами и некритичными (не влияющими на работоспособность системы в целом), с периодическим код ревью и битьем по пальцам, если таки вкоммитил the хрень. другие же определяют «джуниорность» тем, можно ли тушку втюхать клиенту с «джуниорским» рейтом...

а по пунктам: 1,2 невозможно научить не подпуская к проекту и команде. пункт 3 особый. реальный пример из реального общения подопытного (меня) с глобаловским тренером: я спросил, как мне быстро закоммуницироваться с БД и какие средства используются для тестирования логики работы именно БД, а он мне: cначала, я должен рассказать тебе, что такое классы и коллекции. а базы данных — это вы ошиблись дверью, мы здесь SE курс преподаем... про БД мы в ЕЕ курсе рассказываем, а до ЕЕ вы еще не доросли... как-то так

Спасибо! Мило.

Я пришёл к такому же выводу. Надо добить Эккеля и идти.:)

Приветствую, Хазарти Лирот, Вы вчера писали:

Привет друзья!

:)

ДАНО что-то связанное с буквами, которое нужно перевернуть местами

Вам Владимир дал решать классическую задачу в программировании. Если бы тест был по пригодности к embedded устройствам и ассемблеру, задача снова оказалась бы той же.

Вот только, на Джаве она выглядит глуповато. На Джаве программируют не расово чистый математический вычислитель, а некую лоботомированную машину.

Очень надеюсь, что в следующий раз очередной Владимир попросит этого дерзкого мальчика развернуть не буковки в слове, а слова в предложении: тогда у мальчика точно взорвется голова от возмущения и он не будет больше утомлять пацанов своим пониманием того, как «должен быть устроен мир».

Вот вам и «бесплатные курсы Java во Львове» — УРА! :D

int n = s.Length;
for (int i = 0; i < n / 2; i++)
{
char a=s[i];
s[i] = s[n — i — 1];
s[n — i — 1] = a;

}

Готов поспорить, это зазубренное лекарство из университета. Зуб даю, что лет десять назад, я делал тоже самое на Pascal.

Жаль, не запомнил.

Когда я пришел в институт, нам показывали примерно так

var s,s1:string;
i:byte;
begin
..............
s1:=’’;
for i:=length(s) downto 1 do
s1:=s1+s[i];
.............
end.

п.с. это я тупо скопипастил с какого-то сайта

Просто, если Вы идете на собеседование, то у Вас очень могут спросить: разворот строки (любой) и какую-то (наугад или какую знаете) сортировку — к этому надо быть подготовленным. Если в требованиях вакансии есть ООП, то, КАК МИНИМУМ, на бумаге написать «Singleton» — это кроме всего остального.

Готовьтесь, это ведь не последняя вакансия, в нашей, и не только, стране, и все у Вас получится.

Я значение паттернов вообще плохо понимаю.В Эккеле был пример паттерна Фабрика, но я вникал в него. На будущее закачал себе книжку ISBN: 978-5-459-00435-9

Singleton — это способ создать объект только через статический метод класса, который вернёт этот самый объект? Т.е. обычное создание экземпляра класса будет невозможным, т.к. конструктор класса объявлен с модификатором private? :)))

Надо запомнить как это называется. :)

ru.wikipedia.org/..._проектирования
и ни в коем случае не произносите на собеседованиях фразу типа «а что такое паттерны?»

upd: 4 java www.javacamp.org/designPattern

Спасибо, обязательно почитаю про паттерны. :)

ИМХО, паттерны надо начинать с «Приёмы ООПроектирования» Гамма, Хелм, Джонсон, Влиссидес.

Сразу начинать с этого? Вообще ничего не зная о паттернах? Боже упаси. Книжка, конечно, отличная, но ее есть смысл использвать, когда уже о большинстве паттернов имеешь представление.

Я бы советовал начинать с этой (не смотрим на обложку :) ): www.labirint.ru/books/273378 . Просто и понятно для каждого.

согласен. начинать всегда лучше с того, где меньше букв

э.. м.. Я не понял с чем конретно Вы согласны, В GOF букв раза в два меньше чем у этого вашего Фримана. Обоих не читал но согласен?

Хотя ИМХО для джава джуниора Фриман действительно правильный выбор.

Да, я говорил про неё как раз.

Не знаю, я про паттерны первый раз читал как раз в GOF, помню мне ещё очень нравилось, что книга имеет чёткую структуру и рабочие примеры.

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

Singleton — это способ

не, тут для понимания ИМХО важно то, что это не просто способ, а гарантия того, что экземпляр определенного класса будет единственным, т.к. его фабричный метод возвращает всегда одинаковую ссылку на экземпляр. Но и тут есть тонкости на тему вариаций от double-checked locking (хотя некоторые говорят, что это — авнопаттерн) до lazy initialization

Немного фигню написал. :)
Так можно создать множество объектов обращаясь к статическому методу. :)

Внесу в свои слова поправку. Наверное, нужно создать статический объект в поле класса и уже в статическом методе возвращать ссылку на единственный экземпляр класса: gist.github.com/...b83a60d059f3bbd

Наверное, нужно создать статический объект в поле класса

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

вы про что? Если про thread-safe singelton, то это не

двойная блокировка

а «блокировка с двойной проверкой». И это вполне законный способ, нормально работающий начиная с Java 1,5 в которой появилось ключевое слово volatile.

volatile было помоему во всех джавах, ну и код синглтона в котором можно обойтись одним volatile без syncrhonized, AtomicReferenceFieldUpdater и прочих compare and swap и мьютексов в студию.

а “блокировка с двойной проверкой

ну это и имелось ввиду

нормально работающий

The “Double-Checked Locking is Broken” Declaration

www.cs.umd.edu/...kedLocking.html

С условиями слишком плохо — дана строка, но не String, нужно Revert(нуть). Мало того что сидишь переживаешь, в голове крутится каша от знаний из учебника, так ещё и условия задачи понять сложно. :)))

Меня там небыло, но по этому посту могу обьяснить на чем завалился, если еще сам не понял.

Условие — написать ф-цию переворота строки, например на входе она имеет «Hello world», на выходе получаем «dlrow olleH». Задача проверяет базовые навыки — понимание струтур данных и алгоритмов Из кусков кода в посте понятно что до алгоритма даже не дошли.
Думаю для начала ты мог бы вместо всяких извращений со сканером и стеков показать простой кусок кода:
String testMe = «Hello world»;
StringBuffer buff = new StringBuffer(testMe);
buff.reverse();

System.out.println(buff.toString());

После этого тебя попросили бы расписать, «а как бы ты сам реализовал buff.reverse()? если ее небыло бы в библиотеке»
Тут говорил — можно строку перевести в масив символов, создать еще один масив, и читать символы с конца первого масива, записывать их в начало второго. И получим перевернутую строку.
На это тебя похвалят, но укажут — ресурсы компа не безграничны, зачем нам еще один масив? это удваивает потребности алгоритма в памяти.
Тут думаеш немного, и предлагаеш — обойдеся одним масивом, давайте я буду просто переставлять элементы в нем местами, пока масим не отзеркалися.
Дальше с тобой поговорят про сложносто алгоритмов, укажут на жутко нелинейную зависимость вычислительной сложности предложеного тобой алгоритма. И предложат переписать его так, чтобы элементы переставлялись в правильном порядке за один проход. Тут нужно выдать чтото вроде этого gist.github.com/1712897 (можно код более компактно записать, но принцип останется)

идея — есть указатель на начало и конец, при первом проходе меняем местами [0] & [n] элементы, при втором [1] & [n-1] , дальше [2] & [n-2] и так пока строка не перевернется.

Я не понял условие, но понял, что явно String нельзя было использовать. :)

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

Откуда студенты НПЛУ знают про использование метода reverse(); ???
Если брать как основную литературу Thinking Java
s017.radikal.ru/...ad7252fe54e.png

посмотрите в ней, сколько раз упоминается про этот метод и объект. Что сказано про них вообще? Будьте добры, напишите здесь.

Я рассчитывал сойти с дистанции ещё на тестировании, но у меня появилась возможность побывать ещё на собеседовании и, выложить это в паблик ровно так, как оно было. :)

У меня остались больше тёплых чувств, нежели после посещения подобного тестирования в SoftServe.Я выразил свои пожелания, замечания. Примут их во внимание или нет, мне абсолютно всё равно.

Я продолжу идти по своей дороге дальше. Следующая остановка <epam>. Хочу попробовать сходить на их курсы, когда будет набор группы. Очень интересно.

Уберите свой банан, в Ваших способностях никто из присутствующих не сомневается. :)))

Использование Reverse абсолютно не обезательно. Вам описали один из вариантов успешного прохождения интервью. И Reverse в этой цепочке совсем не обязательное звено. Вы спокойно могли бы написать цикл сразу.

Я бы дважды подумал, брать ли стажера, который уже знает что ему все должны и спорит, вместо того, чтобы слушать.

До нього потрібно ставитись як б Ви хотіли, щоб потім він ставився до Вас:). Не завжди він буде таким маленьким і безпомічним:), повірте.

Максим, я шёл с самыми скромными запросами. :)

С половиной знаний от 100%. Я не скрываю и не преувеличиваю больше. Меня абсолютно не интересовала зарплата. Главное, чтобы у меня был наставник. Получить свою практику.

Мы не пересекались с Вами в жизни? :)))

Об результате, я знал ещё до того как пойти на тестирование. :) Так и сказал своим, что дальше технического собеседования не пройду, т.к. играть в дочки-матери и нянчиться со мной никто не будет.
Я не вижу, где Вы увидели спор? Я написал свои впечатления от тестирования и собеседования. Дальше, пришли одни и те же лица, у которых судя по всему мало работы.
Заметьте, ни одного вопроса со стороны студентов, которые желают пойти туда же.

Я не прошу мне объяснить, дать советы, успокаивать и т.д. :) Можете удалить все комментарии и поставить тему в ReadOnly. :) Я не скрываю свою наглость и любовь к себе, если Вы имеет ввиду это. :))))

А я не про собеседование, а про то, как вы реагируете на комментарии здесь на форуме.

Я так понимаю, что на форуме есть люди, с которыми нельзя спорить и прекословить, как тут местный хам заявил «молчать и слушать». Давайте им повесим значки «бог программирования» и все будут знать, что то, что говорят эти люди это истина в последней инстанции, что это признанные авторитеты, которых можно только благодарить за критику и что они ставят тебя на место.

Давайте им повесим значки «взрослый»

FTFY

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

Який хам?
Це класика — «Собачье сердце» Булгакова :-)
Якраз дуже до топіка та коментів підійшло, коли людина з нулячим досвідом вєщяє, що їй всі винні і неправильні питання дають.

І ще й жаліються на комменти «эта роль ругательная и попрошу ее ко мне не применять» © "Иван Васильевич меняет профессию"/

посмотрите в ней, сколько раз упоминается про этот метод и объект. Что сказано про них вообще? Будьте добры, напишите здесь.
В вашей картинке сказано про углубленное знание джавы, и Эккель дан как основная литература, но далеко не как единственный источник. Углубленное знание подразумевает, что вы будете смотреть не только на то, что написал Эккель в своей книге, а копать глубже. И метод reverse() лежит уж точно не за гранью когнитивных возможностей стажера. А вообще от вас скорее всего хотели именно нормальный алгоритм, пусть и с ошибками в коде.
И попробуйте попрограммировать в блокноте пару месяцев, серьезно. Очень помогает для общего осознания того, чем вы собираетесь заниматься. Я не преуменьшаю достоинства IDE, без сред было бы крайне хреново, но начинать надо все-таки не с них, мне так кажется.

Владимира не интересовало знаете ли Вы о существовании метода Reverse(). Его интересовало как бы Вы его написали сами.

Очень хорошо описан путь развития собеседования.

Правда, сам пример кода не иллюстрирует идею экономии памяти.

В вашем примере есть один минус — сомневаюсь что надо юзать синхронизированный StringBuilder:)
Можно просто StringBuilder без синхронизации.

По рефакторил так сказать:)

Может StringBuffer имели ввиду в первом случае

вы даже в постах их путаете :) а у других рефакторите.
Идея того поста как бы не в нюансах работы быстрой vs, потокобезопасной версии этих класов.

«StringBuilder потокобезопасный» — как бы намекает на StringBuffer:)

По поводу задачи (реверс массива символов) — думаю подошел бы любой из вариантов, описанных здесь — www.codeguru.com/...ad.php?t=303185 , но написанный на Java,

Но Владимиру привет передам :)

Спасибо за комментарии, интересно взглянуть на отбор стажеров с «другой» стороны.

Я не обижен на него и не злюсь. :)
Для меня не понятно, что хочет компания и хочет ли тоже самое Владимир, т.к. со стороны это выглядит так, как выглядит.

Получается, что компания ищет стажёров, а Владимир, человека, который способен самостоятельно работать в проекте не в зависимости от кривизны кода стажёра.

Александр, к сожалению, я не разобрался по Вашей ссылке, т.к. С++ никогда не видел в глаза. Знаю только семантику и синтаксис языка Java.

Сложно сказать наверняка, но похоже на то, что от вас хотели реализацию алгоритма переворота строки с использованием константного дополнительного объема памяти (in-place reverse). Использование стека не очень хорошо потому, что требует дополнительной памяти порядка длины строки. Сказали, что это не строка, потому что строки в Java неизменяемые (immutable) и сделать переворот на месте нельзя физически. Наверное, подразумевался массив символов (char[]).

Не переживайте и продолжайте учиться. הכל יהי בסדר

Мне не понравилось как поставлено техническое собеседование.

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

А по теме, если бы сказали, дано char[] a = {’a’, ’b’, ’c’, ’d’, ’e’}; верните в обратном порядке используя метод. Можно было написать типа такого:

gist.github.com/...b04e3fc8f136b20

уж мне мой уровень позволяет это сделать. :)))) Теперь остаётся только гадать.

אני לא מתבייש. תודה אחי

нормально поставлено, у всех так.

Должен стоять компьютер, открыта среда, указано в подробностях техническое задание и оставить на полчаса в одиночку, чтобы не напрягать своим присутствием. Не в обиду, но это получается, что тебя подгоняют или стоят над душой. :)))))
Ага, конечно. Способность понимать то, что тебе говорят тоже проверяется. Думаеш заказчики шлют техническое задание в подробностях и с детальным описанием? Или когда работаеш тебя никто не погоняет?
А комп на таких интервью мешает.
У кого у всех?
Вы постоянно обобщаете, такое ощущение, что говорите по собственному широкому опыту. Может поделитесь им?
Я думаю, что заказчики не лезут в Ваш код, а дают описание того, как должна работать функция и т.д.. Вы принимаете решение как это реализовать. Это не означает, что Ваша реализация имеет только одно решение. Может десяток.
Не сравнивайте РАБОТАЕШЬ и СТАЖИРУЕШЬСЯ. За Вашу самостоятельность и опыт соответственно и зарплата в x8-x12 раз больше.
Может Вам компьютер мешает работать? Скажите начальнику, пусть переведёт Вас на пергамент. Может добавится +80% к эффективности.

Я теряюсь при виде бумаги, потому что держу её обычно в туалете, а программирую в IDE, за компьютером. :))))

Не сравнивайте РАБОТАЕШЬ и СТАЖИРУЕШЬСЯ

Но больше всего меня удивило следующее. Задача стажёра, это сидеть три месяца в компании по 8-мь часов и получать свою практику. Из слов Владимира — дают какую-то часть программы, которая должна будет использоваться через полгода и, никого не будет волновать, напишет или не напишет, будет работать или нет

Я Вам немножечко расскажу про задачу стажера, может чуть лучьше поймёте что от Вас хотели. Компании не нужен «теоретик решивший поднабратся практики». Компании нужен работник, хотя бы будующий. Компании затеивают всю эту возню со студентами в основном для того что бы найти людей, которых за конечное, предсказуемое время (3 месяца к примеру) можно было бы подготовить для роботы на самом простецком проекте на самой джуниорской позиции. По этому есть смысл сравнивать работаеш и стажируешся, потому как в большинстве случаев человек берущий вас на стажировку задаёт себе вопрос «а что я смогу из него сделать за 3 месяца?» или «а что я буду с ним делать через пол-года на моём проекте?». Ну и кроме того сажировка сама по себе всегда была первым шагом к трудоустройству. Заявления насчет «не сравнивайте» звучит очень странно.

ЗЫ: писать код на листочке или доске необходимый скил для прохождения интервью

Согласен с Вами, абсолютно. :)
Об этом написал в следующем сообщении:

dou.ua/...ic/5251/#175052

В таком случае, нужно поднимать проходной балл минимум до 85%. Где в последнем задании тестирования, задавать конкретный вопрос с реализацией кода. :)))

Отсутствие компьютера с IDE — это не капризы. Дело в удобстве. Я не воспринимаю код на листе бумаги. Даже код в книге, я стараюсь переносить в среду и «играться» с ним там.

Об этом написал в следующем сообщении:

ИМХО там Вы написали что-то совсем другое.

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

На мой взгляд это почти наезд и на компанию и на Владимира. Вы как минимум поставили под сомнение что его цели совпадают с целями его работодателя.

Позволю себе дать Вам один совет: Меньше болтайте — больше делайте. Вместо того что б оценивать что именно компании не так делают на собеседованиях постарайтеть понять что Вам нужно сделать что бы пройти через фильтр этих собеседований.

Компании проводят собеседования так, как считают нужным, это их бизнес, их ресурсы которые они тратят на свои ТЦ, в том числе и на отбор в ТЦ, и их дело как это всё организовывать. Максимум что остаётся интервьюируему — оценивать насколько это совпадает с его собственными целями. Ну и имейте в виду что первый блин комом. У большинства когда-то было первое провальное интервью.

Спасибо за советы. Только, я не приходил сюда за ними. :))))

Вы как минимум поставили под сомнение что его цели совпадают с целями его работодателя.

Вы считаете, что такого не может быть?
Значит, что-то поставлено не так, если остаются такие впечатления.

Почему я не могу поделиться своим личным мнением? Пусть читают сотрудники GlobalLogic, если их интересует оценка.

имейте в виду что первый блин комом. У большинства когда-то было первое провальное интервью.

Да, всё отлично. :)))

Вы считаете, что такого не может быть?

Я считаю что не Вам судить об этом. А даже если Вам так показалось выносить это на публике ИМХО лишнее. Тут выше по треду кто-то уже взялся обсуждать жизненный опыт, а вы, ребята, уверенны что Вы в праве это делать? Что у Вас есть достаточно для этого информации?

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

Почему я не могу поделиться своим личным мнением? Пусть читают сотрудники GlobalLogic, если их интересует оценка.

Ну.. в Глобале работает около 2К человек, это означает что Глобал провёл где-то как минимум 20К интервью с соискателями (очень на глаз). Вы действительно считаете что донесёте до них что-то новое и им не извесное?

Потише, не шумите. Здесь форум и правилами форума на запрещено обсуждать интервью. Пусть Глобал читает наше мнение, если ему это интересно, если нет — нечего набиваться к нему в адвокаты. Я заявляю : Я ВПРАВЕ ЭТО ДЕЛАТЬ! и это и то! Потому что, у меня есть своё мнение. И если кто-то скажет, что я дурак, я не побегу в туалет плакать, уговаривая себя, что я чего -то не знаю. Я как минимум попытаюсь доказать, что это не так или спросить, что думают другие о бо мне, что собственно, и сделал автор. Мир на самом деле устроен со всем не так как нам кажется! И это касается всех

Ну если уж я начал ущемлять чьи-то права то тогда я замолкаю.

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

почти согласен. Это от того, что большая проблема продумать тесты так, чтобы они не вызвали ступор у испытуемого и в то же время раскрыли его способности и знания. Поступают проще : создают искусственные трудности и прочие сложности, что просто сбивает с толку или мешает. Слышу гомон: а что вы хотели, всё как в жизни! Отвечу : Вы правы! Благодаря таким, как вы в жизни действительно всё именно так: нецелесообразно и и через Ж... Приумножайте!

а вопрос «где в том, что вы написали ошибка, которую пропустит компилятор?»

зачем вам ИДЕ для этого? эти ошибки нужно сразу замечать, а точнее не делать их. Ибо ошибка компилятора — это не проблема, а вот креш у пользователя по «непонятной причине» — намного дороже.

Должен стоять компьютер, открыта среда,
Оч люблю поговорить на эту тему :)
Какая среда? Еклипс? ИДЕА? ВИМ/Емакс?
Набор кода в не привычной среде — куда больший «стрес», чем листик и ручка.
Эт я молчу про другую клаву и тд.
указано в подробностях техническое задание и оставить на полчаса в одиночку, чтобы не напрягать своим присутствием.
От это признак плохого собеседования: если людей интересует что вы можете сделать за 1 час, ведь на практике вам прийдется работать в другом режиме. Типа спринтер против марафонца.
Нормальное собеседование учитывает не столько правильность решения, сколько то как вы думаете: на сколько ваш тип мышления подходит нанимателю.
Любая среда. Например, в SoftServe дали Eclipse.

Проблема не в самой среде, а в её отсутствии.

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

Я думаю, на это и рассчитано.

Любая среда. Например, в SoftServe дали Eclipse.

Набор кода в не привычной среде — куда больший «стрес», чем листик и ручка.

Утрированный пример: А если бы был Емакс? (Если вы пользователь Емакса, то ВИМ :) )

У меня лежал в рюкзаке ноутбук готовый к старту с запущенной IDEA. :)

Оказалось всё проще.

Только что скачал курс lektorium.tv по Java. Начал смотреть:
i009.radikal.ru/...80f4e5c11aa.png
Главное, чтобы не такая среда разработки. :)))

Кстати, автор рекомендует несколько лет использовать простые редакторы, перед использованием IDE. :))))

боюсь, программист с Вас не выйдет

Я пересмотрел все курсы на русском языке которые существуют для начинающих в интернете, ни один не стоит внимания.
Ни у одного преподавателя нет нужной подготовки проводить курс. Хорошо, если преподаватель начитанный человек не страдающий на слух, т.е. не мычит и не что-кает. Даже хвалёный многими новичками интерактивный курс серии TeachPro выносит мозг от постоянного повторения «скобка открывается, скобка закрывается, нажимаем в верхнем меню компайл и получаем результат». :)))) Возьмите Хорстманна, там все эти примеры есть. Только у многих лень-матушка, а потом в интернете, они боятся за других.

Я выбрал для себя чтение книги, чего желаю остальным. :) Если слушать таких как Вас то, действительно ничего не получиться.

я имел ввиду высказаное Вами отвращение к написанию кода на листке/доске и т.д. Наличие хорошей памяти и логики — неотъемлемые качества программиста — ведь на работе вы не станете лезть в гугл при написании каждой новой строчки, да и код прийдется продумывать на несколько классов (!) вперед

Вы знаете, я думаю, стоит почаще залазить в google, т.к. можно найти готовое решение, которое будет эффективнее Вашего. Не придётся придумывать велосипед и тратить на это несколько часов.

Что касается хорошей памяти. Вы пишите свой код в notepad(е), вспоминая методы, библиотеки, классы, ищите ошибки компиляции? Мне кажется, что Вы сидите в Eclipse или в другой среде и нажимаете Ctrl + Space и Tab.

Продумывать на несколько классов вперёд это опыт, который придёт со временем.

Я говорю про то, что я не воспринимаю код на листочке. Плохое форматирование, плохой шрифт, отсутствие подсветки — и код выглядит совсем по-другому, тяжелее читать. Особенно, если пишешь на бумаги один раз в десять лет.

Читать код на доске, которая грязная и строки сливаются с разводами от воды — памяти не добавит. :)))

вы так и не поняли ничего :(. Програма — это алгоритм + структура данных. А язык програмирования — это просто способ описания алгоритма. От вас хотели составления этого алогоритма, посмотреть как вы думаете. Для демонстрации этого уменя включать комп не обязательно, он будет отвлекать. Может пример с переворотом строки,слишком сложный чтобы это понять. Но допустим на следующем собеседовании у вас попросять решить другую класическу задачку — «на одном берегу есть волк, коза и капуста. Лодочник их перевозит на другой берег. В какой последовательности?». И вы будете начинать ее решать с запуска IDE или возьмете листок бумаги и сядете думать?

Вы знаете, я думаю, стоит почаще залазить в google, т.к. можно найти готовое решение, которое будет эффективнее Вашего. Не придётся придумывать велосипед и тратить на это несколько часов....

Что касается хорошей памяти. Вы пишите свой код в notepad(е), вспоминая методы, библиотеки, классы, ищите ошибки компиляции? Мне кажется, что Вы сидите в Eclipse или в другой среде и нажимаете Ctrl + Space и Tab....

какой ужас :) а если там методов 100500 и вы даже не знаете хоть как он начинается и есть ли он там вообще? Это мнение пройдет у вас со временем.
И это нормально, что Вас попросили написать на листочке. Для одного из собеседований я писала куски кода в окошко скайпа, когда на той стороне 4 человека и нет видео, подгоняют словами «мыслите вслух! мы же вас не видим — вдруг вы гуглите». Я бы в такой ситуации предпочла писать код карандашом на листе бумаге :) но ничего...это стрессовые ситуации. И да, в идешке я бы не хотела набирать код на собеседовании. Как правильно заметили — вам могут дать то, что для вас непривычно.

Кстати, это пока что только второе собеседование? Надо не критиковать (ИЕ не нравится, ИДЕ не дали),а просто принимать к сведению,как бывает и быть во всеоружии к следующим. Каждое новое собеседование — это ценный опыт :)

НЕВЕРНО! Надо было человеку дать шанс поработать! Априори.

Код хороший, но требует дополнительного объема памяти порядка длины исходной строки (line 16). Можно ли как-то избежать этого и перевернуть массив символов на месте в том же массиве, что передается как параметр?

Что касается критики собеседования, я не рекомендую ей заниматься. За это не платят и это не повышает профессиональный уровень.

Если тема кого-то обижает, давайте удалим её. :) Я не пытался выдумать больше того, чем увидел. И обсуждаю публично, а не обзываюсь за спиной.
Для меня не понятно, зачем перед техническим собеседованием, делать обычное.
По-моему глупо рассказывать как хорошо в компании, какие приятные условия ожидают, как тебя ждут, как тебе будут помогать и как в тебе заинтересованы.
Зачем спрашивать, сколько я хочу получать как стажёр. Есть ли у меня какие-то другие предложения обучаться у компаний конкурентов и т.д.
Потом — БАЦ. До свидания. Смысл?

Давайте сначала говорить по делу, а потом про всё остальное. От этого у меня остался неприятный осадок. Нужно ли что-то менять в проведении собеседовании пусть решают начальники. :)

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

Ну а рассказывать оп люшках... Не поверите, но бывает такое, что после согласия фирмы отказывает соискатель. По-этому заинтересовать его разного рода плюшками и «сплоченностью команды» тоже необходимо.

Если тема кого-то обижает, давайте удалим её. :)

Если эта тема кому то и повредит-то только Вам.

Для меня не понятно, зачем перед техническим собеседованием, делать обычное

Я могу Вам обьяснить и это, после этого Вы будете недовльны чем? цветом стен?

От этого у меня остался неприятный осадок.

Би сириос. Неприятны осадок у Вас от того что Вы провалили собеседование. Даже вопроса не поняли и не смогли выяснить что от Вас требуется.

Леголас. Не стоит пытаться вывести меня из равновесия. :)
У Вас это смешно получается. :)
Если Вы любите учить людей, давайте поучите меня Java, попрактикуемся.

Мне не двадцать лет, чтобы реагировать на Вашу дешёвую провокацию. Расслабьтесь :)

Провалить, это звучит от Вас.

Я считаю, что я товар, который не подошёл покупателю. Ушёл учиться, набивать себе цену. :)

не пытаюсь я вывести Вас из себя, я пытаюсь направить Вас хоть сколько-нибудь в конструктивное русло. Рассказывать о компании перед техническим собеседованием это устоявшаяся практика. Оно делается не просто так, а с определённой целью.
Далее подумайте на секунду, вот Вы походили по компаниям и сколько вещё вам всего не понравилось?
1. заставляют резуме писать, и сразу от Вас совет компании почему им этого не надо делать
2. Выслали форму. Эти формы компании высылают специально тем кто не может сам написать резюме — Вы опять недовольны
3. Усталый мужик на СС... какой ужас
4. С Вами милая девушка провела ХР интервью, порекламировала чуть-чуть компанию, как могла постаралась создать у Вас позитивное о ней впечатление — у Вас осадок
5. Вопросы на обоих интервью не те, спрашивают не так + какие-то обвинения в сторону интервьюеров.

Может всё-таки проблемма не в компаниях?

Если Вы любите учить людей, давайте поучите меня Java, попрактикуемся.

Я люблю учить тому что сам знаю. С Джавой к сожалению помочь Вам не смогу.

Леголас, у Вас понимание происходящего в извращённой форме.
Я не считаю абсолютно так, как Вы описываете в своих пунктах.
1. По резюме, я не давал советы. Я спрашивал зачем требуют резюме на курсы от студентов у которых нет стажа.
2. Форму мне выслали, довольный, очень понравилась. Где я писал о том, что мне это не понравилось, я не знаю.
3. Да, для меня важно как выглядит человек. Встречаю по одёжке. Если человек не опрятный, грязный, не мытый и т.д. Я не испытываю симпатии к такому человеку. :)
4. У меня осадок не из-за милой девушки, которая делала хорошо свою работу. Я не понимаю, почему техническое собеседование не поменять местами с разговором про условия компании? По-моему, сначала нужно говорить о том подхожу ли компании я, а только потом переходить — согласен ли я работать при таких условиях. Мне кажется, это логично.

5. Вопросы спрашивают те, которые хотят спросить. Почему не те? Почему обвинения в сторону сотрудников? Где Вы такое нашли, опять не имею понятия.

Естественно проблема во мне, я не отрицал что у меня отсутствует практика и я не умею программировать. :)

Чтобы учить других, нужно для начала разобраться с собой.

Я спрашивал зачем требуют резюме на курсы от студентов у которых нет стажа.

Для того, что в компании (на будущее) хранится информацию о людях, которые приходят к ним на собеседования. Помимо этого, не все студенты без стажа, так что некоторые могут туда вписать свой хоть какой-нить небольшой опыт.

Помню одну истину: проблема коммуникации — проблема двух человек. Это к тому, что вопрос не понял. «не смогли выяснить что от Вас требуется» — вот проблема. «НЕ смог выяснить» — вот что ему не даёт покоя. Он хотел понять, что от него требуется, и почему его варианты не подходят. Тестер просто должен был сказать: сделай так, как это описано в учебниках, я просто хочу проверить читал ли ты его или нет. Тогда бы автор просто бы понял, что ему надо прочитать эту книгу.

Подписаться на комментарии