Hitachi Digital Services
30+ BigSun Technologies Interview Questions and Answers
Q1. How will you implement microservice architecture for your app, design patterns to use
I will implement microservice architecture using containerization and API gateway pattern.
Identify the bounded contexts and break down the monolith into smaller services
Use containerization tools like Docker and Kubernetes for deployment and scaling
Implement API gateway pattern to manage the communication between services
Use service discovery tools like Consul or Eureka for service registration and discovery
Implement fault tolerance and resilience patterns like circuit breake...read more
Q2. How many types of topologies in San and explain it one by one
There are three types of topologies in SAN: point-to-point, arbitrated loop, and switched fabric.
Point-to-point topology connects two devices directly.
Arbitrated loop topology connects devices in a loop, where each device has a unique address.
Switched fabric topology connects devices through a central switch, allowing multiple simultaneous connections.
Examples: Fibre Channel (FC) and Internet Small Computer System Interface (iSCSI) are commonly used SAN topologies.
Q3. Describe which service of AWS used
AWS offers a wide range of services, including compute, storage, databases, analytics, machine learning, and more.
EC2 for compute
S3 for storage
RDS for databases
Redshift for analytics
SageMaker for machine learning
Lambda for serverless computing
Q4. Describe Application Architecture
Application architecture refers to the design and organization of software applications.
It includes the selection of technologies, frameworks, and patterns.
It defines the components, modules, and layers of the application.
It determines the communication and interaction between different parts of the application.
It considers factors such as scalability, security, and maintainability.
Examples include client-server architecture, microservices architecture, and event-driven archi...read more
Q5. Difficulties faced during any implementations in past and what was the issue and how it was resolved
Encountered challenges during past implementations and how they were resolved
Lack of stakeholder buy-in led to resistance to change
Integration issues with existing systems caused delays
Insufficient training for end-users resulted in low adoption rates
Scope creep led to project timeline and budget overruns
Communication breakdowns between teams caused misunderstandings
Q6. How do you implement multi threading in java? Two ways.
Multi threading in Java can be implemented using two ways: extending the Thread class or implementing the Runnable interface.
Extend the Thread class and override the run() method.
Implement the Runnable interface and provide the implementation for the run() method.
Create an instance of the Thread class and pass an instance of the class implementing Runnable as a parameter.
Start the thread using the start() method.
Example: 1. class MyThread extends Thread { public void run() { ...read more
Q7. What is multipathing
Multipathing is a technique used in storage systems to provide redundancy and load balancing by using multiple paths between servers and storage devices.
Multipathing improves storage system performance and availability.
It allows for load balancing by distributing I/O traffic across multiple paths.
Redundancy is achieved by having multiple paths in case one fails.
Multipathing can be implemented at the hardware or software level.
Examples of multipathing technologies include MPIO...read more
Q8. How many types of backup
There are three types of backup: full, incremental, and differential.
Full backup: backs up all data and takes the longest time and uses the most storage space
Incremental backup: backs up only the changes made since the last backup and is faster and uses less storage space than a full backup
Differential backup: backs up all changes made since the last full backup and is faster than a full backup but uses more storage space than an incremental backup
Q9. Difference between CDS view and AMDP
CDS views are used to define database views in ABAP, while AMDP is used to write database procedures in ABAP.
CDS views are defined using ABAP Development Tools (ADT) in Eclipse IDE.
AMDP allows writing database procedures directly in ABAP code.
CDS views are used for defining virtual data models, while AMDP is used for complex calculations or data manipulations directly in the database.
CDS views can be consumed in ABAP programs, while AMDP procedures are called from ABAP progra...read more
Q10. What is san ?
SAN stands for Storage Area Network. It is a high-speed network that connects servers and storage devices.
SAN is a dedicated network that allows multiple servers to access shared storage resources.
It provides centralized storage management and allows for scalability and flexibility.
SANs use protocols like Fibre Channel or iSCSI to connect servers and storage devices.
SANs can be used for various purposes like data backup, disaster recovery, and virtualization.
Examples of SAN v...read more
Q11. What is reduplication
Reduplication is the process of eliminating duplicate data in storage systems.
Reduplication reduces storage space requirements and improves backup and recovery times.
It works by identifying and removing identical data blocks and replacing them with pointers to a single copy.
For example, if multiple users have the same file attachment in their emails, reduplication will store only one copy of the attachment and point to it from all the emails.
Reduplication is commonly used in ...read more
Q12. I give you 3 in input output should be 14, I give you 4 in input output should be 30
The output is calculated using a mathematical formula based on the input number.
The formula to calculate the output is: output = (input^2) + (input * 2)
For example, for input 3: output = (3^2) + (3 * 2) = 9 + 6 = 15
For example, for input 4: output = (4^2) + (4 * 2) = 16 + 8 = 24
Q13. What is nas
NAS stands for Network Attached Storage. It is a file-level storage device that provides centralized data storage and access over a computer network.
NAS is a storage device that connects to a network and allows multiple users to access and share files.
It provides file-level access, meaning users can access individual files and folders stored on the NAS.
NAS devices often have their own operating system and can offer additional features like data backup, remote access, and medi...read more
Q14. What is replication
Replication is the process of creating and maintaining a copy of data or information in another location.
Replication ensures data availability and disaster recovery.
It can be synchronous or asynchronous.
Examples include database replication, file replication, and virtual machine replication.
Q15. Write program in Go include goroutine channel and wg
A program in Go that demonstrates the use of goroutines, channels, and a wait group.
Create a goroutine that performs a task concurrently.
Use channels to communicate between goroutines.
Use a wait group to synchronize the completion of goroutines.
Example: Calculate the sum of numbers using multiple goroutines and a channel.
Q16. Where to check when PR stuck in ordering?
Check the status of the purchase requisition in the system.
Check if the purchase requisition has been approved by the appropriate authorities.
Verify if there are any issues with the vendor or catalog causing the ordering process to be stuck.
Review the workflow configuration to ensure there are no bottlenecks in the approval process.
Check if there are any system errors or connectivity issues causing the PR to be stuck.
Q17. Finally vs final vs finalize?
Finally, final, and finalize are related words with different meanings.
Finally is an adverb used to indicate the end of something.
Final is an adjective used to describe the last or ultimate stage of something.
Finalize is a verb used to complete or make something final.
Examples: Finally, I finished my project. The final exam is tomorrow. I need to finalize the contract.
Q18. Tell me about inheritance, polymorphism.
Inheritance allows a class to inherit attributes and methods from another class, while polymorphism allows objects of different classes to be treated as objects of a common superclass.
Inheritance is a mechanism in OOP where a new class inherits properties and behaviors from an existing class.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
Example of inheritance: class Car inherits from class Vehicle, inheriting attributes like ...read more
Q19. What is thrashing?
Thrashing is a phenomenon in computer systems where excessive paging or swapping occurs, leading to a decrease in performance.
Occurs when the system spends more time swapping pages than executing instructions
Caused by insufficient memory or poorly optimized programs
Can be observed through high disk activity and low CPU utilization
Example: A computer running multiple memory-intensive applications simultaneously
Q20. List the seven OSI layers.
The seven layers of the OSI model are: Physical, Data Link, Network, Transport, Session, Presentation, and Application.
Physical layer: deals with the physical transmission of data
Data Link layer: responsible for error-free transfer of data between nodes
Network layer: handles routing and forwarding of data packets
Transport layer: ensures reliable delivery of data between end systems
Session layer: establishes, manages, and terminates sessions between applications
Presentation la...read more
Q21. What is goroutine?
Goroutine is a lightweight thread of execution that allows concurrent programming in Go.
Goroutines are functions or methods that run concurrently with other goroutines.
They are managed by the Go runtime and have their own stack space.
Goroutines are more efficient than traditional threads and can be created easily using the 'go' keyword.
They communicate with each other using channels, which are built-in data structures in Go.
Goroutines enable efficient and scalable concurrent ...read more
Q22. Provide alternative for time.Sleep()
time.Ticker is an alternative for time.Sleep() to create a repeating timer.
Use time.Ticker to create a ticker that ticks at regular intervals.
Use the ticker's C channel to receive the ticks.
Stop the ticker when done using the Stop() method.
Q23. Plan for 5 years
Continue to grow as a Senior Software Engineer by expanding technical skills, taking on leadership roles, and contributing to innovative projects.
Continue to stay updated on latest technologies and trends in software development
Take on mentorship roles to help junior engineers grow
Lead projects and teams to showcase leadership abilities
Contribute to open source projects to expand network and skills
Attend conferences and workshops to network and learn from industry experts
Q24. Sort array based on length of items
Sort array of strings based on length of items
Use the sort() method with a custom compare function
Compare the length of strings in the array
Return -1, 0, or 1 based on the comparison
Q25. S2P cycle explanation.
S2P cycle involves sourcing, procurement, and payment processes in a business.
Sourcing: Identifying suppliers, negotiating contracts, and selecting vendors.
Procurement: Ordering goods or services, receiving them, and managing inventory.
Payment: Processing invoices, making payments, and tracking expenses.
Integration: Ensuring seamless flow of information between sourcing, procurement, and payment stages.
Q26. Tell about P2P cycle
P2P cycle stands for Procure to Pay cycle, which involves the process of purchasing goods or services from a vendor and making payment for them.
The cycle starts with the creation of a purchase order (PO) based on the requirements identified in the requisition.
The vendor delivers the goods or services, and the receiving department confirms receipt in the system.
An invoice is generated by the vendor and matched with the PO and receipt in the system for payment processing.
Paymen...read more
Q27. Write steps for Docker configuration.
Q28. arraylist vs linkedlist
ArrayList is faster for accessing elements, LinkedList is better for frequent insertions and deletions.
ArrayList uses dynamic array to store elements, LinkedList uses doubly linked list.
ArrayList is faster for accessing elements by index, LinkedList is better for frequent insertions and deletions.
Example: ArrayList is suitable for scenarios where random access is required, LinkedList is suitable for scenarios where frequent insertions and deletions are needed.
Q29. interface vs abstract
Interface defines a contract for classes to implement, while abstract class can have some implementation.
Interface can only have abstract methods and constants, while abstract class can have abstract methods, concrete methods, and member variables.
A class can implement multiple interfaces but can only inherit from one abstract class.
Interfaces are used for achieving multiple inheritance in Java, while abstract classes are used for code reusability and polymorphism.
Example: In...read more
Q30. What is Airflow
Q31. Write ELK sequence algorithm.
Top HR Questions asked in BigSun Technologies
Interview Process at BigSun Technologies
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month