Хелп!! Хелп!! Ацилю-у-у-у!!!
Feb. 1st, 2009 05:57 pmНи хрена не успеваю.
Везде завал, куча проблем, крокодил не ловится, кокос не растет, алгоритм не пишется, проект валится не начавшись.
Ребят подскажите мне 6-8 заданий для экзамена для начинающего программера по С/С++.
Времени нет интервью проводить, хоть дать начальству пусть кого-нибудь посадит выдавать эти листочки потенциальным претендентам.
А то народ ждет, а я уже только что из туалета собеседования не провожу.
Сегодня по дороге на работу в машине по телефону общалась.
Надо где-то пару заданий на С++ с классами, пару на простейшую отрисовку простейшего битмапа и сколько-нибудь общих.
Что-нибудь поумнее реверса списка. Это только ленивый наизусть не заучил.
Везде завал, куча проблем, крокодил не ловится, кокос не растет, алгоритм не пишется, проект валится не начавшись.
Ребят подскажите мне 6-8 заданий для экзамена для начинающего программера по С/С++.
Времени нет интервью проводить, хоть дать начальству пусть кого-нибудь посадит выдавать эти листочки потенциальным претендентам.
А то народ ждет, а я уже только что из туалета собеседования не провожу.
Сегодня по дороге на работу в машине по телефону общалась.
Надо где-то пару заданий на С++ с классами, пару на простейшую отрисовку простейшего битмапа и сколько-нибудь общих.
Что-нибудь поумнее реверса списка. Это только ленивый наизусть не заучил.
no subject
on 2009-02-01 04:32 pm (UTC)no subject
on 2009-02-01 04:38 pm (UTC)1. Какие два вида перегрузки функций Вы знаете.
2. Что такое множественное наследование, чем оно плохо.
3. Что такое шаблонный класс.
4. Что делает паттерн "singletone", назовите типичное применение такого паттерна.
5. Что делает паттерн "class factory", где его имеет смысл применять.
6. почему запись if (1 == x) на практике лучше, нежели if (x == 1)
7. Структура битмапа выглядит вот так... (показать википедию) напишите функцию, создающую из битмапа битмап с указанными координатами (crop).
8. Чем однонаправленный список отличается от двунаправленного?
9. Какие стандартные контейнеры Вы знаете? Объясните приемущества использования одних по отношению к другим для различного класса задач.
10. Есть вот такой код:
char* p = NULL;
p = new char[10];
...
...
...
delete p;
Объясните, что здесь не так и почему.
11. Вам нужно заполнить одним и тем же значением все элементы двумерного массива, напишите три способа это сделать: самый медленный, побыстрее и самый быстрый.
12. Что такое итератор контейнера, зачем он нужен.
13. Чем плоха идея объявить все члены класса открытыми.
no subject
on 2009-02-01 05:31 pm (UTC)4. Написать реализацию singleton'а. Чтобы была устойчива к многопоточности.
11. Самый быстрый - на каком процессоре и какого размера элементы? :) И если в поэлементное копирование вставить вызовы Sleep(10) - то сойдут ли способы за медленный и побыстрее? :)
А остальные вопросы имхо проще, чем реверс списка. Так что лучше реверс списка (в качестве задачи). Вопросы же задавать при личном собеседовании - они неплохие.
no subject
on 2009-02-01 06:56 pm (UTC)no subject
on 2009-02-01 07:35 pm (UTC)no subject
on 2009-02-02 09:23 am (UTC)no subject
on 2009-02-02 09:21 am (UTC)no subject
on 2009-02-02 09:23 am (UTC)я правда пишу на JAVA и C++ подзабыла, но
on 2009-02-01 06:01 pm (UTC)Я бы попросила порассуждать на тему Inheritance vs. Composition или как иnheritance нарушает encapsulation и послушала бы как человек разбирается в теме.
А ещё хорошо дать код почитать, по той теме в которой претендент будет работать, пусть расскажет что знает :)
Re: я правда пишу на JAVA и C++ подзабыла, но
on 2009-02-01 07:38 pm (UTC)Сможете нормальную реализацию привести?
>Есть достаточно других паттернов, тот же фасад или медиатор, только я не знаю на сколько это начальный уровень.
Эти паттерны в обычной работе врядли пригодятся и расчитывать на их знание - бесполезно (ибо не даст ничего - человек который их не знает очень вероятно не так уж и плох)
>Я бы попросила порассуждать на тему Inheritance vs. Composition или как иnheritance нарушает encapsulation и послушала бы как человек разбирается в теме.
Вот это имхо пустые слова будут. Хотя фиг знает...
>А ещё хорошо дать код почитать, по той теме в которой претендент будет работать, пусть расскажет что знает :)
А это - хорошая вещь :)
Re: я правда пишу на JAVA и C++ подзабыла, но
on 2009-02-01 07:56 pm (UTC)Извините, но мне абсолютно не интересно вести беседу в таком ключе, в добавок тяжело с русскими компьютерными терминами.
На счёт singleton:) именно это меня и спрашивали на интервью и почти всех моих знакомых, это как бородатый анекдот.
Медиатор и фасад используют :) может быть вы не сталкивались.
На счёт пустых слов.. я пропущу мимо ушей.
Re: я правда пишу на JAVA и C++ подзабыла, но
on 2009-02-01 08:01 pm (UTC)2. Рассуждения на тему наследования и аггрегации действительно считаю пустыми. Ну не выявляют они хороших программистов!
3. А синглетон потому и спрашивают, что это полезно и достаточно глубоко. Не уверен, что даже те, кого уже спрашивали, смогут нормально его реализовать.
Re: я правда пишу на JAVA и C++ подзабыла, но
on 2009-02-02 09:23 am (UTC)no subject
on 2009-02-01 08:25 pm (UTC){
public:
A() { foo(); }
virtual ~A() { foo(); }
virtual void foo() { cout << "aaa" << endl; }
}
class B : public A
{
public:
void foo() { cout << "bbb" << endl; }
}
int main(int argc, char *argv[])
{
B b;
}
no subject
on 2009-02-01 09:11 pm (UTC)2. Будет ли работать main?
3. Если нет то почему?
4. Как починить?
5. Что еще стоит добавить к классу?
class not_so_auto_ptr
{
public:
not_so_auto_ptr(T* p =0) { _p = p; }
~not_so_auto_ptr() { if(_p) delete _p; }
T& operator*() const { return *_p; }
T* operator->() const { return _p; }
not_so_auto_ptr& operator=(not_so_auto_ptr& rhs) { _p = rhs._p; }
private:
T *_p;
}
class A() {}
not_so_auto_ptr foo() {
return not_so_auto_ptr(new A());
}
int main(int argc, char *argv[])
{
not_so_auto_ptr x(new A());
not_so_auto_ptr y;
y = x;
not_so_auto_ptr z = foo();
}
no subject
on 2009-02-01 09:12 pm (UTC)no subject
on 2009-02-02 09:22 am (UTC)no subject
on 2009-02-02 09:24 am (UTC)no subject
on 2009-02-02 10:02 pm (UTC)