Skip to content
tezvyn:

Interoperability

26 bites tagged Interoperability — interview questions with model answers, and 60-second explainers.

iOS & Swift2 min read

Integrate SwiftUI into UIKit and wrap UIKit for SwiftUI

Tests bridging architecture between UIKit and SwiftUI using UIHostingController and UIViewRepresentable. A strong answer names hosting controllers for SwiftUI in UIKit, representable protocols for UIKit in SwiftUI, and lifecycle hooks.

iOS & Swift2 min read

withCheckedThrowingContinuation: Bridge Callbacks to Async/Await

withCheckedThrowingContinuation bridges legacy completion-handler APIs into async/await. Wrap one-shot callback-based work so callers use try await instead of nested blocks. The footgun is resuming twice or never, which checked runtimes catch in debug builds.

Go & Rust2 min read

Purpose of Go import C and Rust equivalent mechanism

This tests FFI entry points: Go's import "C" activates cgo to reference C symbols directly, while Rust uses an unsafe extern "C" block to declare external functions. A red flag is calling either a normal import or omitting unsafe in Rust.

Design Systems2 min read

What is a design token versus a CSS or Sass variable?

Whether you understand abstraction layers in design systems and cross-platform interoperability. Define tokens as vendor-neutral design decisions that generate platform-specific code; contrast with CSS variables (runtime, web-only) and Sass (compile-time…

Design Systems2 min read

What are design tokens and why standardize them?

Tests whether you treat tokens as API contracts between design and engineering. Strong answers define platform-agnostic decisions, cite W3C DTCG spec for cross-platform codegen, and note aliasing prevents drift.

Cloud Platforms2 min read

CloudEvents: The Event Data Standard

CloudEvents provides a common envelope for event data, enabling routing without custom parsers. Use it when events cross clouds, SaaS tools, or internal services. It standardizes wrappers, not payloads, so producers and consumers still need aligned schemas.

Android & Kotlin2 min read

What is an extension function? Write a hasWhitespace extension for String.

Explain receiverType.functionName adds behavior without inheritance; write hasWhitespace with any { it.isWhitespace() }. Kotlin extensions are static dispatch, not true members. Extensions modify classes or override.

TypeScript & Web APIs2 min read

TypeScript's `declare`: A Promise to the Compiler

`declare` promises the TypeScript compiler a value exists, even if it can't see the source. This lets you use untyped JavaScript libraries or browser APIs without errors.

React Native2 min read

React Native's New Architecture Interop Layer

The Interop Layer is a compatibility bridge, letting legacy native modules run in React Native's New Architecture without a full rewrite. Library maintainers must ensure compatibility for users on RN 0.74+. The footgun: remove partial Codegen specs.

MLOps & Infrastructure2 min read

PMML: The 'Save File' for Machine Learning Models

PMML is like a universal "save file" for ML models, using XML to describe everything needed for prediction: features, preprocessing, and model structure. It enables training in Python and deploying in Java. The footgun: verbose files and partial tool support.

iOS & Swift1 min read

Refining Objective-C APIs for Swift with NS_SWIFT_NAME

NS_SWIFT_NAME gives Objective-C code a Swifty alias without changing the original API. Use it to modernize legacy frameworks by removing prefixes for Swift consumption.

iOS & Swift2 min read

Lightweight Generics: Type Safety for Objective-C

Lightweight generics bolt type safety onto Objective-C collections like NSArray. This lets Swift see an NSArray<NSString *> as a type-safe [String] instead of [Any], preventing runtime crashes.

iOS & Swift2 min read

Objective-C Nullability: Bridging to Swift's Optionals

Nullability annotations are like adding `?` or `!` to your Objective-C pointers, telling Swift how to handle `nil`. They're essential in mixed codebases to bridge Objective-C's pointers to Swift's safe Optionals.

iOS & Swift2 min read

Selectors: Objective-C's Function Pointers in Swift

A selector is a lightweight name for a method, not a direct pointer. Swift uses it to call Objective-C code dynamically at runtime. It's common in UIKit for target-action patterns, like button taps. The footgun: forgetting `@objc` causes a runtime crash.

iOS & Swift2 min read

UIViewRepresentable: Bridging UIKit and SwiftUI

UIViewRepresentable is an adapter that lets you use battle-tested UIKit views inside your modern SwiftUI code. Use it for components like WKWebView that lack a native SwiftUI equivalent.

iOS & Swift1 min read

UIHostingController: Bridge SwiftUI into UIKit Apps

UIHostingController is an adapter that lets you use modern SwiftUI views inside a UIKit app by wrapping them in a UIViewController. This is key for migrating apps to SwiftUI or embedding new components.

Go & Rust2 min read

Rust's `libc` Crate: Speaking the OS's Language

The `libc` crate is Rust's dictionary for C types, letting you talk to the OS. Use it for system calls or linking C libraries, like when building low-level network tools.

Go & Rust2 min read

Cgo: The Bridge Between Go and C Code

Cgo is Go's bridge to the C world, letting you call C functions and use C types from your Go code. It's for leveraging existing C libraries or low-level OS APIs. The footgun: cgo calls have high overhead and break Go's simple cross-compilation.

Go & Rust2 min read

Foreign Function Interface (FFI): Calling Other Languages

Think of an FFI as a universal adapter, letting your program call functions written in another language. It's how modern code in Rust or Go can reuse battle-tested C libraries for tasks like graphics or system calls, avoiding a complete rewrite.

Design Systems2 min read

Design Token Transformation: One Source for All Platforms

A design token standard is a universal adapter for your style. It defines properties like color in a standard JSON format, which tools then transform into platform-specific code for iOS, Android, and web. The footgun is building bespoke transformation logic.

Databases & Architecture2 min read

ODBC: The Universal Translator for Databases

ODBC acts as a universal translator, letting one application speak to many different relational databases. Your app uses the standard ODBC interface, and a specific "driver" handles the unique protocol for each database. The footgun is performance overhead.

Data Science & Analytics2 min read

R & Python Interoperability with Reticulate

Reticulate embeds a Python session inside R, letting you use Python libraries as if they were native R objects. Use it when a team uses both languages or you need a Python library in an R workflow.

CSS & Design Systems2 min read

W3C Design Tokens: A JSON Standard for Design Systems

The W3C Design Tokens format is a universal translator for your design system's variables. It's a standard JSON structure that lets design tools and codebases speak the same language for colors and spacing.

CSS & Design Systems2 min read

Design Tokens: A Standardized Language for Your UI

Design tokens are named variables for your UI's visual properties, stored in a central format like JSON. They enable consistent branding and theming across platforms (web, iOS) and tools (Figma, code).

Get Interoperability bites daily.

Five a day, five minutes, offline. With quizzes so it sticks.

Open testing — you’ll join as an early tester.