Why did the child component have such great self-esteem?
Because its parent kept giving it props!
Okay, I had to start off with a dumb React joke. Let’s try another:
Why couldn’t the React component understand the joke?
Because it didn’t get the context.
Okay, okay, okay. Let’s stop with the jokes and talk about something serious. This article is going to be about React.js and why it is important for you to learn if you want to be a strong UI developer that is in demand in today’s modern hiring climate at top tier software companies.
As a recruiter, it’s part of my job description to keep up with the latest trends within the talent acquisition industry’s hotspots. Which brings me to the topic at hand — why you need to learn ReactJS for your next job interview.
So, the goal of this article is simple. I’m here to play Mr.Miagi to your ‘front-end developing’ Karate Kid. This article will help provide you with the resources you didn’t know you needed for an interview to land the job you always wanted. Wax on, Wax off, people! Just kidding, I can’t have you paint my fence or sand my floors. Instead, I’m going to provide some helpful links and videos to help you learn React Fundamentals.
Technology changes at a rapid pace, and that’s never going to change. Just look at how Angular was the go-to web application framework pre-React. But, what prompted Facebook to develop ReactJS, was the need for a framework that allowed developers to simplify the complex elements of code crafting and aided them in concluding projects at break-neck speed through reprocessing code.
When ReactJS made an entrance, developers could utilize this library to create user interfaces by splitting the UI into manageable components. Imagine the process of developing a web application as something akin to manufacturing a machine. A car, for instance, can be described as a collection of mechanisms — where each component is constructed separately and then put together to form the final product.
Likewise, the process of creating a user interface involves the creation of several components like the checkbox or button, that are placed together to make wrapper components. This action grows and continues until you finally reach the root component (a.k.a the app).
Specialization of components not only allows your app to be more consistent, but it also simplifies development and helps bridge the gap between maintaining and increasing your database.
Microservices and reusable components are becoming more important than ever, in modern development, and React JS’s microservice architecture is primarily one of the reasons why it has gained such popularity. It helps enterprises ship and deploy code efficiently with smaller and more cohesive codebases, while cutting back on errors so they can surpass their competitors.
React’s micro frontend technique also allows autonomous teams to work on an elaborate project simultaneously with the ability to upgrade or rewrite parts of code and thereby bypass the dangers of a full rewrite.
Now that we’ve gone over why React JS is making such waves in web development — let’s move on to the kind of React-related questions you’re likely to run into your interviews.
Here are a few examples of React.js questions and answers you should know from the get-go:
Some of the most notable React.js features are as follows:
Virtual DOM_ — The Document Object Model depicts how your XML and HTML documents are read by the relevant browser, and it also allows the script language to make changes to your website. The virtual DOM in React.js can be described as a virtual reproduction of the actual DOM object because it allows any change in the web application to be re-rendered in the Virtual DOM, which then goes through the difference between the new design and the former DOM representation. After this, the original DOM can update the actual changes; without compromising on application speed or memory._
One-way Data Binding_ — React.js allows for one-way data binding, which gives developers more control throughout the entire application process. Data-flow in another direction requires additional features and can negatively impact overall efficiency._
Component-based simplicity_ — Because React JS entails multiple components (with each component possessing its controls, logic, etc.), it allows developers to work on large scale projects while maintaining the code by making them reusable._
This answer is pretty straight-forward, and concise. But, if you’re looking for some in-depth knowledge about React’s features, then you can try looking here.
One of the most obvious limitations of React is the fact that it isn’t a complete framework — it’s a library. Although, it’s an extensive library, which also means that understanding the way it functions can take time and can be a daunting task for beginners.
Apart from that, the high pace of development that React JS offers can also be a disadvantage at times. For instance, because the environment keeps changing at a rapid pace, developers can feel a little off-kilter in terms of keeping up with the updates.
Believe it or not, this question is more important than it sounds. It is tailor-made for you to leave a strong impression on the interviewer — if you play your cards right.
You can communicate a lot of your qualities indirectly in such personal preference based questions. For example, let’s assume you opted to use React JS because you wanted to boost your employability (like this article suggests); you can run with that.
Why? Because first off, your answer reflects the fact that you’re aware of the latest trends on the market, and you’re willing to put in the time and effort to evolve for whatever the next big development innovation happens to be.
Remember, when you’re asked about why you personally chose to opt for React, your answer needs to illustrate your reasons. Giving the interviewer a song and dance about the features of React JS won’t cut in this situation.
If components are the building blocks of React JS, then states are the core of React.js components. Simply explained, states are data (like property values) are stored, and they control how a component’s behavior or rendering functions. When a state object changes, the component re-renders.
Think of the above ↑ questions as a brief glimpse of what the interviewer might throw your way when talking about React JS. These are, by no means, the whole enchilada, and before you get too disappointed about spending hours researching interview questions about React JS, you can simply scroll down and click one (or all) of the awesome resource links provided below.
Machine learning is enabling computers to tackle tasks that have, until now, only been carried out by people.
From driving cars to translating speech, machine learning is driving an explosion in the capabilities of artificial intelligence— helping software make sense of the messy and unpredictable real world.
But what exactly is machine learning and what is making the current boom in machine learning possible?
#supervised-learning #machine-learning #reinforcement-learning #semi-supervised-learning #unsupervised-learning
Android Interview Questions and Answers from Beginner to Advanced level
DataFlair is committed to provide you all the resources to make you an android professional. We started with android tutorials along with practicals, then we published Real-time android projects along with source code. Now, we come up with frequently asked android interview questions, which will help you in showing expertise in your next interview.
Android – one of the hottest technologies, which is having a bright future. Get ready to crack your next interview with the following android interview questions. These interview questions start with basic and cover deep concepts along with advanced topics.
1. What is Android?
Android is an open-source mobile operating system that is based on the modified versions of Linux kernel. Though it was mainly designed for smartphones, now it is being used for Tablets, Televisions, Smartwatches, and other Android wearables.
2. Who is the inventor of Android Technology?
The inventors of Android Technology are- Andry Rubin, Nick Sears, and Rich Miner.
3. What is the latest version of Android?
The latest version of Android is Android 10.0, known as Android Q. The upcoming major Android release is Android 11, which is the 18th version of Android. [Note: Keep checking the versions, it is as of June 2020.]
4. How many Android versions can you recall right now?
Till now, there are 17 versions of Android, which have their names in alphabetical order. The 18th version of Android is also going to come later this year. The versions of Android are here:
5. Explain the Android Architecture with its components.
This is a popular android developer interview question
Android Architecture consists of 5 components that are-
a. Linux Kernel: It is the foundation of the Android Architecture that resides at the lowest level. It provides the level of abstraction for hardware devices and upper layer components. Linux Kernel also provides various important hardware drivers that act as software interfaces for hardwares like camera, bluetooth, etc.
b. Native Libraries: These are the libraries for Android that are written in C/C++. These libraries are useful to build many core services like ART and HAL. It provides support for core features.
c. Android Runtime: It is an Android Runtime Environment. Android Operating System uses it during the execution of the app. It performs the translation of the application bytecode into the native instructions. The runtime environment of the device then executes these native instructions.
d. Application Framework: Application Framework provides many java classes and interfaces for app development. And it also provides various high-level services. This complete Application framework makes use of Java.
e. Applications: This is the topmost layer of Android Architecture. It provides applications for the end-user, so they can use the android device and compute the tasks.
6. What are the services that the Application framework provides?
The Android application framework has the following key services-
a. Activity Manager: It uses testing and debugging methods.
b. Content provider: It provides the data from application to other layers.
c. Resource Manager: This provides users access to resources.
d. Notification Manager: This gives notification to the users regarding actions taking place in the background.
e. View System: It is the base class for widgets, and it is also responsible for event handling.
7. What are the important features of Linux Kernel?
The important features of the Linux Kernel are as follows:
a. Power Management: Linux Kernel does power management to enhance and improve the battery life of the device.
b. Memory Management: It is useful for the maximum utilization of the available memory of the device.
c. Device Management: It includes managing all the hardware device drivers. It maximizes the utilization of the available resources.
d. Security: It ensures that no application has any such permission that it affects any other application in order to maintain security.
e. Multi-tasking: Multi-tasking provides the users the ease of doing multiple tasks at the same time.
8. What are the building blocks of an Android Application?
This is a popular android interview question for freshers.
The main components of any Android application are- Activity, Services, Content Provider, and Broadcast Receiver. You can understand them as follows:
a. Activity- It is a class that acts as the entry point representing a single screen to the user. It is like a window to show the user interface.
b. Services- Services are the longest-running component that runs in the background.
c. Content Provider- The content provider is an essential component that allows apps to share data between themselves.
d. Broadcast receivers- Broadcast receiver is another most crucial application component. It helps the apps to receive and respond to broadcast messages from the system or some other application.
9. What are the important components of Android Application?
The Components of Android application are listed below:
10. What are the widgets?
Widgets are the variations of Broadcast receivers. They are an important part of home screen customization. They often display some data and also allow users to perform actions on them. Mostly they display the app icon on the screen.
11. Can you name some types of widgets?
Mentioned below are the types of widgets-
a. Informative Widgets: These widgets show some important information. Like, the clock widget or a weather widget.
b. Collective Widgets: They are the collection of some types of elements. For example, a music widget that lets us change, skip, or forward the song.
c. Control Widgets: These widgets help us control the actions within the application through it. Like an email widget that helps check the recent mails.
d. Hybrid Widgets: Hybrid widgets are those that consist of at least two or more types of widgets.
12. What are Intents?
Intents are an important part of Android Applications. They enable communication between components of the same application as well as separate applications. The Intent signals the Android system about a certain event that has occurred.
13. Explain the types of intents briefly?
Intent is of three types that are-
a. Implicit Intents: Implicit intents are those in which there is no description of the component name but only the action.
b. Explicit Intents: In explicit intents, the target component is present by declaring the name of the component.
c. Pending Intents: These are those intents that act as a shield over the Intent objects. It covers the intent objects and grants permission to the external app components to access them.
14. What is a View?
A view is an important building block that helps in designing the user interface of the application. It can be a rectangular box or a circular shape, for example, Text View, Edit Text, Buttons, etc. Views occupy a certain area of the screen, and it is also responsible for event handling. A view is the superclass of all the graphical user interface components.
15. What do you understand by View Group?
It is the subclass of the ViewClass. It gives an invisible container to hold layouts or views. You can understand view groups as special views that are capable of holding other views, that are Child View.
16. What do you understand about Shared Preferences?
It is a simple mechanism for data storage in Android. In this, there is no need to create files, and using APIs, it stores the data in XML files. It stores the data in the pair of key-values. SharedPreferences class lets the user save the values and retrieve them when required. Using SharedPreferences we can save primitive data like- boolean, float, integer, string and long.
17. What is a Notification?
A notification is just like a message that shows up outside the Application UI to provide reminders to the users. They remind the user about a message received, or some other timely information from the app.
18. Give names of Notification types.
There are three types of notifications namely-
a. Toast Notification- This notification is the one that fades away sometime after it pops up.
b. Status Notification- This notification stays till the user takes some action on it.
c. Dialog Notification- This notification is the result of an Active Activity.
19. What are fragments?
A fragment is a part of the complete user interface. These are present in Activity, and an activity can have one or more fragments at the same time. We can reuse a fragment in multiple activities as well.
20. What are the types of fragments?
There are three types of fragments that are: Single Fragment, List Fragment, Fragment Transactions.
21. What are Layout XML files?
Layout XML files contain the structure for the user interface of the application. The XML file also contains various different layouts and views, and they also specify various GUI components that are there in Activity or fragments.
22. What are Resources in Android Application?
The resources in Android Apps defines images, texts, strings, colors, etc. Everything in resources directory is referenced in the source code of the app so that we can use them.
23. Can you develop Android Apps with languages other than Java? If so, name some.
Yes, there are many languages that we can work with, for the development of Android Applications. To name some, I would say Java, Python, C, C++, Kotlin, C#, Corona/LUA.
24. What are the states of the Activity Lifecycle?
Activity lifecycle has the following four stages-
a. Running State: As soon as the activity starts, it is the first state.
b. Paused State: When some other activity starts without closing the previous one, the running activity turns into the Paused state.
c. Resume State: When the activity opens again after being in pause state, it comes into the Resume State.
d. Stopped State: When the user closes the application or stops using it, the activity goes to the Stopped state.
25. What are some methods of Activity?
The methods of Activity are as follows:
26. How can you launch an activity in Android?
We launch an activity using Intents. For this we need to use intent as follows:
27. What is the service lifecycle?
There are two states of a service that are-
a. Started State: This is when the service starts its execution. A Services come in start state only through the startService() method.
b. Bounded State: A service is in the bounded state when it calls the method bindService().
28. What are some methods of Services?
The methods of service are as follows-
29. What are the types of Broadcast?
Broadcasts are of two types that are-
a. Ordered Broadcast: Ordered broadcasts are Synchronous and work in a proper order. It decides the order by using the priority assigned to the broadcasts.
b. Normal Broadcast: These are asynchronous and unordered. They are more efficient as they run unorderly and all at once. But, they lack full utilization of the results.
30. What are useful impotent folders in Android?
The impotent folders in an Android application are-
31. What are the important files for Android Application when working on Android Studio?
This is an important android studio interview question
There are following three files that we need to work on for an application to work-
a. The AndroidManifest.xml file: It has all the information about the application.
b. The MainActivity.java file: It is the app file that actually gets converted to the dalvik executable and runs the application. It is written in java.
c. The Activity_main.xml file: It is the layout file that is available in the res/layout directory. It is another mostly used file while developing the application.
32. Which database do you use for Android Application development?
The database that we use for Android Applications is SQLite. It is because SQLite is lightweight and specially developed for Android Apps. SQLite works the same way as SQL using the same commands.
33. Tell us some features of Android OS.
The best features of Android include-
34. Why did you learn Android development?
Learning Android Studio is a good idea because of the following-
35. What are the different ways of storage supported in Android?
The various storage ways supported in Android are as follows:
36. What are layouts?
Layout is nothing but arrangements of elements on the device screen. These elements can be images, tests, videos, anything. They basically define the structure of the Android user interface to make it user friendly.
37. How many layout types are there?
The type of layouts used in Android Apps are as follows:
38. What is an APK?
An APK stands for Android Package that is a file format of Android Applications. Android OS uses this package for the distribution and installation of the Android Application.
39. What is an Android Manifest file?
The manifest file describes all the essential information about the project application for build tools, Android operating system, and google play. This file is a must for every Android project that we develop, and it is present in the root of the project source set.
#android tutorials #android basic interview questions #android basic questions #android developer interview questions #android interview question and answer #android interview questions #android interview questions for experienced #android interview questions for fresher
Recently, researchers from Google proposed the solution of a very fundamental question in the machine learning community — What is being transferred in Transfer Learning? They explained various tools and analyses to address the fundamental question.
The ability to transfer the domain knowledge of one machine in which it is trained on to another where the data is usually scarce is one of the desired capabilities for machines. Researchers around the globe have been using transfer learning in various deep learning applications, including object detection, image classification, medical imaging tasks, among others.
#developers corner #learn transfer learning #machine learning #transfer learning #transfer learning methods #transfer learning resources
Getting past the technical and coding interview is not always an easy task for most people.
Lucky for you, there are some amazing resources to help you go through easily and grab that position.
In this article, we will go through some of the best GitHub repositories to help you smash the coding interview.
These collections of repositories are essential in highlighting the different arears to focus on and different topics and questions to expect.
Front-end Developer Interview Questions
This repository is everything that entails frontend development.
Covered content includes:
#coding-interviews #technical-interview-tips #programming-interviews #interview-preparation #interview
There is an overall skepticism in the job market with regard to machine learning engineers and their deep understanding of mathematics. The fact is, all machine learning algorithms are essentially mathematical frameworks — support-vector machines formulated as a dual optimization problem, principal component analysis as spectral decomposition filtering, or neural networks as a composition of successive non-linear functions — and only a thorough mathematical understanding will allow you to truly grasp them.
Various Python libraries facilitate the usage of advanced algorithms to simple steps, _e.g. _Scikit-learn library with KNN, K-means, decision trees, etc., or Keras, that lets you build neural network architectures without necessarily understanding the details behind CNNs or RNNs. However, becoming a good machine learning engineer requires much more than that, and interviews for such positions often include questions on, for example, the implementation of KNN or decision trees from scratch or deriving the matrix closed-form solution of linear regression or softmax back-propagation equations.
In this article, we will review some fundamental concepts of calculus — such as derivatives for uni- and multi-dimensional functions, including gradient, **Jacobian and Hessian **— to get you started with your interview preparation and, simultaneously, help you build a good foundation to successfully dive deeper into the exploration of mathematics behind machine learning, especially for neural networks.
These concepts will be demonstrated with 5 examples of derivatives that you should absolutely have in your pocket for interviews:
#interview-questions #mathematics #machine-learning #deep-learning #interview