Filter interviews by
I applied via Naukri.com and was interviewed in Sep 2024. There were 2 interview rounds.
I was assigned to implement basic CRUD operation in an API (the code should be production-ready). I was also instructed to perform Unit tests.
The composer.lock file is used to lock the exact versions of dependencies in a project to ensure consistent builds.
Prevents different versions of dependencies from being installed on different machines
Ensures that all developers are using the same versions of dependencies
Helps in maintaining consistency and stability of the project
To write a custom authentication & middleware in Laravel, you can create a custom guard and middleware classes.
Create a custom guard by extending the 'Illuminate\Auth\Guard' class and implementing the necessary methods like 'validate' and 'user'.
Register the custom guard in the 'auth.php' configuration file.
Create a custom middleware by extending the 'Illuminate\Auth\Middleware\Authenticate' class and implementing the ...
Custom requests with validations in Laravel can be handled using Form Requests.
Create a new Form Request using artisan command: php artisan make:request CustomRequest
Define validation rules in the authorize() and rules() methods of the CustomRequest class
Inject the CustomRequest class into your controller method to automatically validate the incoming request
Polymorphism in Laravel relationships allows a model to belong to multiple other models.
Polymorphic relationships allow a model to belong to multiple other models.
It is useful when a model can belong to more than one other model.
For example, a Comment model can belong to either a Post or a Video model.
Use Laravel's Eloquent ORM with chunking and eager loading for optimized fetching of 5 million records from 3 tables in a single DB.
Use Laravel's Eloquent ORM to fetch records efficiently
Use chunking to process large datasets in smaller, manageable chunks
Utilize eager loading to reduce the number of queries executed
To write a unit test in Laravel #8, use PHPUnit and create test classes that extend the TestCase class.
Create a new test class in the 'tests' directory.
Extend the class with PHPUnit's TestCase class.
Write test methods within the class to test specific functionality.
Use assertions provided by PHPUnit to check if the code behaves as expected.
Run the tests using the 'php artisan test' command.
Use the migrate:rollback command with --step option to rollback to a specific version in Laravel migration.
Use php artisan migrate:rollback --step=n command to rollback n number of migrations.
Specify the number of migrations to rollback to a specific version.
For example, php artisan migrate:rollback --step=3 will rollback the last 3 migrations.
Sessions store data on the server side, while cookies store data on the client side.
Sessions store data on the server side, while cookies store data on the client side.
Sessions are more secure as the data is stored on the server and not accessible by the client.
Cookies are limited in size (4KB) and can be disabled by the client, while sessions have no such limitations.
Laravel uses a unique session identifier to find a specific session for each user.
Laravel generates a unique session ID for each user upon login
The session ID is stored in a cookie on the user's browser
Laravel uses the session ID to retrieve the user's session data from the server
Laravel Notifications allow you to send notifications across multiple channels. Different types of mailers in Laravel include SMTP, Mailgun, and Sendmail.
Laravel Notifications can be sent through email, SMS, Slack, and more
SMTP mailer is commonly used for sending emails in Laravel
Mailgun is a popular mailer service that can be integrated with Laravel for sending emails
Sendmail is another option for sending emails in La
To send asynchronous notifications in Laravel, use queues to handle background processing.
Use Laravel's built-in queue system to send notifications asynchronously.
Define a notification class and use the ShouldQueue interface to indicate that the notification should be sent asynchronously.
Dispatch the notification using the queue driver of your choice (e.g. database, Redis, Amazon SQS).
Laravel Queue is a feature that allows you to delay the execution of a time-consuming task, improving application performance.
Queues help in offloading time-consuming tasks to be processed in the background
Tasks are added to the queue and processed by workers asynchronously
Laravel provides drivers like Redis, Beanstalkd, and Amazon SQS for queue management
To upgrade Laravel, you need to follow the official documentation and use Composer to update dependencies.
Check the Laravel documentation for the specific version you are upgrading to
Update your composer.json file with the new Laravel version
Run 'composer update' command in your terminal to update dependencies
Check for any deprecated features or changes in the new version and make necessary adjustments
Indexing in DB tables improves query performance by allowing the database to quickly locate specific rows.
Indexes help in speeding up data retrieval operations by providing quick access to rows based on the indexed columns.
They reduce the number of disk I/O operations required to fetch data, resulting in faster query execution.
Indexes can also enforce uniqueness constraints and improve the efficiency of joins between t...
The 'Key' directive in Vue is used to uniquely identify elements in a list to improve performance and prevent re-rendering.
Helps Vue efficiently update the DOM by reusing existing elements instead of creating new ones
Prevents unnecessary re-rendering of elements in a list when their order changes
Improves performance by allowing Vue to track and update specific elements based on their keys
Example:
Vue 3 is the latest version of Vue.js with improved performance, new features, and better TypeScript support.
Vue 3 uses a new reactivity system called the Composition API, which offers more flexibility and better organization of code compared to Vue 2's Options API.
Vue 3 introduces a new compiler that generates optimized code for better performance.
Vue 3 provides better TypeScript support with improved type inference a...
Options API is more verbose and flexible, while Composition API is more organized and reusable.
Options API allows defining component options in separate sections like data, methods, computed, etc.
Composition API allows organizing code based on logic and reusability with setup() function.
Options API is suitable for smaller projects or when starting with Vue, while Composition API is recommended for larger projects or co...
The 'env' function in Vue is used to access environment variables in your application.
Use process.env to access environment variables in Vue components
Environment variables can be set in a .env file at the root of your project
Remember to restart your development server after adding or changing environment variables
Using 'Scope' in style allows us to apply styles to specific elements within a component.
Scope in style allows us to target specific elements within a component without affecting others
It helps in organizing and managing styles more efficiently
Scope can be used to prevent styles from leaking out of a component
In such cases, it is important to analyze the issue thoroughly on the production server and implement a fix cautiously.
First, analyze the logs and error messages on the production server to understand the root cause of the issue.
Check for any recent changes or updates that might have caused the problem.
If possible, try to replicate the issue in a controlled environment like staging or local to further investigate.
Consu...
Level was moderate to difficult
I applied via Job Portal and was interviewed in Jun 2024. There was 1 interview round.
I applied via Naukri.com and was interviewed in Jan 2024. There was 1 interview round.
Inheritance is a concept in object-oriented programming where a class inherits properties and behaviors from another class.
Inheritance allows a class to reuse code from another class, promoting code reusability and reducing redundancy.
The class that is being inherited from is called the parent class or superclass, while the class that inherits is called the child class or subclass.
Child classes can add new properties a...
Reflections Info Systems interview questions for popular designations
Get interview-ready with Top Reflections Info Systems Interview Questions
I applied via Indeed and was interviewed before Nov 2023. There were 3 interview rounds.
Basic aptitude questions for competitive exams for a duration of 1 hour.
Some latest trends in technologies include artificial intelligence, machine learning, blockchain, Internet of Things (IoT), and edge computing.
Artificial intelligence (AI) is being used in various industries for automation and decision-making processes.
Machine learning algorithms are becoming more advanced and are being used for predictive analytics and data processing.
Blockchain technology is being implemented in area...
I applied via Naukri.com and was interviewed before Oct 2023. There was 1 interview round.
The existing project is a software development initiative aimed at creating a new customer relationship management system for a large retail company.
The project involves gathering requirements from stakeholders
Designing the system architecture
Developing the software
Testing and quality assurance
Deployment and ongoing support
Regular status updates and communication with stakeholders
Execute project in agile mode with fixed price by prioritizing features, collaborating closely with stakeholders, and adjusting scope as needed.
Prioritize features based on value to the customer
Collaborate closely with stakeholders to ensure alignment on project goals and priorities
Adjust scope as needed to deliver the most valuable features within the fixed price
Use iterative development and frequent feedback to make
I applied via Referral and was interviewed before Jun 2023. There were 2 interview rounds.
let is block scoped and var is function scoped in JavaScript.
let was introduced in ES6 while var has been around since the beginning of JavaScript.
Variables declared with let are only accessible within the block they are declared in.
Variables declared with var are accessible within the function they are declared in.
Using let can help prevent variable hoisting issues.
let is preferred over var for variable declaration in
JavaScript is a dynamically typed language, while TypeScript is a statically typed superset of JavaScript.
JavaScript is dynamically typed, meaning variable types are determined at runtime.
TypeScript is statically typed, allowing for type checking at compile time.
TypeScript supports features like interfaces, enums, and type annotations that are not present in JavaScript.
TypeScript code needs to be transpiled to JavaScri
I applied via LinkedIn and was interviewed in Jun 2021. There were 4 interview rounds.
Software testing is the process of evaluating a software application to ensure it meets the specified requirements and functions correctly.
Software testing is essential for identifying defects and ensuring the quality of the software.
It involves executing test cases, comparing actual results with expected results, and reporting any discrepancies.
Different types of testing include functional testing, performance testing...
SDLC is the process of developing software, while STLC is the process of testing software.
SDLC (Software Development Life Cycle) is a framework that outlines the steps involved in developing software.
The stages in SDLC include requirements gathering, design, coding, testing, deployment, and maintenance.
STLC (Software Testing Life Cycle) is a subset of SDLC that focuses on testing activities.
The stages in STLC include t...
Verification ensures that the software meets the specified requirements, while validation ensures that the software meets the customer's needs.
Verification is a process of evaluating the software at various stages to ensure that it meets the specified requirements.
Validation is a process of evaluating the software at the end of the development process to ensure that it meets the customer's needs.
Verification is a stati...
Test cases should be written with clear objectives and steps to ensure software functionality and quality.
Identify the objective of the test case
Define the steps to execute the test case
Include expected results and actual results
Ensure test cases cover all possible scenarios
Use a consistent format for test case documentation
Boundary value analysis is a testing technique that focuses on testing the boundaries of input values.
It involves testing values at the upper and lower limits of valid input ranges
It also tests values just outside of those ranges
For example, if a system accepts values between 1 and 100, boundary value analysis would test values like 0, 1, 2, 99, 100, and 101
Software testing is necessary to ensure the quality, reliability, and functionality of software.
Identify and fix bugs or defects in the software
Ensure the software meets the specified requirements
Validate the software's functionality and performance
Enhance user experience by identifying and resolving usability issues
Increase software reliability and reduce the risk of failures
Ensure compatibility with different platfor...
Test scenarios for Gmail login page.
Verify successful login with valid credentials
Verify error message for invalid email or password
Verify error message for empty email or password fields
Verify forgot password functionality
Verify login page UI elements
QA is the process of ensuring quality in the software development process, while QC is the process of ensuring quality in the final product.
QA focuses on preventing defects, while QC focuses on identifying and fixing defects
QA is a proactive process, while QC is a reactive process
QA involves reviews, inspections, and testing of processes, while QC involves testing of the final product
QA is a continuous process, while Q...
I applied via Referral and was interviewed before Jul 2022. There were 4 interview rounds.
45 minutes. Difficulty level - medium
Developed a web-based student management system using Java and MySQL
Implemented user authentication and authorization functionalities
Designed database schema to store student information
Utilized Java Servlets for server-side logic
Used HTML, CSS, and JavaScript for front-end development
Oops concepts refer to Object-Oriented Programming principles such as Inheritance, Encapsulation, Polymorphism, and Abstraction.
Inheritance: Allows a class to inherit properties and behavior from another class.
Encapsulation: Bundling data and methods that operate on the data into a single unit.
Polymorphism: Ability to present the same interface for different data types.
Abstraction: Hiding the complex implementation det
Top trending discussions
Interview experience
based on 58 reviews
Rating in categories
10-20 Yrs
Not Disclosed
6-12 Yrs
Not Disclosed
6-8 Yrs
Not Disclosed
Senior Software Engineer
46
salaries
| ₹4.4 L/yr - ₹13.2 L/yr |
Software Engineer
37
salaries
| ₹2.4 L/yr - ₹9 L/yr |
System Analyst
13
salaries
| ₹5.5 L/yr - ₹13 L/yr |
Data Engineer
12
salaries
| ₹2 L/yr - ₹5.7 L/yr |
Machine Learning Engineer
11
salaries
| ₹3 L/yr - ₹10 L/yr |
TCS
Infosys
Wipro
HCLTech