Know how to ace your next interview as an Android or iOS developer

open laptop with computer code on the screen
open laptop with computer code on the screen
Photo by Christopher Gower on Unsplash

Every time you search for a mobile system design resource on the internet, you’re bombarded with lots of articles. But alas, once you open them, you find out that they’re just a sham. They turn out to be articles related to backend system design instead of mobile system design.

The lack of mobile-specific system design articles is just astounding!

In this article, I will try to tackle the general problems that you might face in a mobile system design interview. I will try to cover as much ground as possible in this article.

This article is not a writeup on…


I guess you're right, but I think it would depend on the size of the struct you're declaring. As far as I think how it works is that:

1. Structs whose size cannot be determined at compile time due to protocol or generic type associations are allocated on the heap.

2. Structs that might take up space more than that of a stack will have to reside in the heap.

Hope this helps! Lemme know if you find something as well 'cause I'm still searching as too !


Value types vs. reference types, stack vs. heap allocation, and more

Photo by Fotis Fotopoulos on Unsplash.

I’ve been asked this question many times during interviews: “What is a class and what is a struct? Mention a few differences and when you would use them.”

So I thought I would tackle this topic starting from the very basics and move on to each of their niche properties.

General Overview

At a very high level, structs and classes can be thought of as constructs that are used to hold values (variables and constants) and functions. …


From closures to higher-order functions, we’ve got it all covered

Photo by Maxwell Nelson on Unsplash

By and large, functions are a basic component of any programming language and is one of the first things that you learn when you start to code as well. In this article we’ll go through the basics and then also delve into some of their details.

Basics: Functions and Closures

Functions and Closures are both constructs provided by Swift to perform a set of tasks within itself. They take in 0 or more parameters which might be needed to performs the tasks and they can optionally return a value.

Functions

Let’s start with functions, since they’re easier to understand.

There are five parts to a…


Manage your app’s memory usage efficiently

A laptop and a cup of coffee lay on a table
A laptop and a cup of coffee lay on a table
Photo by Tomáš Stanislavský on Unsplash

Automatic Reference Counting (ARC) is a memory-management solution that makes sure the memory for the different objects and functions you create are properly allocated and deallocated so the device on which your code runs doesn’t run out of memory.

In order to understand ARC better, let’s give this discussion a little structure by understanding what we as programmers do.

We define variables and functions when we write code. These variables and functions need to be stored in the device’s memory so we can use them and they get removed from the memory once we don’t need them anymore — or…


I’m sure all of us would have felt the need to re-engage our users with the app that we’ve built with all that love. All we need is a way to remind our users that your app can help them with the problems that they are facing! Now how do we do that??

Recently I was figuring out ways to solve this problem of re-engagement when I came across iOS Search APIs. All I knew was that you could index your content on Spotlight but I never took it so seriously, but the more I started reading about it, the…


Photo by NordWood Themes on Unsplash

React Native — the prodigal son for all mobile development! For a long while now I had been putting off my encounter with React Native just because of all the horror stories surrounding it. In the past few months I’ve been using it I formed a few opinions of my own regarding the SDK (remember these are just opinions and need to be taken with a pinch of salt and pepper and probably some marination.). In this article I would like to share these opinions and also help all you people out there who would want to integrate React Native…


Debugging is such an important aspect of any programmer’s life but we usually take it for granted. In this article, I am going to help you level up your debugging skills by exploring a little bit about LLDB and why it is important for us to know a little more than we usually know about it. I shall also talk about what Xcode offers us through their UI to make things easier for us.

The initial motivation to explore this topic was to help me improve my productivity. …


Ever felt like you were spending a considerable amount of your office hours giving your tester a build. You are working on building a version rather than putting fixes on the bugs reported by them. Well if you did, you’re in luck. We are going to discuss how to solve that problem using two of the simplest tools available for us iOS developers.

  1. Fastlane
  2. Travis CI

Before we had Swift integrated into our project (which was written in Objective- C), our build times were pretty small. But that changed as we started writing more and more in Swift. Creating an…

Neel Bakshi

Guy who handles everything mobile @headout among other things! Ex @practo

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store