Find Interview Questions for Top Companies
Xoriant Solutions Pvt Ltd Interview Questions and Answers
Ques:- What is the difference between a Pod, Deployment, and ReplicaSet?
Right Answer:

A Pod is the smallest deployable unit in Kubernetes that can contain one or more containers. A ReplicaSet ensures that a specified number of pod replicas are running at any given time, maintaining availability. A Deployment is a higher-level abstraction that manages ReplicaSets and provides declarative updates to applications, allowing for easy scaling and rollbacks.

Ques:- What is Kubernetes, and what problems does it solve
Right Answer:

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It solves problems related to application deployment consistency, scaling applications based on demand, managing container lifecycles, and ensuring high availability and fault tolerance of applications.

Ques:- What are liveness and readiness probes in Kubernetes?
Right Answer:

Liveness probes determine if a container is running; if it fails, Kubernetes will restart the container. Readiness probes check if a container is ready to accept traffic; if it fails, the container will be removed from the service endpoints until it is ready again.

Ques:- How does Kubernetes handle networking and communication between pods?
Right Answer:

Kubernetes handles networking and communication between pods using a flat network model where each pod gets its own IP address. Pods can communicate with each other directly using these IPs. Kubernetes also provides services, which are stable endpoints that can load balance traffic to pods, enabling communication between different services. Additionally, Kubernetes uses network plugins (CNI) to manage networking and enforce policies.

Ques:- How do you perform scaling in Kubernetes?
Right Answer:

You can perform scaling in Kubernetes using the `kubectl scale` command to adjust the number of replicas in a deployment, or by configuring the Horizontal Pod Autoscaler (HPA) to automatically scale the number of pods based on resource usage metrics.

Ques:- How do you design a RESTful API
Right Answer:
To design a RESTful API, follow these steps:

1. **Identify Resources**: Determine the main entities your API will manage (e.g., users, products).
2. **Use HTTP Methods**: Map CRUD operations to HTTP methods:
- GET for retrieving resources
- POST for creating resources
- PUT/PATCH for updating resources
- DELETE for removing resources
3. **Define Endpoints**: Create clear and intuitive URL structures for each resource (e.g., `/api/users`, `/api/products/{id}`).
4. **Use Status Codes**: Implement appropriate HTTP status codes for responses (e.g., 200 OK, 201 Created, 404 Not Found).
5. **Support Filtering and Pagination**: Allow clients to filter and paginate results for large datasets.
6. **Versioning**: Include versioning in the API path (e.g., `/api/v1/`) to manage changes over time.
7. **Documentation**: Provide
Ques:- What are URI and endpoint in a RESTful API
Right Answer:
A URI (Uniform Resource Identifier) is a string that uniquely identifies a resource in a RESTful API, typically in the form of a URL. An endpoint is a specific URI where an API can be accessed by a client to perform operations (like GET, POST, PUT, DELETE) on the resource.
Ques:- What are some common security practices for RESTful APIs
Right Answer:
1. Use HTTPS to encrypt data in transit.
2. Implement authentication (e.g., OAuth, API keys).
3. Use authorization to control access to resources.
4. Validate and sanitize input to prevent injection attacks.
5. Limit data exposure by using proper response filtering.
6. Implement rate limiting to prevent abuse.
7. Use CORS (Cross-Origin Resource Sharing) policies to control resource sharing.
8. Regularly update and patch dependencies to fix vulnerabilities.
9. Log and monitor API access for suspicious activity.
10. Use security headers (e.g., Content Security Policy, X-Content-Type-Options).
Ques:- How do you handle errors and exceptions in a RESTful API
Right Answer:
To handle errors and exceptions in a RESTful API, use standard HTTP status codes to indicate the type of error (e.g., 400 for bad requests, 404 for not found, 500 for server errors). Include a consistent error response format in the body, providing details such as an error code, message, and any relevant information to help the client understand the issue. Log errors for internal tracking and debugging.
Ques:- What are HTTP status codes and what do common codes like 200 201 400 401 404 500 mean
Right Answer:
HTTP status codes are three-digit numbers returned by a server to indicate the result of a client's request. Common codes include:

- **200**: OK - The request was successful.
- **201**: Created - The request was successful, and a resource was created.
- **400**: Bad Request - The server could not understand the request due to invalid syntax.
- **401**: Unauthorized - Authentication is required and has failed or not been provided.
- **404**: Not Found - The requested resource could not be found on the server.
- **500**: Internal Server Error - The server encountered an unexpected condition that prevented it from fulfilling the request.
Ques:- How do Git internals work (objects, refs, trees, blobs)?
Right Answer:

Git internals consist of four main components:

1. **Objects**: Git stores data as objects, which include blobs, trees, commits, and tags. Each object is identified by a SHA-1 hash.

2. **Blobs**: These are binary large objects that store the content of files. Each file's content is stored as a blob.

3. **Trees**: Trees represent directories and contain references to blobs (files) and other trees (subdirectories). They maintain the structure of the repository.

4. **Refs**: Refs are pointers to commits. They include branches and tags, allowing Git to track different versions of the project.

Together, these components enable Git to efficiently manage version control and track changes in a repository.

Ques:- How can you revert a pushed commit?
Right Answer:

To revert a pushed commit, use the command:

“`
git revert <commit-hash>
“`

This creates a new commit that undoes the changes made by the specified commit. After that, push the changes with:

“`
git push
“`

Ques:- What is a remote repository? How do you connect to one?
Right Answer:

A remote repository is a version of your project that is hosted on a server, allowing multiple users to collaborate. You connect to a remote repository using Git commands like `git clone` to copy it to your local machine, or `git remote add <name> <url>` to link your local repository to the remote one.

Ques:- What is Git and why is it used
Right Answer:

Git is a distributed version control system used to track changes in source code during software development. It allows multiple developers to collaborate, manage code versions, and maintain a history of changes efficiently.

Ques:- What is GitHub and how is it different from Git?
Right Answer:

GitHub is a web-based platform that uses Git for version control and allows developers to collaborate on projects. The main difference is that Git is a version control system used to manage code changes locally, while GitHub provides a cloud-based interface for hosting Git repositories, facilitating collaboration, and offering additional features like issue tracking and project management.

Ques:- What is a fork in GitHub, and how is it used?
Right Answer:

A fork in GitHub is a copy of a repository that allows you to make changes without affecting the original project. It is used to propose changes, experiment with new ideas, or contribute to the original repository by submitting pull requests.

Ques:- How would you use GitHub’s API in a real-world scenario?
Right Answer:

You can use GitHub’s API to automate tasks like creating issues, managing pull requests, or retrieving repository data. For example, you could build a tool that automatically opens an issue when a specific error is detected in your application, or a script that updates project documentation based on changes in the codebase.

Ques:- How do you create a new repository on GitHub?
Right Answer:

To create a new repository on GitHub, follow these steps:

1. Log in to your GitHub account.
2. Click the "+" icon in the top right corner and select "New repository."
3. Enter a name for your repository and optional description.
4. Choose the repository visibility (public or private).
5. Optionally, initialize the repository with a README, .gitignore, or license.
6. Click the "Create repository" button.

Ques:- What are GitHub Projects, and how are they used for project management?
Right Answer:

GitHub Projects are a feature that allows users to organize and manage their work within repositories using Kanban-style boards. They help teams track tasks, issues, and pull requests by creating cards that can be moved across columns representing different stages of progress, such as "To Do," "In Progress," and "Done." This facilitates project management and collaboration by providing a visual overview of the project's status.

AmbitionBox Logo

What makes Takluu valuable for interview preparation?

1 Lakh+
Companies
6 Lakh+
Interview Questions
50K+
Job Profiles
20K+
Users