ПоискПочтаКартыМаркетНовостиСловариБлогиВидеоКартинки
Войти

Работа в Яндексе

Разработчик приложений для Mac OS X

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

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

Вам предстоит решать интересные алгоритмические и системные задачи — развивать существующие и разрабатывать новые приложения Яндекса под Mac OS X, используя широкий спектр технологий (Cocoa, Darwin, BSD и др.).

Обязательно:

  • программирование на C/Objective-C от 3 лет;

  • программирование для Mac OS X (или iOS) от 1 года;

  • параллельное или многопоточное программирование;

  • разработка сетевых приложений (на уровне http);

  • рефакторинг существующего кода;

  • разработка архитектуры приложений.

Условия

    Работа в московском офисе Яндекса полный рабочий день.

    Подробнее об условиях работы в Яндексе

    Продемонстрируйте свои знания

     

    В чём разница между NSDictionary и NSMutableDictionary? Для чего они используются? В чём, на ваш взгляд, их ключевое отличие от CFDictionary и CFMutableDictionary?


    Что распечатает NSLog в результате запуска этой программы? Почему?

    Данное приложение создано в Xcode при помощи шаблона Cocoa Application. Также считаем, что self.timer — это @property (nonatomic, retain) NSTimer * timer;

    - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
          [self performSelectorInBackground:@selector(launchTimer) withObject:nil];
    }
    
    - (void)launchTimer {
          NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
          NSTimeInterval timeInterval = 3.0;
          
          self.timer = [NSTimer scheduledTimerWithTimeInterval:timeInterval target:self selector:@selector(timerFired:)
     userInfo:[NSNumber numberWithDouble:timeInterval] repeats:NO];
          
          [pool release];
    }
    
    - (void)timerFired:(NSTimer *)aTimer {
          NSLog(@"User info: %@", [aTimer userInfo]);
    }
    

    Есть класс Foo, у которого объявлен только для чтения публичный property string.

    #import <Foundation/Foundation.h>
    
    @interface Foo : NSObject {
    @private
    	NSString * string_;
    }
    
    @property (nonatomic, readonly) NSString * string;
    
    - (void)bar;
    
    @end
    
    @implementation Foo
    
    @synthesize string = string_;
    
    - (void)bar {
    	self.string = nil;
    }
    
    - (void)dealloc {
    	[string release];
    	[super dealloc];
    }
    
    @end
    

    Каким образом нужно модифицировать реализацию класса Foo, чтобы можно было использовать конструкцию self.string = nil, не определяя при этом метод -[Foo setString:] и не делая property string доступным на изменение снаружи?


    Есть некое приложение для Mac OS X, написанное на Objective-C. Необходимо узнать, какие интерфейсы присутствуют в приложении, и как приложение выглядит на уровне кода. Ваши действия?


    Укажите ссылки на свои open source проекты, либо на те open source проекты, в которых принимали участие.


    Расскажите нам о себе

     

    Пожалуйста, укажите код города

     
    ОтправитьОчистить

     

     

    Мы постоянно растем и ищем талантливых людей

    У нас хорошая компания не только для обсуждения работы

    Коротко о Яндексе

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

    Стажировка

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

    Памятка

    Кто такой менеджер проектов Яндекса и как им стать

     

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

    ruRu