Giter VIP home page Giter VIP logo

ios-guide's Introduction

Привет, приняв участие за свою практику в более чем 50 собеседованиях как респондент и интервьюер, решил собрать типичные вопросы и ответы, встречающиеся на собеседованиях, а также базовые знания, необходимые в работе, в удобном и кратком формате. Любые пожелания, замечания, указания на ошибки и пул-реквесты приветствуются :-)

ios-guide's People

Contributors

sashakid avatar triggertg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-guide's Issues

Язык Си - фактическая ошибка в "Что такое указатель и ссылка и в чем разница?"

В языке Си нет ссылки (reference), это понятие из С++.
Весь параграф надо либо убрать либо переписать.
Есть:
int *pointer - указатель на инт
int a = 1;
pointer = &a; - взятие адреса переменной и присвоение его в указатель

Непосредственно ссылки (reference) как это описывается в нижеизложенном параметре нет в Си.

Ссылочный параметр – это псевдоним аргумента.

int &count; //count является ссылкой на int.
В вызове функции достаточно указать имя переменной и она будет передана по ссылке, тогда упоминание в теле вызываемой функции переменной по имени ее параметра в действительности является обращением к исходной переменной в вызывающей функции и эта исходная переменная может быть изменена непосредственно вызываемой функцией. Для передачи больших объектов используется константный ссылочный параметр, чтобы обеспечить защиту параметра, как при вызове по значению, и в то же время избежать накладных расходов при передаче копии большого объекта:

const int &count;
Ссылка – это псевдоним для другой переменной и все операции, выполняемые с псевдонимом (ссылкой) выполняются на самом деле с истинной переменной. Псевдоним – другое имя переменной и для него не резервируется место в памяти. Если возвращение ссылки переменной объявлено в функции, то эта переменная должна быть объявлена внутри функции как статическая, иначе ссылка адресуется автоматической переменной, которая после выполнения функции уничтожается.

Раздел "Коллекции в Objective-C"

  1. Разница между Set и Array: "NSSet предназначен для создания несортированных массивов данных" - ну так-то Array тоже под это дело подходит (Array при добавлении элементов тоже ничего не сортирует. И еще про массив: Упорядоченный != отсортированный). Set - это прежде всего реализация математического понятия "множество" (в контейнере содержатся только уникальные объекты).

Раздел "Алгоритмы"

  1. Приведен пример с поиском элемента в массиве. Ищем элемент х в массиве array, если такой элемент есть - возвращаем x, -1 в противном случае. А что, если x = -1? Нигде не сказано, что все элементы в array положительны. Может лучше возвращать индекс i элемента в массиве? Тот же std::find() возвращает итератор, а не сам элемент.
  2. Следующий пример с поиском максимума. Максимум инициализируется первым элементом в массиве, и затем поиск начинается снова с индекса 0. Может тогда с 1?
  3. Та же ошибка с бинарным поиском: если не найден х, возвращается -1. Про положительность элементов array не сказано.
  4. Алгоритм сортировки вставками "устойчив", но не поясняется, какая сортировка является устойчивой.
  5. Сортировка выбором: "Минусы: может быть и устойчивым, и неустойчивым". Но далее показана реализация именно неустойчивой сортировки. Пример с разбором тут

Раздел "iOS"

  1. Фреймворки "Cocoa <...> — родная объектно-ориентированная среда разработки приложений". Это фреймворк.
  2. "Это один из пяти основных API, доступных в Mac OS X, — Cocoa, Carbon, Toolbox (для работы старых приложений Mac OS 9), POSIX и Java". Carbon давно deprecated, а Java уже давно недоступна в macOS из коробки. Надо вручную ее ставить 1, 2

Фактическая ошибка в структуры данных - массивы

Операции:
Получить элемент за время log(n)

Тут описаны абстрактные структуры данных, для массива сложности:

  • доступ по элементу по индексу О(1)
  • поиск элемента - несортированный массив О(n), сортированный - O(log n)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.