i
Tesco
Work with us
Filter interviews by
I appeared for an interview in Mar 2025, where I was asked the following questions.
Our CI/CD setup automates code integration, testing, and deployment for faster and reliable software delivery.
Version Control: We use Git for source code management, enabling collaboration and tracking changes.
Continuous Integration: Jenkins is configured to automatically build and test code on every commit, ensuring early detection of issues.
Automated Testing: We implement unit tests and integration tests using framew...
Managing secrets in a pipeline involves secure storage, access control, and auditing to protect sensitive information.
Use secret management tools like HashiCorp Vault or AWS Secrets Manager to store sensitive data securely.
Implement environment variables to inject secrets into the pipeline without hardcoding them in the codebase.
Utilize CI/CD tools' built-in secret management features, such as GitHub Actions Secrets or...
Top trending discussions
I applied via LinkedIn and was interviewed in Jun 2024. There was 1 interview round.
Integrating Jenkins with AWS involves setting up Jenkins on an EC2 instance, configuring IAM roles, and using plugins for AWS services.
Set up Jenkins on an EC2 instance in AWS
Configure IAM roles to allow Jenkins to interact with AWS services
Use Jenkins plugins for AWS services like S3, EC2, and Lambda
Utilize AWS CodePipeline for continuous integration and deployment
Terraform is used for infrastructure as code to automate provisioning and managing of cloud resources.
Terraform can be used to create and manage infrastructure on cloud platforms like AWS, Azure, and Google Cloud.
It allows for defining infrastructure in code using declarative configuration files.
Terraform can be used to provision servers, databases, networking components, and other resources.
It enables infrastructure c...
Java-based coding, streams and lambda, design patterns
I appeared for an interview in Jan 2025.
Exception handling is crucial in programming to handle errors and ensure proper execution. The 'finally' block is used to clean up resources, and throwing exceptions allows for error propagation.
Exception handling is used to manage errors and unexpected situations in a program.
The 'finally' block is used to execute code that should always run, regardless of whether an exception is thrown or not.
Throwing exceptions allo...
ACID properties ensure data integrity in transactions. CAP Theorem states that a distributed system can only guarantee two out of three: Consistency, Availability, Partition Tolerance.
ACID properties: Atomicity, Consistency, Isolation, Durability
Example: In a banking application, a transfer of funds should be atomic, consistent, isolated, and durable
CAP Theorem: Consistency, Availability, Partition Tolerance - a distri...
Database disaster recovery involves strategies to restore data and maintain operations after a failure or data loss.
Regular backups: Schedule daily or weekly backups to ensure data can be restored.
Redundancy: Use replication to maintain copies of the database in different locations.
Testing recovery plans: Regularly test disaster recovery plans to ensure they work effectively.
Use of cloud services: Leverage cloud-based ...
Comparable is an interface used for natural ordering, while Comparator is used for custom ordering in Java Collections.
Comparable interface is used to define the natural ordering of objects. It is implemented by the class whose objects are to be sorted.
Comparator interface is used to define custom ordering of objects. It is implemented by a separate class.
To implement Comparable, the class needs to override the compare...
Generics in Java allow for creating classes, interfaces, and methods that operate on types parameterized at compile time.
Generics provide type safety by allowing compile-time type checking.
They enable code reusability and reduce the need for casting.
Example: List<String> list = new ArrayList<>();
Code to reverse a string using recursion
Create a recursive function that takes a string as input
Base case: if the string is empty or has only one character, return the string
Recursive case: return the last character of the string concatenated with the result of calling the function on the substring excluding the last character
Object comparison with specific fields involves comparing values of selected fields between two objects.
Object comparison can be done by comparing the values of specific fields in two objects.
Fields can be selected based on unique identifiers or criteria for comparison.
Example: Comparing the 'name' field of two person objects to check if they are the same.
Distributed transactions in microservices involve using compensating transactions and event-driven architecture.
Microservices typically use compensating transactions to maintain consistency across multiple services.
Event-driven architecture can help in coordinating distributed transactions by using events to trigger actions in different services.
Implementing distributed transactions in microservices requires careful de...
Aggregator pattern is used in microservices architecture to combine multiple service responses into a single response.
Aggregator pattern helps in reducing the number of client requests by combining multiple service responses.
It can be implemented using a separate service or within an existing service.
Example: A shopping website aggregating product information from different microservices like inventory, pricing, and re...
Factory design pattern is a creational pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.
Factory method pattern defines an interface for creating objects, but lets subclasses decide which class to instantiate.
It promotes loose coupling by eliminating the need to bind application-specific classes into the code.
Example: A car m...
Indexing in a database is a technique to improve the speed of data retrieval by creating a data structure that allows for quick lookup.
Indexing involves creating a separate data structure that contains pointers to the actual data in the database.
Common data structures used for indexing include B-trees, hash tables, and binary search trees.
Indexes can be created on one or multiple columns in a database table to speed up...
My approach involves using load balancing, caching, asynchronous processing, and horizontal scaling.
Implement load balancing to distribute requests evenly across multiple servers.
Utilize caching mechanisms to store frequently accessed data and reduce response times.
Use asynchronous processing for long-running tasks to free up resources for handling more requests.
Implement horizontal scaling by adding more servers to ha...
CQRS pattern in microservices separates read and write operations for improved scalability and performance.
CQRS stands for Command Query Responsibility Segregation
It separates the read and write operations into two different models
Write operations update the data store, while read operations query a separate data store
CQRS can improve performance and scalability by allowing each model to be optimized for its specific t...
API Gateway acts as a single entry point for all client requests in a microservices architecture.
API Gateway handles authentication, authorization, rate limiting, and routing of requests to appropriate microservices.
It helps in decoupling client applications from individual microservices, providing a more flexible and scalable architecture.
API Gateway can also perform tasks like request/response transformation, logging...
SQL query to fetch data from two tables using joins
Use the JOIN keyword to combine rows from two tables based on a related column
Specify the columns to select from each table in the SELECT statement
Use the ON keyword to specify the join condition
It was basically two leetcode Questions Mainly from array with some algorithm required to apply and other from LinkedList.
Low level architecture design principles focus on optimizing performance, efficiency, and resource utilization.
Optimize for performance by minimizing latency and maximizing throughput
Efficiently utilize resources such as memory, CPU, and network bandwidth
Design for scalability and flexibility to accommodate future growth
Use modular and reusable components to promote maintainability and code reusability
Consider security...
Water bill management system
Flood fill algo
I applied via Approached by Company and was interviewed in Aug 2023. There were 6 interview rounds.
2 coding problems.
One is on Hasmap
second one is on Tree
Step-by-step problem-solving with unit tests, focusing on time and space complexity.
Identify the problem clearly, e.g., finding the maximum number in an array.
Choose an efficient algorithm, e.g., O(n) time complexity for a linear search.
Implement the solution in code, ensuring clarity and maintainability.
Write unit tests to cover edge cases, e.g., empty array, single element.
Analyze space complexity, ensuring minimal a...
Design a URL shortener system
Use a unique identifier for each long URL to generate a short URL
Store the mapping of short URL to long URL in a database
Implement a redirect mechanism to redirect short URLs to their corresponding long URLs
Consider scalability and performance while designing the system
Use Floyd's Tortoise and Hare algorithm to detect cycle in a linked list.
Initialize two pointers, slow and fast, at the head of the linked list.
Move slow pointer by one step and fast pointer by two steps.
If they meet at any point, there is a cycle in the linked list.
based on 1 interview experience
Difficulty level
Duration
Senior Associate
491
salaries
| ₹3.5 L/yr - ₹10.9 L/yr |
Software Development Engineer II
264
salaries
| ₹22 L/yr - ₹55 L/yr |
Associate
227
salaries
| ₹2.3 L/yr - ₹8.1 L/yr |
Team Lead
176
salaries
| ₹5.8 L/yr - ₹20 L/yr |
Senior System Analyst
155
salaries
| ₹7.3 L/yr - ₹20 L/yr |
Reliance Digital
Shoppers Stop
Landmark Group
V-Mart