Работать программером, куда и за сколько пойти?
пока на собеседования походи, научись себя продавать... там глядишь и работа найдется...
баков на 400, если кто-то смилостивится, прикинув, что года через два ты начнешь давать результат.
Советую точно сформулировать, чего ты хочешь.
И если это что-то типа: интересую тем-то тем-то и хочу стать в этих областях профессионалом.
После этого достаточно составить список контор, работа в которых в соответствии с этой целью тебя устраивает, и разослать им свое краткое резюме (желательно без вложений, и чтобы по теме письма (ну и по его началу тоже) была ясна твоя цель (а то отсеят как спам) (ну и ящик стоит солидный выбрать (твой МГУ-шный должен подойти
Знакомый так устроился дизайнером на 400 не имея почти ничего, кроме желания...
|Способности к абстрактному мышлению на высоте, обучаемость хорошая, программировать нравится...- это есть у всех, никого не удивишь.
С перечисленным выше набором продавай себя не менее, чем за $400.
И еще, думаю, что быстрее будет повысить свои знания и найти работу, чем наоборот. Там же ничего сложного по сути нет, только вопрос времени и практики.
Удачи!
P.S. Если хочешь наверняка, найди какую-нибудь стажировку, например, Luxoft. Поначалу три месяца будешь за 100 баксов (стипендия ТЕБЕ) лекции слушать по всему вышеперечисленному, а потом возьмут на работу на 99%
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 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 заявил, что результат операции равен единице.
VC++6 Отказался компилировать. И по моему мнению это ошибка, а не бесконечный цикл.
Безусловно - МВ самая лучшая контора !
Следующее задание - найти, где на самом деле ошибка в этом коде
Естесственно это ошибка
ты прав если так:
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. То что больше нуля - это обязательно
Ой, а что там? Вроде ничего интересного сегодня.
Ну тогда я, наверно, не все ошибки нашёл.
typedef struct
{
}a;
printf("%d", sizeof(a;
пишет 0
for(i=0; i<5; i++)
а не i<=5
а ты попробуй написать <=5
; вместо , надо
Post deleted by
ага, в Fendi
Ну а я чё - я ни чё...
а задача была не ошибки поправить, а объяснить, почему прога так работает
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
ошибку доступа?
int (*(*(*fptr[3];А на perl можно еще более непонятно завернуть, что из этого?
Если мне такое покажут на собеседовании, то я скажу: "Похоже этот код нужно переделать. Его тяжело читать".
stuct a {};
...
int b = sizeof(struct a);
> скорее всего 0
Насколько мне известно, 1.
gcc - 0, msvc не скомпилировалось
>>> операторами(в т.ч. ?:).
>> если можно использовать abs/fabs/sqrt
>Вызовы функций запрещены.
бля, а < и > это не управляющие операторы по твоему, тогда пиши сразу понятно
Это - операции.
есть очень большой однонаправленный список.
Придумать алгоритм проверки наличия циклов в нем.
Количество требуемой памяти не должно зависеть от длины списка.
если он без циклов, то в нем N-1 ребер, попробуй прочитать N+1 элемент, если смог - есть циклы.
) ГГГГ
размер списка понятное дело не известен.
Уточняю задачу -
написать функцию которая на вход получает указатель на структуру
struct node
{
sturct node *next;
T value;
}
функция должна возвращать 1 если цикл имеется и 0 если нет.
Конец списка - next = 0;
к сожалению не могу прочитать ответ атиллы тк инета нет.
Если кому не влом выложите его сюда.
суть такая:
пиздовать по порядку по элементам списка, начиная с корня,
и для элемента с номером N (для корня N=1) смотреть совпадает ли с ним элемент, который отличается N-кратным переходом к элементу next (на каждом переходе проверяя на конец списка, разумеется). Если для какого-то N совпадает, то ясен пень цикл есть, иначе рано или поздно мы наткнемся на конец списка.
Сорри за мой французский =)
Че тут думать то. Нужно разрывать список и делать несколько шагов вперед, если все ОК, востановить разрыв и разорвать снова в текущем месте и снова сделать несколько шагов вперед (больше, чем раньше) и т.д. Цикл гарантированно будет найден.
Оставить комментарий
Elina74
Знаю С, можно сказать идеально, в С++ классы знаю, использовал, но наследованием и прочей иерархией никогда не занимался. Paskal на том же уровне. Из визуальных систем лучше всего знаю Visual Basic, C++ Builder примерно на том же уровне, только реже пользовался. Слова WinApi не боюсь, но пока еще не со всем разобрался.С базами данных не знаком, HTML на уровне чистого HTML, того что касается разметки текста, картинки, ссылки...
Способности к абстрактному мышлению на высоте, обучаемость хорошая, программировать нравится...
Чисто теоретически, на какую зарплату я могу рассчитывать, и если идти работать, то куда?