Работать программером, куда и за сколько пойти?
пока на собеседования походи, научись себя продавать... там глядишь и работа найдется...
баков на 400, если кто-то смилостивится, прикинув, что года через два ты начнешь давать результат.
Можешь попробовать попасть на стажировку в Люксофт.
Советую точно сформулировать, чего ты хочешь.
И если это что-то типа: интересую тем-то тем-то и хочу стать в этих областях профессионалом.
После этого достаточно составить список контор, работа в которых в соответствии с этой целью тебя устраивает, и разослать им свое краткое резюме (желательно без вложений, и чтобы по теме письма (ну и по его началу тоже) была ясна твоя цель (а то отсеят как спам) (ну и ящик стоит солидный выбрать (твой МГУ-шный должен подойти
Знакомый так устроился дизайнером на 400 не имея почти ничего, кроме желания...
Советую точно сформулировать, чего ты хочешь.
И если это что-то типа: интересую тем-то тем-то и хочу стать в этих областях профессионалом.
После этого достаточно составить список контор, работа в которых в соответствии с этой целью тебя устраивает, и разослать им свое краткое резюме (желательно без вложений, и чтобы по теме письма (ну и по его началу тоже) была ясна твоя цель (а то отсеят как спам) (ну и ящик стоит солидный выбрать (твой МГУ-шный должен подойти
Знакомый так устроился дизайнером на 400 не имея почти ничего, кроме желания...
Научись ООП'у, например, на C++, разберись с WinApi (это все в рамках ООП познакомься с базами данных, а заодно научись их подключать и использовать в своих программах. Чистый HTML - это мало, добавь к неу знание JavaScript, и неплохо было бы знать еще на выбор: CGI-PHP-PERL или JSP-servlets.
С перечисленным выше набором продавай себя не менее, чем за $400.
И еще, думаю, что быстрее будет повысить свои знания и найти работу, чем наоборот. Там же ничего сложного по сути нет, только вопрос времени и практики.
Удачи!
P.S. Если хочешь наверняка, найди какую-нибудь стажировку, например, Luxoft. Поначалу три месяца будешь за 100 баксов (стипендия ТЕБЕ) лекции слушать по всему вышеперечисленному, а потом возьмут на работу на 99%
|Способности к абстрактному мышлению на высоте, обучаемость хорошая, программировать нравится...- это есть у всех, никого не удивишь.
С перечисленным выше набором продавай себя не менее, чем за $400.
И еще, думаю, что быстрее будет повысить свои знания и найти работу, чем наоборот. Там же ничего сложного по сути нет, только вопрос времени и практики.
Удачи!
P.S. Если хочешь наверняка, найди какую-нибудь стажировку, например, Luxoft. Поначалу три месяца будешь за 100 баксов (стипендия ТЕБЕ) лекции слушать по всему вышеперечисленному, а потом возьмут на работу на 99%
Просто интересно, по поводу "идеального знания" C. Пара совершенно реальных и простых вопросов. Никуда не глядя.
1) Расшифруй
2)
b - ?
3) Реализуй
не пользуясь никакими управляющими операторами(в т.ч. ?:).
UPDATE Вызовы функций и макросов - тоже.
a, b, c - все одного типа. Но, однако, неизвестно какого (скажем, выбор из int, unsigned int, float и long double).
Ну не пара, ну тройка...
2Модераторы
Плиз, не кидайте в H&S до первого его ответа.
2All Вопросы - хозяину треда.
Вообще, варианты третьего желающие могут писать в приват. Там есть где облажаться.
1) Расшифруй
int (*(*(*fptr[3];
2)
stuct a {};
...
int b = sizeof(struct a);
b - ?
3) Реализуй
с = max (a,b)
не пользуясь никакими управляющими операторами(в т.ч. ?:).
UPDATE Вызовы функций и макросов - тоже.
a, b, c - все одного типа. Но, однако, неизвестно какого (скажем, выбор из int, unsigned int, float и long double).Ну не пара, ну тройка...
2Модераторы
Плиз, не кидайте в H&S до первого его ответа.
2All Вопросы - хозяину треда.
Вообще, варианты третьего желающие могут писать в приват. Там есть где облажаться.
а в чем понт?
максимум, где это понадобится - на экзамене. А за это денег не платят.
максимум, где это понадобится - на экзамене. А за это денег не платят.
Вот я тоже не понимаю. 
Второй вопрос задавали мне. Третий - кому-то из знакомых.
Ну а первый, мне кажется, совершенно реальный.

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

Хых, вроде как автор треда не собирается отвечать на эти вопросы. Может напишет кто-нить ответы на 1-й и 2-й вопросы. Жуть как интересно.
Автор треда может и не обладать должной оперативностью.
Ща напишу. В приват.
Ща напишу. В приват.
удалено
%
вот еще задачка
есть очень большой однонаправленный список.
Придумать алгоритм проверки наличия циклов в нем.
Количество требуемой памяти не должно зависеть от длины списка.
вот еще задачка
есть очень большой однонаправленный список.
Придумать алгоритм проверки наличия циклов в нем.
Количество требуемой памяти не должно зависеть от длины списка.
Вот еще задачка на сообразительность:
известно, что программа уходит в вечный цикл

int a[5], i;
for (i=0, i<=5, i++) a[i]=0;
известно, что программа уходит в вечный цикл

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


Да, насчет идеальности я чересчур поспешил,
int (*(*(*fptr[3];
Попытка номер раз: это указатель на ф-цию, которая возвращает указатель на массив из 3-х указателей на ф-ции, возвращающие целые значения.
Насчет остальных, надо подольше подумать.
int (*(*(*fptr[3];
Попытка номер раз: это указатель на ф-цию, которая возвращает указатель на массив из 3-х указателей на ф-ции, возвращающие целые значения.
Насчет остальных, надо подольше подумать.

int a[5], i;
for (i=0, i<=5, i++) a[i]=0;
Здесь внутри скобок стоят три оператора, которые выполняются по-очереди, в результате после выполнения очередной петли цикла i всегда становится равным 1, и таким образом никогда не становится больше пяти, что приводит к тому, что цикл бесконечен.
Чтобы эта прога начала работать, самый логичный способ - поставить точки с запятой на место запятых внутри скобок.
stuct a {};
...
int b = sizeof(struct a);
По-моему скромному мнению ответ может зависеть от платформы. Может зависеть от того, выравнивает ли компилятор размер структуры до числа кратного, например, восьми.
Как по твоему, 0 кратен 8 ?
template <class T>
T max(T a, T b){
return( a-b)>=0) * a + a-b)<0) * b);
}
однако может быть проблема, если компилятор при вычислении выражения (a-b)>=0 и подобных ему присвоит результату не 0 или 1, а 0 или любое ненулевое значение. Ибо он так может сделать, поскольку в С не регламентировано, что ИСТИНА = единица.
ХЗ, вроде кратен.
Borland C++ 3.1 заявил, что результат операции равен единице.
Borland C++ 3.1 заявил, что результат операции равен единице.
>int a[5], i;for (i=0, i<=5, i++) a=0;
VC++6 Отказался компилировать. И по моему мнению это ошибка, а не бесконечный цикл.
VC++6 Отказался компилировать. И по моему мнению это ошибка, а не бесконечный цикл.
Безусловно - МВ самая лучшая контора !
Следующее задание - найти, где на самом деле ошибка в этом коде 

int a[5], i;for (i=0, i<=5, i++) a=0;
Естесственно это ошибка
ты прав если так:
int a[5], i;for (i=0, i<=5, i++;;) a=0;
Естесственно это ошибка
ты прав если так:
int a[5], i;for (i=0, i<=5, i++;;) a=0;
Да.
Кому интересно, здесь - как такие вещи расшифровывать.
Кому интересно, здесь - как такие вещи расшифровывать.
> поскольку в С не регламентировано, что ИСТИНА = единица.
Как оказалось, регламентированно.
Если бы не было:
Как оказалось, регламентированно.
Если бы не было:
a>b)&&c=a)||(1||(c=b);
компилятор выравнивает поля, а не всю структуру...
ради интереса можешь сделать так:
и посмотреть что будет
ради интереса можешь сделать так:
#pragma pack(64)
stuct a {};
int b = sizeof(struct a);
и посмотреть что будет
А по-моему должно быть вот так:
Ты одну скобку забыл.
a>b)&&c=a)||(1||(c=b)
Ты одну скобку забыл.
Какая разница, что он там выравнивает - есть прототип структуры, но она нигде не инициализируется. Вроде, память должна выделиться только в момент создания соответствующего объекта.
Я не силен в С, так что с большой вероятностью прогнал пургу
Я не силен в С, так что с большой вероятностью прогнал пургу

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

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

вообще, в стандарте Си++ от 98-го года я что-то не нашел почему размер структуры без полей должен быть равен 1. То что больше нуля - это обязательно
Ой, а что там? Вроде ничего интересного сегодня.
Что, прямо таки ни одного свежего буфер оверрана?
Ну тогда я, наверно, не все ошибки нашёл.
Ну тогда я, наверно, не все ошибки нашёл.

Откомпилил с помощью gcc 2.95.4
пишет 0
typedef struct
{
}a;
printf("%d", sizeof(a;
пишет 0
А еще в твоем примере, если размер массива - 5 элементов, надо писать в условии цикла
for(i=0; i<5; i++)
а не i<=5
for(i=0; i<5; i++)
а не i<=5
а ты попробуй написать <=5 

; вместо , надо
Post deleted by
>Думаю, можешь писать bag report.
ага, в Fendi
ага, в Fendi
Ну а я чё - я ни чё... 

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

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

Ломанись в Абби. Только там вступительные экзамены только 1 раз можно сдавать.
А так и платят непохо. И если чего не знаешь -выучишь.
по началу 600
www.abbyy.ru
А так и платят непохо. И если чего не знаешь -выучишь.
по началу 600
www.abbyy.ru
int (*(*(*fptr[3];
так дела не делают
stuct a {};
...
int b = sizeof(struct a);
зависит от обстоятельств, скорее всего 0
с = max (a,b)
если можно использовать abs/fabs/sqrt, то полусумма модулей разности и суммы a и b (мб ошибаюсь, точно не помню, если интересно могу уточнить)
есть очень большой однонаправленный список.
Придумать алгоритм проверки наличия циклов в нем.
Количество требуемой памяти не должно зависеть от длины списка.
если он без циклов, то в нем N-1 ребер, попробуй прочитать N+1 элемент, если смог - есть циклы.
int a[5], i;
for (i=0, i<=5, i++) a[i]=0;
i и a[5] в памяти в одном месте, если это имелось ввиду
кальные задачи. для комплекта не хватает классической swap(a,b) не используя c. это правда, что на тестах/собеседованиях такие дают?
int (*(*(*fptr[3];
> так дела не делают
Вопрос не в "делают - не делают", а в умении разбирать объявления.
stuct a {};
...
int b = sizeof(struct a);
> скорее всего 0
Насколько мне известно, 1.
с = max (a,b);
> если можно использовать abs/fabs/sqrt
Вызовы функций запрещены.
Что касается остальных задач, то они никак не на знание C.
результат похоже зависит от того, Си это или Си++:
> cat test.c
#include "stdio.h"
struct A{};
int main
{
return printf("%d\n", sizeof(struct A;
}
> gcc -dumpversion
3.2.2
> gcc test.c -o test
> ./test
0
> gcc -x c++ test.c -o test2
> ./test2
1
Задачка не интересная, очевидная. Я не уверен, что у всех компиляторов будет бесконечный цикл, вот если бы это была структура, тогда да.
Это, во-первых, редефинишен, а во-вторых, C++, а не C.
это не редефинишн, т.к. стандартный max лежит в namespace std
Более того, после оптимизации i очень может оказаться в регистре, и получим мы...
ошибку доступа?
ошибку доступа?
int (*(*(*fptr[3];А на perl можно еще более непонятно завернуть, что из этого?
Если мне такое покажут на собеседовании, то я скажу: "Похоже этот код нужно переделать. Его тяжело читать".
stuct a {};
...
int b = sizeof(struct a);
> скорее всего 0
Насколько мне известно, 1.
gcc - 0, msvc не скомпилировалось
>>> не пользуясь никакими управляющими
>>> операторами(в т.ч. ?:).
>> если можно использовать abs/fabs/sqrt
>Вызовы функций запрещены.
бля, а < и > это не управляющие операторы по твоему, тогда пиши сразу понятно
>>> операторами(в т.ч. ?:).
>> если можно использовать abs/fabs/sqrt
>Вызовы функций запрещены.
бля, а < и > это не управляющие операторы по твоему, тогда пиши сразу понятно
Это - операции.
есть очень большой однонаправленный список.
Придумать алгоритм проверки наличия циклов в нем.
Количество требуемой памяти не должно зависеть от длины списка.
если он без циклов, то в нем N-1 ребер, попробуй прочитать N+1 элемент, если смог - есть циклы.
) ГГГГ размер списка понятное дело не известен.
Уточняю задачу -
написать функцию которая на вход получает указатель на структуру
struct node
{
sturct node *next;
T value;
}
функция должна возвращать 1 если цикл имеется и 0 если нет.
Конец списка - next = 0;
к сожалению не могу прочитать ответ атиллы тк инета нет.
Если кому не влом выложите его сюда.
не знаю, что там по ссылке написано, но задача на 5 минут.
суть такая:
пиздовать по порядку по элементам списка, начиная с корня,
и для элемента с номером N (для корня N=1) смотреть совпадает ли с ним элемент, который отличается N-кратным переходом к элементу next (на каждом переходе проверяя на конец списка, разумеется). Если для какого-то N совпадает, то ясен пень цикл есть, иначе рано или поздно мы наткнемся на конец списка.
Сорри за мой французский =)
суть такая:
пиздовать по порядку по элементам списка, начиная с корня,
и для элемента с номером N (для корня N=1) смотреть совпадает ли с ним элемент, который отличается N-кратным переходом к элементу next (на каждом переходе проверяя на конец списка, разумеется). Если для какого-то N совпадает, то ясен пень цикл есть, иначе рано или поздно мы наткнемся на конец списка.
Сорри за мой французский =)
Че тут думать то. Нужно разрывать список и делать несколько шагов вперед, если все ОК, востановить разрыв и разорвать снова в текущем месте и снова сделать несколько шагов вперед (больше, чем раньше) и т.д. Цикл гарантированно будет найден.
Оставить комментарий
Elina74
Знаю С, можно сказать идеально, в С++ классы знаю, использовал, но наследованием и прочей иерархией никогда не занимался. Paskal на том же уровне. Из визуальных систем лучше всего знаю Visual Basic, C++ Builder примерно на том же уровне, только реже пользовался. Слова WinApi не боюсь, но пока еще не со всем разобрался.С базами данных не знаком, HTML на уровне чистого HTML, того что касается разметки текста, картинки, ссылки...
Способности к абстрактному мышлению на высоте, обучаемость хорошая, программировать нравится...
Чисто теоретически, на какую зарплату я могу рассчитывать, и если идти работать, то куда?