JustDial Interview Questions
Just Dial Limited is India's No. 1 Local Search Engine, offering consumers across the country local search-related services via a variety of platforms such as the site, mobile website, voice (pan-India number 8888888888), Apps (Android, iOS), voice (pan-India number 8888888888) and text (SMS). VSS Mani founded the company in 1996, and it is headquartered in Mumbai, India. Justdial has offices in Ahmedabad, Bangalore, Chandigarh, Chennai, Coimbatore, New Delhi, Hyderabad, Jaipur, Kolkata, and Pune, in addition to its headquarters.
Just Dial’s services range from offering business addresses and contact information around the country to placing orders and bookings for leisure, medical, financial, travel, and domestic travel. It collects data from all around the country on hotels, restaurants, auto care, home decor, personal and pet care, fitness, insurance, real estate, sports, and schools, among other industries. As of March 31, 2022, Justdial had a database of over 31.9 million listings and it had 144.8 million quarterly unique users across online, mobile, App, and voice platforms. Justdial's services are available in all major cities, making it a one-stop-shop for 'Anything, Anytime, Anywhere.'
Various factors make Just Dial an ideal place to start your career, ranging from business culture to prospects for advancement. Maintaining a work-life balance is often difficult for people working in the software sector. Just Dial, on the other hand, allows them to maintain a healthy work-life balance. It not only gives you the assurance that you are on the right career path, but it also provides some employment stability. Just Dial creates a terrific work environment that pushes individuals to grow and enhance their talents, which is beneficial to both the individual and the firm. Just Dial believes people are the most important enablers for success, and they are constantly seeking to improve them by building a dynamic and productive environment in which the best talent can flourish.
JustDial Recruitment Process
1. Interview Rounds
1. Aptitude test: The aptitude test is an online exam. It usually consists of 30-40 MCQs and lasts for 60 to 90 minutes. The questions will primarily concern quantitative aptitude and logical reasoning. Questions can also be related to the fundamentals of the programming language for which you are interviewing. This round is mainly conducted for freshers rather than experienced candidates.
2. Coding round: In this round, the candidate will be given 3-4 coding questions to solve with average difficulty. You can write the code in any language. If you are clear with the strings and arrays, you can clear this round easily. Candidates should be well versed in all the syntax of any language.
3. Technical interview: Those who pass the aptitude and coding tests will be invited to a technical interview in person. Essentially, a technical interview is a test of your technical competence for the job, as well as the depth and breadth of your knowledge in your chosen profession. Technical interviews are also used to evaluate your problem-solving abilities, communication abilities, and capacity to think on your feet and deal with stress. Employers are interested in how you solve a problem because it gives them a window into how you might tackle a real-world situation at work. You'll be asked about your past projects and work experiences, as well as what you did and how you used technology, and how successful you were. To prepare yourself, learn the principles of computer science. The candidate should be proficient in at least one of the most recent computer languages, such as Java, C, C++, or Python. Do your best to prepare for this stage of the hiring process, as it is the most difficult. Your technical knowledge, biography, and key projects will be the focus of the entire interview process.
Computer foundations such as Object-Oriented Programming Systems (OOPs), Computer Organization and Architecture (CoA), DataBase Management Systems (DBMS), Computer Networks (CN), and Operating Systems (OS) are all possible questions.
Your success in earlier rounds, your job profile, your experience, and the firm's requirements will all determine the number of technical interviews you have. In most cases, each candidate will only go through one round of technical interviews.
4. HR interview: When you're looking for a new job as a software engineer, it's easy to get lost in the realm of data structures, algorithms, and system architecture, preparing day after day to ace those interviews. But keep in mind that even if you have cleared all other hurdles (aptitude test, technical round, etc.), a poor HR interview can endanger your chances of getting the job.
The questions asked during this round may appear to be casual, but you must be well prepared to answer them because the HR round is the most critical and the only step between you and your dream job. This is where they evaluate your competency, abilities, communication, and — to some extent — your fit with the company's culture.
Maintaining a nice and confident demeanour is the goal. Remember to smile throughout interviews because they can be long and tedious. We've provided the most often asked HR interview questions and their possible sample answers.
- Please tell me about yourself. ((If you're a fresher, start with your academics, projects, achievements, and other curriculum activities. Also, include information about your interests, background, and so on. Start with your current position, achievements, previous work history, and academic and personal details if you're an experienced professional.)
- What do you think your best strength is?
- What makes you think you'd be a good fit for this role at Just Dial?
- At JustDial, where do you see yourself professionally in five years?
- Tell me about a time when you had to overcome a challenge and how you overcame it.
- Tell me about your projects and internships.
- How do you deal with tense situations?
- Tell me about a moment when you went above and beyond your normal duties to complete a task.
- At JustDial, what are your salary requirements? (Prepare for this by doing some salary research to see what similar positions pay in your area before going to the interview. Instead of providing an exact figure, you can and should mention a range.)
- What makes you want to change jobs? (This is a popular question among experienced professionals looking for a change. The simplest way to respond to this question is to say that you are leaving your current job to pursue a promotion. Make sure you don't criticize or speak negatively about your current employer.)
2. Interview Process
We've covered the complete Just Dial interview process in this article, as well as a common preparation approach for acing the interview. This information is based on web research and interviews with Just Dial applicants who have recently completed the process. Just Dial hires both freshers and experienced professionals for a variety of professions and departments in the IT field. Just Dial conducts walk-ins and major placement campaigns for fresher hires on several college campuses as part of their final placements.
These four rounds usually make up the company's selection procedure:
- Aptitude test
- Coding round
- Technical interview
- HR interview
Note: A aptitude round is generally conducted for freshers rather than experienced.
JustDial Technical Interview Questions: Freshers and Experienced
1. What is the purpose of encapsulating a JavaScript source file's full content with a function book?
This is becoming more prevalent, and several prominent JavaScript packages use it. This technique establishes a closure around the full contents of the file, which, maybe most crucially, provides a private namespace, avoiding potential name conflicts between different JavaScript modules and libraries. Another advantage of this method is that it makes it simple to create an alias for a global variable. This is a common feature of jQuery plugins.
2. What are the many sorts of variables in PHP? And explain the different types of arrays in PHP?
In PHP, eight data types are utilised to create variables:
- Whole numbers without a decimal point, such as 4195, are known as integers.
- Doubles are floating-point numbers, such as 3.14159 or 49.1.
- Booleans have only two possible values: true or false.
- NULL is a one-of-a-kind type that has only one value: NULL.
- Character sequences, such as 'PHP supports string operations,' are examples of strings.
- Arrays are named and indexed groupings of other values.
- Objects are instances of programmer-defined classes that can contain a variety of additional values as well as class-specific functionalities.
- Resources are one-of-a-kind variables that keep track of outside-of-PHP references.
In PHP, there are three types of arrays:
- Indexed Array - An indexed array has a numeric index. In a linear method, values are stored and accessed.
- Associative Array - An associative array is an array with strings as the index. Rather than storing element values in a strict linear index sequence, this saves them in conjunction with key values.
- Multidimensional Array - A multidimensional array is an array that contains one or more arrays. Multiple indices are used to access the values.
3. With an example, explain the syntax for the 'foreach' loop.
To loop through arrays, use the foreach expression. The current array element's value is assigned to the $value in each pass, the array pointer is moved by one, and the next element is processed in the following pass.
Syntax-
foreach (array as value)
{
code to be executed;
}
Learn via our Video Courses
4. What is the primary distinction between ASP.NET and PHP?
PHP is a programming language, whereas ASP.NET is a programming framework. In ASP.NET websites, C#, as well as other languages like J#, can be used. ASP.NET is compiled, whereas PHP is interpreted. PHP is platform-independent and typically runs on Linux servers, whereas ASP.NET is designed for Windows computers.
5. What exactly is the distinction between a session and a cookie?
The fundamental distinction between a session and a cookie is that cookies are saved in text file format on the user's computer, whereas sessions are stored on the server.
Cookies, on the other hand, cannot hold many variables; however, Session can. A cookie can be set to expire at any time, but a session is only active as long as the browser is open.
6. What is the purpose of PHP's header() function? In PHP, how do you connect to a URL?
The header() function is used to deliver a client a raw HTTP header. It must be called before the actual output is sent. You can't print any HTML element before calling this function, for example.
PHP comes with a library named cURL, which may already be installed by default. cURL stands for client URL, and it allows you to connect to a URL and retrieve information from it, such as the page's HTML text, HTTP headers, and associated data.
8. In React, what is the objective of render()?
Render() is a requirement for all React components. It returns a single React element that represents the native DOM component. If more than one HTML element needs to be rendered, all of them must be contained within a single enclosing tag, such as form>, group>, div>, and so on. This function must remain pure, i.e., it must always return the same result.
9. What exactly is Redux? What are Redux's three guiding principles?
Redux is one of the most widely used front-end development libraries today. It's a state container for JavaScript applications that manages the entire application's state. Redux applications are easy to test and may be used in a variety of scenarios while maintaining consistent behaviour. The following are Redux's three guiding principles:
- Only source of truth: The entire application's state is saved in an object/state tree within a single store. Debugging and inspecting the programme, as well as keeping track of changes over time, are made easier with the single state tree.
- The state is read-only: The only method to modify the status is to trigger an action. A change is described by an action, which is a simple JS object. Just as the state is the simplest representation of data, the action is the simplest representation of the change to that data.
- Changes are made with pure functions: To specify how actions affect the state tree, you'll require pure functions. The return value of pure functions is wholly defined by the parameters' values.
10. What distinguishes JavaScript from other scripting languages?
JavaScript has the following features:
- It's an interpreted, lightweight programming language.
- It is intended for the development of network-centric applications.
- It works in tandem with Java and complements it.
- It is a scripting language that is open and cross-platform.
11. In JavaScript, what are the various techniques for defining variables? In JavaScript, what is a prompt box?
In JavaScript, there are three ways to define a variable:
- Var – The JavaScript variables statement declares a variable and, if desired, sets the value of the variable. Variable declarations, such as var a =10, are handled before the code is executed.
- Const — Const functions have the property of not being able to modify the object they're called on. If a function is declared const, it can be applied to any object.
- Let – This indicates that a variable can be reassigned, such as a counter in a loop or a value swap in an algorithm. It also means that the variable will only be used in the block where it is declared.
A prompt box is a box that provides a text box for the user to enter input. The prompt() method displays a dialogue box that asks for input from the visitor. If you want the user to enter a value before proceeding to the next page, a prompt box is frequently used. After entering an input value into a prompt box, the user must choose between clicking "OK" or "Cancel" to proceed.
12. What is the procedure for creating a MySQL database with PHP?
A database is a collection of interconnected data that allows for efficient data retrieval, insertion, and deletion from a database and organises the data into tables, views, schemas, and reports. For example, a university database organises data about students, faculty, and administrative staff, among other things, allowing for easy data retrieval, insertion, and deletion.
The following are the fundamental procedures for creating a MySQL database with PHP:
- Connect to the MySQL server from your PHP script.
- If the connection is successful, construct a database using SQL and save it in a string variable.
- Then, one by one, the constructed queries will be run.
13. What's the difference between '==' and '===' operators?
Both of these operators are comparison operators. The distinction between the two operators is that the "==" compares values, whereas the " === " compares both values and types.
The main difference between the "==" and "===" operators is that the former compares variables by making type corrections, for example, if you compare a number with a string with a numeric literal, == allows it, but === does not, because it not only checks the value but also the type of two variables; if two variables are not of the same type, "===" returns false, while "==" returns true.
14. In Java, what are constructors?
A constructor is a block of code in Java that is used to initialise an object. Its name must be the same as the classes. It also doesn't have a return type and is called automatically when an object is created.
Constructors are divided into two categories:
- Default Constructor: A default constructor in Java takes no inputs. In other words, default constructors are constructors that take no arguments and are produced by default if no alternative constructor is specified by the user. Its primary function is to set the default settings for instance variables. It's also widely used for object creation.
- Parameterized Constructor: In Java, a parameterized constructor is a constructor that can initialise instance variables with values specified by the user. In other words, parameterized constructors are constructors that accept arguments.
15. In Java, what are the many types of garbage collectors?
Garbage collection is Java software that aids in the management of implicit memory. Because the new keyword in Java allows you to build dynamically formed objects, which will use memory once they are created. When the operation is finished and there are no more references to the object, Java uses garbage collection to delete it and free up the memory it has taken up. Garbage collectors come in four types in Java:
- Serial Garbage Collector.
- Parallel Garbage Collector.
- CMS Garbage Collector.
- G1 Garbage Collector.
16. Why are Java Strings immutable by default?
String objects are immutable in Java, which implies that their state cannot be changed after they are created. Java creates a new string object whenever you try to edit the value of that object instead of modifying the values of that particular object. String objects in Java are immutable because they are often cached in the String pool. Because String literals are frequently shared among numerous clients, one client's behaviour may have an impact on the others. It improves the application's security, caching, synchronisation, and performance.
Useful Resources
17. What do you mean when you say "class" and "object"?
- An object's blueprint or template is called a class. It's a data type that's been specified by the user. Variables, constants, member functions, and other functionality are defined within a class. At runtime, it does not use any memory. It's worth noting that classes aren't considered data structures. It's a logical thing.
- A real-world entity with attributes, behaviour, and properties is called an object. An instance of the class is what it's called. It includes member functions and variables defined in the class. It takes up room in the mind. Objects have a variety of states, properties, and behaviours.
18. What are the different stages of the Software Development Lifecycle(SDLC)? Name a few well-known SDLC models.
The Software Development Life Cycle (SDLC) is a framework for defining the steps involved in software development at each stage. It includes a step-by-step guide to creating, deploying, and managing software. Following the SDLC process ensures that software is developed in a methodical and disciplined manner.
Requirement gathering, design, coding, testing, deployment, and maintenance are the phases of the SDLC. To supply the Product in a structured way, it is critical to stick to the phases:
1. Requirement gathering: During this phase, all relevant customer information is gathered in order to create a product that fits their requirements. During this step, any differences must be resolved.
After gathering requirements, an analysis is conducted to determine the viability of developing a product. In the event of any ambiguity, a conference call is scheduled for additional discussion. The SRS (Software Requirement Specification) document is prepared once the requirement has been well understood. The developers should properly understand this document, and the customer should examine it for future reference.
2. Design: In this phase, the requirements gathered in the SRS document are used as input, and the software architecture for system development is derived.
3. Coding or Implementation: The implementation/coding phase begins once the developer receives the Design document. The software design is used to generate source code. All of the software's components are implemented during this phase.
4. Testing: Testing begins once the coding is complete and the modules are ready to be tested. During this phase, the resulting software is rigorously tested, and any faults detected are assigned to developers to be fixed.
Retesting, also known as regression testing, is done until the program fulfils the requirements of the customer. The SRS document is used by testers to confirm that the program meets the needs of the customer.
5. Deployment: The product is either placed into production or first submitted to UAT (User Acceptance Testing), depending on the customer's expectations.
In UAT, a replica of the production environment is built, and the client performs the testing in partnership with the developers. The customer must sign off on the application before it can go live if he or she is satisfied with it.
6. Maintenance: Following the deployment of a product in a production environment, the developers are responsible for product maintenance, which includes resolving any issues that arise and making any necessary enhancements.
The following are some of the most prevalent SDLC models: Waterfall, Iterative, Spiral, V-shaped model and Agile.
19. What is the difference between functional and non-functional requirements (NFRs)?
- Functional requirements define what a software system should be able to achieve. These describe what consumers can expect as a result of a particular input. Reports, interactive features, and other features are examples of functional needs.
- Non-functional requirements (NFRs) are concerned with the performance of a software system. Performance, scalability, reliability, availability, security, and maintainability are just a few of the requirements. To provide long-term value, a software system must meet both functional and non-functional needs.
20. Explain Modularization.
Modularization is the process of breaking down a program's functionality into separate, interchangeable modules, each of which contains only the information needed to carry out one part of the desired capability.
We can quickly add separate and smaller modules to a program using modularization without being hampered by the intricacy of the program's other functionalities. In a nutshell, it's about being adaptable and quick when it comes to introducing new software functionalities to a programme. We could simply work individually on each module in a software engineering team without disrupting the work of others.
Modularization has the following benefits:
- It is easier to handle a program that is divided down into smaller sub-programs. It's easier to test, implement, and develop distinct modules. Individual modules can then be combined to create the entire program.
- The program can be separated into functional sections, and the required level of abstraction can be added.
- A program module can be reused in another program, reducing the development of redundant code. Reusing a module is also more convenient than writing a program from scratch. It also necessitates the writing of very little code.
- Modularisation reduces the chances of programming errors and makes it easier to notice them if they occur. This is because the mistakes can be pinpointed to a specific function or sub-program.
- Modular programming divides development by breaking down a program into smaller programs that can perform a range of functions. This allows developers to work on multiple projects at the same time, reducing development time.
21. Why did you choose to React over alternative frameworks like Angular?
React is more popular because:
- Easy production of dynamic web applications: React makes it easier to create dynamic web applications since it requires less writing and offers greater functionality, whereas code in JavaScript applications can quickly become complex.
- Improved performance: React makes use of a virtual DOM, which speeds up web applications. Unlike traditional web applications, the virtual DOM examines its prior state and updates just those components in the real DOM whose states have changed, rather than updating all of them.
- Components that can be reused: Components are the building parts of any React application, and a single app is typically made up of numerous components. These components have their logic and controls, and they can be reused across the application, resulting in a significant reduction in application development time.
- Search engine optimization friendly: React allows developers to create compelling user interfaces that are simple to explore in multiple search engines. It also supports server-side rendering, which improves an app's SEO.
- A vast ecosystem of libraries to choose from: React gives you the freedom to choose the tools, libraries, and architecture for designing your application based on your requirements.
22. What are the main features of OOPs?
The main features of OOPs are:
- Inheritance: OOPs have a feature called inheritance, which allows classes to inherit common properties from other classes. For example, if there is a class called vehicle, other classes such as 'car,' 'bike,' and so on can inherit common properties from it. This attribute aids in the removal of unnecessary code, resulting in a reduction in the total size of the code.
- Polymorphism: The ability to exist in various forms is referred to as polymorphism. A single interface might have several definitions. It is a concept in computer science that you can access objects of various types through the same interface. This interface can be implemented in a variety of ways by each type.
- Encapsulation: Encapsulation is the process of combining data and the code that manipulates it into a single entity. Encapsulation can also refer to a mechanism that prevents users from directly accessing specific components of an object, such as state values for all of the object's variables. Data members as well as data functions or methods linked with an instantiated class or object can be hidden via encapsulation.
- Data abstraction: Data abstraction is a crucial element of OOPs that allows only the most necessary information to be displayed while the implementation details are hidden. For example, while riding a bike, you know that increasing the accelerator would increase your speed, but you have no idea how that happens. Because the implementation specifics are hidden from the rider, this is data abstraction.
23. What are the benefits of a database management system (DBMS)? Mention the many DBMS languages available.
Database Management System (DBMS) is a collection of apps or tools that allow users to construct and manage databases. A database management system (DBMS) provides a tool or interface for executing various database activities such as inserting, removing, updating, and so on. It is software that allows data to be stored more compactly and securely than a file-based system. A database management system (DBMS) assists a user in overcoming issues such as data inconsistency, data redundancy, and other issues in a database, making it more comfortable and organised to use. The following are some of the benefits of using a database management system:
- Data sharing: Data from the same database can be accessed by multiple people at the same time.
- Integrity limitations: These limitations allow for more refined data storage in a database.
- Data redundancy control: Supports a system for controlling data redundancy by combining all data into a single database.
- Data Independence: This allows the structure of the data to be changed without affecting the structure of any running application.
- Backup and recovery feature: Provides a 'backup and recovery capability that automatically creates a data backup and restores the data as needed.
The following are the several languages found in DBMS:
- DDL (Data Definition Language) is a set of commands used to define a database.
- DML (Data Manipulation Language) is a set of commands that can be used to manipulate data in a database.
- DCL (Data Control Language) - Consists of commands that deal with database system user permissions and controls.
- TCL (Transaction Control Language) is a set of instructions that deal with database transactions.
24. What are the ACID attributes of a database management system (DBMS)?
Any type of information can be stored in a database using a database management system. ACID (atomicity, consistency, isolation, and durability) properties must be supported by the database management system. It is used to verify that data transactions in a database system are processed reliably.
- Atomicity: Atomicity refers to transactions that are either totally successful or completely unsuccessful. Each transaction here refers to a single logical data operation. As a result, even if one element of a transaction fails, the transaction as a whole fails, leaving the database state unaffected.
- Consistency: Consistency ensures that the data adheres to all of the validation standards. In basic terms, your transaction never leaves the database before it has completed its state. The purpose is to verify that the database is consistent before and after the transaction. A transaction is aborted and an error is raised if it leaves data in an incorrect state.
- Isolation: Concurrency control is the primary purpose of isolation. This feature ensures that each transaction is isolated, ensuring that it will not be affected by any other concurrent transactions. It means that until a transaction is completed, it will not be interrupted by another transaction.
- Durability: Once a transaction is completed and committed, its modifications are saved in the database indefinitely. This attribute assures that the data saved in the database is immutable until it is affected by another update or deletion transaction.
Even if a significant problem occurs, such as a crash or a power outage, once the transaction is committed, it will remain in this condition. The completed transactions are recorded on non-volatile memory devices such as hard drives, for this reason, ensuring that the data is always available, even if the DB instance is restarted.
The ACID qualities protect the database's data integrity and consistency, ensuring that data does not become corrupt as a result of a failure. Only transactions that were successful will be handled in databases that use the ACID features, and if a failure occurs before a transaction is completed, the data will not be modified.
25. What distinguishes Java from C++?
- Java is both a compiled and an interpreted language, whereas C++ is simply a compiled language.
- Java applications run on any machine, whereas C++ programmes can only execute on the machine where they were compiled.
- In C++, users can use pointers in their programmes. Java, on the other hand, does not enable it. Internally, Java makes use of pointers.
- Multiple inheritances are supported in C++, however, they are not supported in Java. The diamond dilemma arises from the desire to avoid the complexities of name ambiguity.
26. What are some of the most widely used Object-Oriented Programming languages? Is it possible to execute a Java application without using the OOPs concept?
Object-Oriented Programming languages are programming languages that employ and follow the Object-Oriented Programming paradigm, or OOPs. The following are some of the most popular Object-Oriented Programming languages:
- Java
- C++
- Javascript
- Python
- PHP and there are plenty more.
No. Because Java programmes are founded on the concept of object-oriented programming models, or OOPs, they cannot be implemented without it. On the other hand, because C++ provides the C-like structural programming model, it can be implemented without OOPs.
27. Define exception handling.
Exception handling is a crucial notion in Object-Oriented Programming for dealing with errors. Errors can be thrown and caught, and an exception handler implements a centralized mechanism to resolve them. As a result, exception handling is the method for identifying the program's unwanted states and expressing the desired outcomes of those states.
Exceptions are handled with a try/catch block. The try block is used to define a series of statements that could result in an error. Essentially, the catch block catches the exception.
28. Define Hypertext Preprocessor.
PHP (Hypertext Preprocessor) is a popular open-source server-side scripting language that's ideal for building dynamic websites and mobile APIs.
Many databases are supported by PHP, including MySQL, Solid, PostgreSQL, Oracle, Sybase, and generic ODBC. HTML contains PHP code integrated within it.
29. What is a session in PHP?
A session is a mechanism to save information (in the form of variables) for usage on numerous pages.
The information is not saved on the user's computer, unlike a cookie.
When working with an application, you open it, make changes, and then close it. This is similar to a Session. The computer recognises you. It recognises when you start and stop using the application. However, there is a dilemma on the internet: the web server has no idea who you are or what you do because the HTTP address does not keep track of state.
Session variables address this issue by saving user data that can be used across several pages (e.g. username, favourite colour etc). Session variables are persistent until the user closes the browser.
As a result, session variables save information about a single user and are accessible from all pages in a single application.
30. What does PEAR stand for?
PEAR stands for "PHP Extension and Application Repository" PEAR's mission is to provide:
- For PHP users, a well-organised library of open-source code.
- A mechanism for distributing code and maintaining packages.
- a uniform style for code written in PHP
- PHP Extension Community Library (PECL).
The PHP/PEAR community is supported via a website, email groups, and download mirrors.
PEAR is a reusable PHP component framework and distribution mechanism. For web developers, PEAR enables a higher level of programming. It's jam-packed with PHP code snippets and libraries. It also has a command-line interface for installing packages automatically.
31. What exactly is JSX?
JSX is a JavaScript syntax extension. It's a term that's used in React to describe how the user interface should look. We can write HTML structures in the same file as JavaScript code by utilising JSX.
32. What are the various levels of abstraction in a database management system?
The technique of hiding unnecessary elements from the user is known as data abstraction. To achieve Data Independence, there are three degrees of data abstraction, which we divide into three levels. Users and data should not interact directly with each other, according to data independence. The user should be on a different level than the data, and the data should also be on a distinct level. Data Independence can be obtained in this way. In DBMS, there are three degrees of data abstraction. They are as follows:
- Physical level: The physical level of abstraction specifies how data is kept and is the lowest degree of abstraction. The physical level of a database management system (DBMS) specifies how data is really stored and describes data structures in-depth as well as database access techniques. The database developer will pick how to store the data in the database. It is quite difficult to comprehend.
- Logical level: After the Physical level, there is the Logical level of abstraction. This layer decides what data is saved in the database and how the data pieces relate to one another. Let's look at an example where we're storing data using the relational model. The student table will comprise columns such as student name, age, mail id, roll no, and so on to hold the data of a student. All of them must be defined at this level while developing the database. Though the data is kept in the database, the tables' structures, such as the student table, teacher table, books table, and so on, are specified at the conceptual or logical level. The relationship between the tables is also defined here. Overall, we might say that we are developing a conceptual model of the data.
- View Level: The greatest level of abstraction, the View Level describes only a portion of the entire database. When you get to the third level, which is the highest level, you'll see that it's called the view level. This is the level that is visible from the outside. In the view level, there are various levels of views, each of which attempts to describe only a portion of the complete data. Because it provides different views of the same database, it simplifies user interaction. It also allows you to have several views of the same database. As a student, we can examine our grades, attendance, price structure, and other information if we have a login-id and password in a university system. The university professors, on the other hand, will hold a different viewpoint. He will have options such as salary, editing a student's grades, entering student attendance, and so on. As a result, both the student and the instructor have opposing viewpoints. As a result, the system's security is enhanced. In this case, the student is unable to alter his grades, but the faculty member who is permitted to do so can do so. As a result, depending on their level of authorisation, different users will see things differently.
33. Is PHP case-sensitive? And is there any interaction between JavaScript and PHP?
PHP can be thought of as a case-sensitive language to some extent. The variable names are case-sensitive, but not the function names. Furthermore, user-defined functions are not case-sensitive, but the rest of the language is. User-defined functions in PHP, for example, can be defined in lowercase but afterwards referred to in uppercase and still work properly.
PHP is a server-side scripting language, whereas JavaScript is a client-side scripting language. PHP can produce JavaScript variables, which can then be simply performed in the browser. As a result, variables can be passed to PHP using a simple URL.
34. What is a path traversal attack?
The goal of a path traversal attack (also known as directory traversal) is to gain access to files and directories stored outside of the web root folder. It may be possible to access arbitrary files and directories stored on the file system, including application source code or configuration, by manipulating variables that reference files with "dot-dot-slash (../)" sequences and variations, or by using absolute file paths. It should be remembered that system operational access control restricts file access (such as in the case of locked or in-use files on the Microsoft Windows operating system).
The "dot-dot-slash" attack is also known as "directory traversal," "directory climbing," and "backtracking."
JustDial Interview Preparation
1. Interview Preparation Tips
1. Prepare non-coding/non-technical questions too: For the "tell me about yourself" question, prepare a 30-second to a 1-minute elevator pitch, as well as examples/stories for other interview questions. You must arrive prepared to discuss non-coding issues such as your work experience, career ambitions, former projects, and so on. It's a perfect moment to show off your soft talents and enthusiasm.
2. Read the most crucial CS concepts before leaving: Before you leave, brush up on the most crucial computer science fundamentals. Don't stress yourself out like you're studying for an exam and trying to remember everything–but make sure you spend additional time practising crucial technical interview abilities. Of course, depending on the specific position you're going for, you may want to brush up on other topics during your coding interview practice.
3. Choose one programming language and master it: Choose one programming language and master it, preferably C++, Java, Ruby, Python, Go, or C. Most businesses allow you to use the language in which you are most comfortable.
4. Gather sufficient information about the company and the job: Go to the company's website to learn more. Make sure you know everything there is to know about Just Dial, including the types of projects it is currently working on. Employers expect you to know who the company is, what it does, and how it relates to your professional goals. In most cases, these types of questions are asked during the HR round.
5. Take some time to read your CV: You must be well-versed in your CV. Make sure all of the information on your CV concerning prior projects and internships is correct and that you understand everything. You'll be questioned about your previous projects and professional experiences, including what you did, what technology you used, what you developed, and how successful you were.
6. Be confident and humble: Speak confidently. Listening to the interviewer is more crucial than responding. Make sure you fully comprehend a question before attempting to respond. Don't be hesitant to ask for clarification if you don't understand something. Always keep a cheerful attitude and a smile on your face. You've already completed half of the task if you're confident enough. People prefer to work with humble people rather than arrogant experts. It's more vital for people with fewer years of experience to come out as adaptable and willing to learn, so the employer can imagine you in a variety of projects and jobs.
Frequently Asked Questions
1. Why are you interested in working at JustDial?
This is where your research will be useful. You may declare that you wish to work for a firm that for example may be a market leader or an innovator, providing a vital service, whatever it may be. Try to connect the company's principles and mission statement to your own goals and career aspirations.
“Just Dial Limited is India's No. 1 Local Search Engine, providing local search-related services to consumers across the country via a variety of platforms. Justdial has extensive competence across the country, due to a robust and widespread sales team, years of experience, and in-depth local market knowledge. Just dial staff are given various opportunities and challenging assignments, which encourage them to learn and improve.”
2. What is the salary for freshers in Justdial?
As per Payscale, the average salary for freshers ranges between 5 to 6 lakhs per annum.
3. How long is the Interview Process at Justdial?
The whole process generally takes more than 1 week. The interview should last approximately an hour and a half, with the test being roughly 30-90 minutes. Telephonic interviews, technical interviews, and HR interviews are just a few types of interviews you could encounter. As a result, the length of your interview will most likely be determined by the format and where you are in the process.
4. What is the Eligibility Criteria at JustDial for Software engineers?
The candidate must have a BE/B. Tech in CSE, IT, or ECE with a 60 per cent or 6.5 GPA or higher throughout without any running backlogs.