i
HCLTech
Filter interviews by
I applied via Naukri.com and was interviewed in May 2021. There was 1 interview round.
What people are saying about HCLTech
I applied via Naukri.com
Very detailed as they take an aptitude oral interview which you have to clear before they reach technical round.
The father of civil engineering is John Smeaton.
John Smeaton was a British civil engineer who is considered the father of civil engineering.
He was the first person to call himself a civil engineer and is known for his work on the Eddystone Lighthouse.
Smeaton's work laid the foundation for modern civil engineering practices.
He also designed bridges, canals, and harbors, and was a founding member of the Society of Civil
Performance testing challenges include identifying bottlenecks, simulating real-world scenarios, and analyzing results.
Identifying bottlenecks in the system
Simulating real-world scenarios to accurately test performance
Analyzing results to identify areas for improvement
Ensuring test environment is representative of production environment
Managing test data and test scripts
Dealing with network latency and other external f...
Monitoring tools and metrics for testing
We use tools like Nagios, Zabbix, and Prometheus for monitoring
Metrics captured include response time, error rate, CPU usage, memory usage, and network traffic
We also capture user behavior metrics like click-through rate and conversion rate
Monitoring helps us identify issues and optimize performance
As a performance tester in my previous company, my roles and responsibilities included analyzing system performance, designing and executing performance tests, identifying bottlenecks, and providing recommendations for improvement.
Analyzed system performance to identify areas of improvement
Designed and executed performance tests to measure system response time and scalability
Identified bottlenecks and performance issue...
I applied via Approached by Company and was interviewed in Feb 2022. There were 4 interview rounds.
I applied via Naukri.com and was interviewed before Aug 2021. There was 1 interview round.
Spark increment data load is a process of loading only the new or updated data into an existing dataset.
It helps in reducing the processing time and resources required for loading the entire dataset.
It involves identifying the changes in the source data and only loading those changes into the target dataset.
Spark provides various APIs and tools to perform incremental data loading such as Delta Lake and Structured Strea...
Spark configurations are settings that determine how Spark applications run on a cluster.
Spark configurations can be set using command-line arguments, properties files, or programmatically in code.
Configurations can control various aspects of Spark, such as memory usage, parallelism, and logging.
Examples of Spark configurations include spark.executor.memory, spark.driver.cores, and spark.eventLog.enabled.
Broadcast join is a type of join operation in distributed computing where a small table is broadcasted to all nodes for joining with a larger table.
Broadcast join is used in distributed computing to optimize join operations.
It involves broadcasting a small table to all nodes in a cluster.
The small table is then joined with a larger table on each node.
This reduces the amount of data that needs to be shuffled across the ...
Catalyst optimizer is a tool used in computer programming to improve the performance of code by optimizing the execution process.
It is used in programming languages like Python, Scala, and Spark.
It analyzes the code and makes changes to improve its efficiency.
It can improve the speed of code execution and reduce memory usage.
Examples include PySpark's Catalyst optimizer and Scala's Catalyst optimizer.
Tungsten is a project in Spark that provides a high-level API for distributed data processing.
Tungsten optimizes Spark's execution engine by using memory management and binary processing.
It improves performance by reducing garbage collection overhead and CPU usage.
Tungsten also provides a new columnar storage format called Catalyst that improves query performance.
Example: Tungsten can be used to process large datasets ...
Serialization is the process of converting data into a format that can be stored or transmitted.
In Spark, serialization is used to convert data into a format that can be sent over the network or stored in memory.
Spark supports two types of serialization: Java serialization and Kryo serialization.
Kryo serialization is faster and more efficient than Java serialization.
Serialization is important in Spark because it allows...
Unstructured data can be converted to structured data by using techniques such as data mining, natural language processing, and machine learning.
Identify the relevant data points and attributes
Use data mining techniques to extract patterns and relationships
Apply natural language processing to extract meaning from text
Use machine learning algorithms to classify and categorize data
Transform the data into a structured for
Spark submit command to run a Scala application on a cluster
Include the path to the application jar file
Specify the main class of the application
Provide any necessary arguments or options
Specify the cluster manager and the number of executors
Example: spark-submit --class com.example.Main --master yarn --num-executors 4 /path/to/application.jar arg1 arg2
A program to reverse a string
Create an empty string to store the reversed string
Loop through the original string from the end to the beginning
Add each character to the new string
Return the new string
To read file name in Spark, use the 'input_file_name' function.
Use 'input_file_name' function in Spark to read file name.
This function returns the name of the file being processed.
Example: df.select(input_file_name().alias('filename')).show()
This will show the file name in a new column named 'filename'.
I applied via Naukri.com and was interviewed in Jun 2021. There were 3 interview rounds.
Liskov Principle is a principle of object-oriented programming that states that objects of a superclass should be replaceable with objects of its subclasses without affecting the correctness of the program.
Named after Barbara Liskov, a computer scientist who introduced the principle in 1987
Also known as Liskov Substitution Principle (LSP)
Helps in designing classes that are easy to extend and maintain
Violation of LSP ca...
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 Design Pattern is used to create objects without exposing the creation logic to the client.
It provides a way to delegate the instantiation logic to child classes.
It promotes loose coupling by eliminating the need to bind applicati...
Runtime polymorphism is the ability of an object to take on multiple forms during runtime.
It is achieved through inheritance and method overriding.
The method called depends on the actual object type at runtime.
Example: Animal class with a speak() method, and Dog and Cat classes that inherit from Animal and override the speak() method.
When a Dog object calls speak(), the overridden method in the Dog class is executed.
Wh...
Dependency injection is a design pattern where objects are passed as dependencies rather than being created within a class.
Reduces coupling between classes
Increases testability and maintainability
Allows for easier swapping of dependencies
Examples: Constructor injection, Setter injection, Interface injection
Yes, I have worked with nUnit framework.
I have used nUnit for unit testing in C# projects.
I am familiar with its syntax and assertions.
I have integrated nUnit with Visual Studio for continuous testing.
I have used nUnit to test both simple and complex scenarios.
For example, I used nUnit to test a payment processing system.
I also used nUnit to test a complex algorithm for data analysis.
Endpoints are URLs that clients use to access resources in a WebAPI.
Endpoints are the entry points for a WebAPI.
They define the resources that can be accessed by clients.
Endpoints are identified by a URL and HTTP method.
Examples of endpoints include /api/users and /api/products.
Endpoints can have parameters that are passed in the URL or request body.
WebService is a software system designed to support interoperable machine-to-machine interaction over a network. WebApi is a framework for building HTTP services that can be consumed by a broad range of clients.
WebService uses SOAP protocol for communication while WebApi uses HTTP protocol.
WebService is platform-independent while WebApi is platform-dependent.
WebService supports only XML format while WebApi supports XML...
Singleton and static are both design patterns used to create objects with global access, but they differ in their implementation.
Singleton restricts the instantiation of a class to a single object, while static allows multiple instances.
Singleton provides a global point of access to the object, while static members are accessed through the class name.
Singleton can be lazy-loaded, while static members are initialized at...
Entity framework supports left/right join to pull details from joinee table.
Use LINQ to perform left/right join in Entity framework
Use DefaultIfEmpty() method to perform left join
Use join...into statement to perform right join
Example: var result = from employee in context.Employees
join department in context.Departments on employee.DepartmentId equals department.Id into empDept
from department in empDept.DefaultIfEmpty()
DI can be achieved through method, constructor, and property level patterns.
Method level DI involves passing dependencies as method parameters.
Constructor level DI involves passing dependencies as constructor parameters.
Property level DI involves setting dependencies as properties of an object.
Examples of DI frameworks that use these patterns include Spring and Unity.
Choosing the appropriate pattern depends on the spec
Select alternate rows from SQL
Use the modulo operator to filter alternate rows
Add a WHERE clause with the modulo operator
Example: SELECT * FROM table WHERE id % 2 = 0
Example: SELECT * FROM table WHERE MOD(id, 2) = 0
Clustered index determines physical order of data while non-clustered index has separate structure.
Clustered index determines the physical order of data in a table while non-clustered index has a separate structure.
Clustered index is faster for retrieval of data while non-clustered index is faster for retrieval of specific data.
A table can have only one clustered index while multiple non-clustered indexes can be create...
I applied via Naukri.com and was interviewed in Sep 2021. There were 3 interview rounds.
Loops, map, and list are fundamental concepts in programming.
Loops are used to repeat a block of code until a certain condition is met.
Map is a higher-order function that applies a given function to each element of a list and returns a new list.
List is a collection of elements that can be accessed by their index.
Example: for loop, map function, list comprehension.
I applied via Naukri.com and was interviewed in May 2021. There was 1 interview round.
Explaining @Transactional, Authentication vs Authorization, and Cookies vs Session
By default, @Transactional rolls back on unchecked exceptions
Authentication is verifying the identity of a user, while Authorization is granting access to resources based on their role
Cookies are stored on the client-side, while sessions are stored on the server-side
Sessions are preferred for security reasons, as cookies can be easily man...
Map applies a function to each element and returns a new stream, while flatMap applies a function that returns a stream and flattens the result.
Map transforms each element of a stream into another element using a function
FlatMap transforms each element of a stream into a stream of elements using a function and then flattens the result
Predicate is a functional interface that takes an argument and returns a boolean value
based on 4 reviews
Rating in categories
Software Engineer
22.5k
salaries
| ₹1.2 L/yr - ₹8 L/yr |
Technical Lead
20.7k
salaries
| ₹6.9 L/yr - ₹25 L/yr |
Senior Software Engineer
15.4k
salaries
| ₹4 L/yr - ₹16.5 L/yr |
Lead Engineer
14.8k
salaries
| ₹4.2 L/yr - ₹14 L/yr |
Senior Analyst
13.8k
salaries
| ₹1 L/yr - ₹8.7 L/yr |
TCS
Wipro
Accenture
Cognizant