Можете ли да обясните какво представлява моделът Chain of Response и как се използва?
iOS
Можете ли да обясните какво означава автоматичният механизъм за управление на паметта ARC в iOS?
Как да определим времевите разходи при операцията по вмъкване на нов елемент в масив?
Къде обикновено се реализира броячът на препратки за управление на паметта?
Кое място би избрал за съхранение на конфиденциални изображения и защо?
Можеш ли да изброиш други типове памет, използвани в програмирането, освен стек и купчина?
Какво е минималното количество нишки, необходимо за възникване на взаимна блокировка (Deadlock)?
Можете ли да обясните термина 'опашка' в контекста на структури от данни?
Каква е основната функция на протокола WebSocket и в кои сценарии се използва?
Може ли програмно да се промени височината на отделна клетка в UITableView до принудителна стойност?
Можете ли да обясните какво прави методът layoutIfNeeded в контекста на актуализирането на интерфейса?
Какво те мотивира да избереш кариера като iOS разработчик?
Обяснете концепцията за верига на отговорниците (Responder Chain) в системата за обработка на събития в GUI приложения.
Обяснете етапите на живота на екземпляр на ViewController в iOS приложение.
Каква е разликата между използването на UIStackView и UITableView при създаването на потребителски интерфейс?
enum HTTPMethod: String { case post = "POST" } enum Errors: Error { case invalidUrl case invalidQuery case invalidResponse case httpStatus(Int) } protocol MyDecoder { func decode<T: Decodable>(_: _ type: T.Type, from data: Data) throws -> T } final class NetworkService { private let session: URLSession private let encoder = JSONEncoder() private let decoder: MyDecoder init( session: URLSession = .shared, decoder: MyDecoder ) { self.session = session self.decoder = decoder } func request<Response: Decodable, Body: Encodable>( urlString: String, method: HTTPMethod, body: Body? = nil, headers: [String: String] = [:], query: [String: String] = [:] ) async throws -> Response { guard var components = URLComponents(string: urlString) else { throw Errors.invalidUrl } if !query.isEmpty { components.queryItems = query.map { URLQueryItem(name: $0.key, value: $0.value) } } guard let url = components.url else { throw Errors.invalidQuery } var request = URLRequest(url: url)
В кои ситуации се препоръчва използването на NSLock за синхронизиране на нишки?
Възможно ли е да се отменя изпълнението на задача в системата?
Можете ли да обясните концепцията за слаби препратки в програмирането?
Обяснете основните разлики между синхронния и асинхронния режим на изпълнение на процеси.