Get Hired, by answering these questions in React-Native

React Native(RN) developers are in very high demand, startups, as well as tech giants are hunting them to improve their products. As the demand is going up for RN, a lot of people are trying, practicing, and mastering this technology. RN is a vast technology and it becomes difficult to cover every aspect of it resulting in leftover corners which may generally be important to most of the companies in the market. So, I have prepared a list of important aspects you should know to make yourself the best suitable developer in the RN domain.
I have always looked for people who could answer the below questions and if they were able to answer them, they got hired in my firm, LexHeal. I also helped a few other firms in hiring their RN developer and almost(don’t forget to count for developing skills to work as a team) everyone was satisfied with them. I interviewed more than 500+ people(mainly connecting through LinkedIn) to hire for the RN developer job and I could only finalize 6 of them. What happened during those calls, why the conversion ratio was so low, questions I generally asked them are the ones below. I would try to give short answers to those questions and recommend to you read as much as possible about them on Google. Medium was my best platform to learn about these questions/topics.
Everyone is smart in their own way and try to get what is most suitable for you.
- What is the sequence of Lifecycle Methods: Interviews generally start with a small intro about the developers and simple questions like what are lifecycle methods and this continued with the more important question of what is the sequence in which these lifecycle methods are called.
- Why and where we should bind functions: Binding functions used in components should be dealt cautiously as they provide references to the functions used. Knowing them is a must.
- Why super(props) is used in components constructors: Generally RN component starts with a constructor and most often you would have seen super(props) is being used inside constructors. Understanding this concept will give you a deeper understanding of javascript and RN.
- How Deep copy of JS object works: This phenomenon sounds easy when we compare shallow and deep copy, is it really that simple? It took me a couple of errors and non-functional components to understand it well. Will Object.assign or Spread/Rest operator(…) will work even in nested arrays? You need to dig deeper.
- Do you refer any Boilerplates: I generally asked them whether they used any boilerplates to refer to which will result in improved code quality and better design practice of their application.
- How can you improve RN app performance: Performance of the product should never be compromised while bringing new hybrid technology to the team. This plays a very important role in how many re-rendered are happening on each action, are there any memory leaks, and how your store structure should be designed for better use of Redux. Generally, shouldComponentUpdate, removeClippedSubViews, remove deprecated lifecycle methods, is your answer.
- What conventions you use to maintain code quality: When multiple developers are working on a single project it becomes difficult to maintain a single code structure unless enforced using some tools.
- Image component to contain images of any aspect ratio: Images are a real pain when they are of different aspect ratio. Rendering them with a single code is difficult and for that understanding width, height and resizeModes are extremely important.
- How to write responsive code for RN app: Mobile application needs to be more versatile than web applications as they are required to support more than 12000+ different device types and various architectures. Better use of Flex-Box, understanding dip, dpi, pixel, pixel ratio will help you achieve that. And don’t forget to consider device orientation.
- How much you are familiar with React-Native Animations: Animations have evolved a lot since they started to play a major role in user experience. React-Native supports them very well now. William Candillon has done a marvelous job with RN animations, if you are not familiar with animations so far, go and check him out.
- How much important is to analyze frames in an RN app: Users will tend to uninstall your application if it lags and developers should keep that in mind. It becomes difficult to achieve no lag perfection when you are using hybrid technology. That’s why there is a need for developers like you who can build smooth applications.
- What is React-Native Thread and how it works: RN is a great and cool technology, at the same time there are constraints to it. Knowing what is passed through the RN thread and what’s not will help you to optimize the app performance for your end-users.
- How can you use Memoization in React-Native: I would suggest to just go out there and understand this well.
- What is Redux Thunk/ Redux Saga in Layman terms: Maybe you can explain this to your employer with jargons. And it’s important to know Thunk & Saga, the industry has already started to move towards the latter.
- Hurrrrraaayyyy: This one is not a question it’s an expression And I am sure, you will get hired if you can give answers to these questions. I have considered that you have built small RN applications and are very well familiar with concepts like Components, Props, States, JSX, StyleSheet, AJAX calls, Render, and more as you can name them.
As RN is Javascript(JS) based it’s extremely important to know JS in and out. This Github repository will do the job for you, understand every question asked and you will know javascript more than ever.
Also, check out more blogs of mine which will help you to find answers to some of the questions mentioned here. Things you should do as React-Native Developer, Design Practices for React Native App, and check out my medium profile for more RN blogs.
I have deliberately not answered the questions here because I want you to explore on your own and understanding RN the way great mentors and developers of RN community want you to learn. Shorty, I will answer each one of them in separate blogs. HAVE FUN!!!