Image for post
Image for post
Photo from Pixabay

As I mentioned in the previous article, most of the entry and mid-level iOS interviews still circles around computer science knowledge such as Data Structures and Algorithms. I am publishing a series of Swift code challenge articles to give an example of what we need to know in interviews.

I still recall how I learned a lesson in my first iOS interview. At the time I prepared for that interview, I searched around using keywords like “iOS interview questions” and read through field knowledge questions. However, on the day of the interview, I was thrown a series of Data Structures and Algorithms problems. Solving them in Swift is the only thing I could link them to iOS development. Of course, I didn’t do well on them since I had focused on a completely wrong direction in interview preparation. Since then, I’ve been concentrating more on DS and algorithms materials for interviews. …


Image for post
Image for post
Photo from Pixabay

As LeetCode extends its code challenge to May, it is a good opportunity for us to keep polishing up our coding skills. Besides, it is a helpful tool for us to prepare for iOS technical interviews.

Why would coding practice help our interviews? In my iOS technical interview experience (entry to mid-level), only less than 20% of them are about iOS field knowledge, the rest 80% of them are coding questions that require practical skills. Furthermore, most of those coding questions may not be as related to your daily iOS development, instead, they are mainly focusing on Data Structures and Algorithms. …


Image for post
Image for post
Photo from Pixabay

This is the last week of the 30-Day Code Challenge. I hope you feel your iOS and Swift skills have extended to the next level. Anyway, good job to those developers sticking around this.

If you miss the articles for the previous weeks, here’s the compilation of them — Week 1, Week 2, Week 3, and Week 4. All solutions and unit tests are up to my Github repo, feel free to use them for your interview preparation.

The following are the remaining 2 coding questions of the challenge that we are going to cover in this article.

  1. Binary Tree Maximum Path Sum (Solution)…

Image for post
Image for post
Photo from Pixabay

Here comes the fourth week of the challenge. Keep grinding. If you need to catch up a bit, you can find challenges of the previous weeks here — Week 1, Week 2, and Week 3

Also, feel free to utilize my Github repo that includes a solution and unit tests for each coding question of the code challenge.

In this article, we’ll discuss the following 7 programming questions from week 4 of the code challenge.

  1. Subarray Sum Equals K (Solution) 🥇
  2. Bitwise AND of Numbers Range (Solution)
  3. LRU Cache (Solution)
  4. Jump Game (Solution)
  5. Longest Common Subsequence (Solution) 🥉
  6. Maximal Square (Solution)…

Image for post
Image for post
Photo from Pixabay

Following the previous articles — Week 1/5 and Week 2/5, we will continue diving into iOS technical interview preparation with the third week of the 30-day code challenge.

Developers who would like to practice by themselves, feel free to take advantage of my Github repo, which includes solutions and unit tests for the 30-day code challenge.

The below topics are the 7 programming questions of the week that we are going to cover in this article.

  1. Product of Array Except Self (Solution)
  2. Valid Parenthesis String (Solution) 🥇
  3. Number of Islands (Solution) 🥈
  4. Minimum Path Sum (Solution)
  5. Search in Rotated Sorted Array (Solution)…

Image for post
Image for post
Photo from Pixabay

The Swift 30-day code challenge is intended for developers who are preparing upcoming iOS interviews or for those who are looking to advance their Swift programming skills. Just FYI, if you haven’t done the first-week code challenges, you can find it here. Also, proceed to Week 3 if you want.

For developers who want to work on their own, feel free to utilize my Github repo, which includes a solution and unit tests for each coding question.

Let’s get started. In this article, we will discuss another 7 programming questions from the second-week of 30-day code challenge.

  1. Middle of the Linked List

Image for post
Image for post
Photo from Pixabay

During this stay-at-home period, LeetCode announced earlier that they’re running a 30-day challenge for the month of April. This challenge provides a list of 30 high-frequency interview questions, which is a great opportunity for us to study for future code interviews.

I plan to publish a series of articles to walk you through the challenge questions using Swift. For each question, I will provide an easy-to-understand solution as well as time complexity estimate of it. In addition, as an interviewee and interviewer of iOS technical interviews, I will mention what you could expect in iOS interviews throughout this series.

For those people who want to work on their own, feel free to utilize my Github repo, which includes a solution and unit tests for each coding question. If you have completed the first-week challenge, you can go ahead to the second-week one here. …


Image for post
Image for post

According to Jakob Nielsen, there is a guideline that defines appropriate user interface response time limits.

0.1 second is about the limit for having the user feel that the system is reacting instantaneously.

That being said, when you design a button, it has to give user timely response. However, there are circumstances that you have to perform burden loading tasks from which the results are not likely to be available for the users immediately. …


Image for post
Image for post

Are you ready to develop an app with your unique visual style? As we have discussed about how to create your own Material Design search bar and search results view, in this final post, we will apply those two UI widgets to an application — A location searching app. Applying those UI widgets, the app is going to look much different from UISearchViewController though having similar functions.

This post is intended for intermediate level Swift developers who create UI for their app programmatically without using storyboard.

Getting started, you can take a look at the final app that we will develop below. I am attaching the links — Part1 and Part2 for those who haven’t completed the necessary UI work for search bar and search results view. …


Image for post
Image for post

Resuming our Search UI development in Part 1, we will be discussing about creating material design search results view that works with the search bar we previously created. Search results view is also an essential element of Search UI. Therefore, the importance of designing a user-friendly search results view shouldn’t be overlooked.

In this post, I refer to raywenderlich to devise an enum-driven table view, which establishes a clean control of table view and a better way to handle error events. Moreover, we will apply material design widgets to elevate the visual of the UI.

This post is intended for intermediate level Swift developers who create UI for their app programmatically without using storyboard. …

About

Michael T. Ho

iOS/Mobile App Developer (US)

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