IVAN NAJDANOVIC
Senior App Developer
PREVIOUSLY AT

Flexiple spent good amount of time understanding our requirements, resulting in accurate recommendations and quick ramp up by quality developers.
Overall Flexiple brought in high-level of transparency with quick turnarounds in the hiring process at a significantly lower cost than any alternate options.
Flexiple has been instrumental in helping us grow at a fast pace. Their vetting process for engineers is top notch and they connected us with quality talent quickly.
Flexiple Developers are reviewed on their experience and complexity of products built. Those who display depth and have worked on end-to-end projects are given an introductory call.
Over a call, the developer’s ability to communicate in an articulate manner is tested. A deeper understanding of the candidate’s technical experience and also motivation to freelance is achieved.
Over one or more F2F interviews, the developer’s involvement and performance in building complex software products are assessed. This sets the platform to delve deeper into technology-specific discussions.
Developers' mental agility and problem-solving abilities are tested through a coding test involving algorithmic as well as skill-specific problems. A mixture of live evaluation and timed coding tests is used.
The live experience of working with developers is verified by reaching out to past clients and/or employers. Inputs on various qualitative factors such as reliability, punctuality, communication and responsiveness are received.
Performance during each engagement is continually assessed. Our developers are expected to maintain Flexiple standards across all engagements with our customers.
App development is the process of creating software applications that run on any type of mobile device. These applications can either be pre-installed or downloaded and installed by the user. A typical mobile application utilizes a network connection to work with remote computing resources. It requires enabling backend services for data access through APIs and testing the application on target devices.
If you’re looking to hire a freelance app developer for your company, this guide is going to help you find the perfect fit. We’ve included everything you need to know about hiring an app developer.
We have broken the sections into the following parts:
1. Let's introduce App development to you.
2. Why is App development widespread?
3. What are the tools used by App developer?
3. Writing the Job Description to hire an App developer
4. Interview Questions for hiring a App developer
- Basic Questions
- Advanced Questions
- Data Structures/Algo Questions
These are some of the tools commonly used by app developers:
1. Titanium SDK
The Titanium SDK is a software development kit using which users can develop cross-platform applications. It is an open-source tool that allows writing the code in JavaScript and running as native apps across platforms.
2. Kobiton
This tool provides options for manual and automated testing of mobile applications. Thanks to it, the testing and delivery of the applications are sped up.
3. Qt
Qt is a cross-platform mobile app development tool. It allows for creating the graphical user interface and cross-platform apps. Users can then run these apps on a number of software and hardware platforms including Windows, Linux, Android, and macOS.
4. TensorFlow
In case an app developer intends to integrate AI/ML in their application, TensorFlow is the tool for that. This is an open-source, free collection of modules that is useful for making modules using JavaScript and Python.
5. Apache Cordova
A mobile app development framework, Apache Cordova is an open-source tool using which app developers can build hybrid apps. Languages like HTML, CSS, and JSS can be used rather than platform-specific tech.
Below are some key points that we at Flexiple have learned through trial and error - a process of filtering through over 15,000 developers.
Now that you have made a quality JD, it can still be tricky to evaluate the skills of your applicants. To help you with that, we have created a pool of questions that a good App developer should be comfortable with.
It is important to note that the ability to answer these questions doesn't imply that you have a top quality candidate. But it definitely is a big step in that direction.
To help you navigate through these questions, we’ve categorized the interview questions in 3 parts:
A. Basic concepts: Includes all basic concepts used across languages. This section will give you an understanding of how strong their programming foundation is.
B. Advanced concepts: Includes all concepts that someone with higher expertise should know.
C. DS/Algorithm questions: To test the logical capability of the candidate.
Listed below are a few advantages of using REST web services:
HTML Doctypes are not elements or tags but rather a document type declaration. This document is used to tell the web browser the HTML version used or about any other markup language that is used on the current page.
These doctypes must be added before the <html> tags. The following code is used to declare it.
< !DOCTYPE html >
Session Storage - As the name suggests, this data is stored until the session or tab is closed, however, it is not cleared during reloads. This data remains on the client-side and cannot be transferred to the server.
Local Storage - This data is stored on the client's computer. This data has no expiration, however, it is limited only to string data. Local data can be accessed using Javascript and HTML but cannot be transferred to the server end. Although local storage data does not have an expiration date it can be cleared by the user.
Cookies - Cookies sent back to the server-side and hence the size must be less than 4KB. The data is sent back when a subsequent XHR request is made. Although they are meant for server-side reading they can be accessed on the client-side as well.
These are the common methods used to get an element from the DOM:
import java.util.Scanner; public class Palindrome { public static void main (String[] args) { String original, reverse = ""; Scanner in = new Scanner(System.in); int length; System.out.println("Enter a number or a string"); original = in.nextLine(); length = original.length(); for (int i =length -1; i>;=0; i--) { reverse = reverse + original.charAt(i); } System.out.println("The reverse is: " +reverse); if(original.equals(reverse)) System.out.println("The string is a palindrome"); else System.out.println("The stringis not a palindrome"); } }
Output: For String- Enter a number or a string sam The reverse is: mas The string is not a palindrome For Number-Enter a number or a string 99 The reverse is: 99 The number is a palindrome
$x = 2 $y = 4 $z = 6 if($z > $y > $x) { echo “true”; }else{ echo “false”; }
The answer is False. It may look like the output can be true because 6 > 4 > 2 is true, but PHP evaluates $z > $y first, which returns a boolean value of 1 or true. This value (true or 1) is compared to the next integer in the chain, bool(1) > $z, which will result in NULL and echo “false.”