Question:- What are the types of variables in OOP?
Answer:- There are three types of variables: 1. Instance Variable: It is an object-level variable. It should be declared inside a class but must be outside a method, block, and constructor. It is created when an object is created by using the new keyword. It can be accessed directly by calling the variable name inside the class. 2. Static Variable: It is a class-level variable. It is declared with keyword static inside a class but must be outside of the method, block, and constructor. It stores in static memory. Its visibility is the same as the instance variable. The default value of a static variable is the same as the instance variable. It can be accessed by calling the class_name.variable_name. 3. Local Variable: It is a method-level variable. It can be declared in method, constructor, or block. Note that the use of an access modifier is not allowed with local variables. It is visible only to the method, block, and constructor in which it is declared. Internally, it is implemented at the stack level. It must be declared and initialized before use. Another type of variable is used in object-oriented programming is the reference variable. 4. Reference Variable: It is a variable that points to an object of the class. It points to the location of the object that is stored in the memory.
Question:- Is it possible to overload a constructor?
Answer:- Yes, the constructors can be overloaded by changing the number of arguments accepted by the constructor or by changing the data type of the parameters.
Question:- Can we overload the main() method in Java also give an example?
Answer:- es, we can also overload the main() method in Java. Any number of main() methods can be defined in the class, but the method signature must be different.
Question:- Consider the following scenario: If a class Demo has a static block and a main() method. A print statement is presented in both. The question is which one will first execute, static block or the main() method, and why?
Answer:- JVM first executes the static block on a priority basis. It means JVM first goes to static block even before it looks for the main() method in the program. After that main() method will be executed.
Question:- What is Node.js?
Answer:- Node.js is Server-side scripting which is used to build scalable programs. It is a web application framework built on Google Chromes JavaScript Engine. It runs within the Node.js runtime on Mac OS, Windows, and Linux with no changes. This runtime facilitates you to execute a JavaScript code on any machine outside a browser.
Question:- Is Node.js free to use?
Answer:- Yes. It is released under MIT license and is free to use.
Question:- Is Node a single threaded application?
Answer:- Yes. Node is a single-threaded application with event looping.
Question:- What is the purpose of Node.js?
Answer:- These are the following purposes of Node.js: • Real-time web applications • Network applications • Distributed systems • General purpose applications
Question:- What are the advantages of Node.js?
Answer:- Following are the main advantages of Node.js: • Node.js is asynchronous and event-driven. All API?s of Node.js library are non-blocking, and its server doesnt wait for an API to return data. It moves to the next API after calling it, and a notification mechanism of Events of Node.js responds to the server from the previous API call. • Node.js is very fast because it builds on Google Chrome?s V8 JavaScript engine. Its library is very fast in code execution. • Node.js is single threaded but highly scalable. • Node.js provides a facility of no buffering. Its application never buffers any data. It outputs the data in chunks.
Question:- Explain Node.js web application architecture?
Answer:- A web application distinguishes into 4 layers: • Client Layer: The Client layer contains web browsers, mobile browsers or applications which can make an HTTP request to the web server. • Server Layer: The Server layer contains the Web server which can intercept the request made by clients and pass them the response. • Business Layer: The business layer contains application server which is utilized by the web server to do required processing. This layer interacts with the data layer via database or some external programs. • Data Layer: The Data layer contains databases or any source of data.
Question:- What do you understand by the term I/O?
Answer:- The term I/O stands for input and output. It is used to access anything outside of your application. The I/O describes any program, operation, or device that transfers data to or from a medium or another medium. This medium can be a physical device, network, or files within a system. I/O is loaded into the machine memory to run the program once the application starts.
Question:- How many types of API functions are available in Node.js?
Answer:- There are two types of API functions in Node.js: • Asynchronous, Non-blocking functions • Synchronous, Blocking functions
Question:- What do you understand by the first class function in JavaScript?
Answer:- When functions are treated like any other variable, then those functions are called first-class functions. Apart from JavaScript, many other programming languages, such as Scala, Haskell, etc. follow this pattern. The first class functions can be passed as a param to another function (callback), or a function can return another function (higher-order function). Some examples of higher-order functions that are popularly used are map() and filter().
Question:- Explain the working of Node.js?
Answer:- The workflow of a Node.js web server typically looks like the following diagram. Let us see the flow of operations in detail: • According to the above diagram, the clients send requests to the webserver to interact with the web application. These requests can be non-blocking or blocking and used for querying the data, deleting data, or updating the data. • js receives the incoming requests and adds those to the Event Queue. • After this step, the requests are passed one by one through the Event Loop. It checks if the requests are simple enough not to require any external resources. • The event loop then processes the simple requests (non-blocking operations), such as I/O Polling, and returns the responses to the corresponding clients. • A single thread from the Thread Pool is assigned to a single complex request. This thread is responsible for completing a particular blocking request by accessing external resources, such as computation, database, file system, etc. • Once the task is completed, the response is sent to the Event Loop that sends that response back to the client.
