logo
Product
Product Tour
Aptitude Tests Coding Tests Psychometric Tests Personality Tests
Campus Hiring Features Proctoring Enterprise
Test Library Questions Pricing
Resources
Blog Case studies Books Tools
About us
Login
Log In

Search test library by skills or roles
⌘ K
logo
Assessment Platform Aptitude Tests Coding Tests Psychometric Tests Personality Tests

TRY FOR FREE

MS SQL Interview Questions For Freshers
  1. What is the difference between a primary key and a foreign key?
  2. How do you create a new database in MS SQL?
  3. What is a query and how do you write one in MS SQL?
  4. What is normalization and why is it important in database design?
  5. What is a stored procedure and how do you create one in MS SQL?
  6. What is an index in MS SQL and how does it improve database performance?
  7. How do you insert data into a table in MS SQL?
  8. What is a trigger in MS SQL and how does it work?
  9. How do you backup and restore a database in MS SQL?
  10. How does the ACID model ensure data consistency in MS SQL?
  11. Explain the difference between a char and varchar data type in MS SQL
  12. What is a transaction in MS SQL and how does it work?
  13. How do you use the TOP keyword in MS SQL to limit the number of results?
  14. What is a clustered index and how does it differ from a non-clustered index in MS SQL?
  15. What is the purpose of the @@IDENTITY system function in MS SQL?
  16. How do you use the LIKE operator in MS SQL to search for patterns in data?
  17. What is the difference between a left and right outer join in MS SQL?
  18. How do you use the DISTINCT keyword in MS SQL to eliminate duplicates from a result set?
  19. What is the purpose of the SET statement in MS SQL?
MS SQL Intermediate Interview Questions
  1. Explain the difference between an inner join and an outer join in MS SQL.
  2. What is the difference between a clustered and a non-clustered index?
  3. How do you optimize a query in MS SQL?
  4. What is a subquery in MS SQL and how is it used?
  5. How do you use the GROUP BY clause in MS SQL?
  6. Explain the difference between a view and a table in MS SQL.
  7. What is the purpose of the WITH clause in MS SQL?
  8. How do you use the EXISTS operator in MS SQL?
  9. What is the difference between a function and a stored procedure in MS SQL?
  10. How do you use the TRY...CATCH statement in MS SQL to handle errors?
  11. How do you optimize a query in MS SQL using execution plans?
  12. What is a temporary table in MS SQL and how does it work?
  13. How do you use the XML data type in MS SQL to store and retrieve data?
  14. What is a cursor in MS SQL and how is it used to traverse a result set?
  15. What is the difference between a trigger and a constraint in MS SQL?
  16. How do you use the ROW_NUMBER() function in MS SQL to generate row numbers for a result set?
  17. What is the purpose of the CROSS APPLY operator in MS SQL?
  18. How do you use the COALESCE function in MS SQL to handle null values?
  19. Explain the difference between a heap and a clustered table in MS SQL.
  20. How do you use the QUOTENAME function in MS SQL to dynamically generate SQL statements?
MS SQL Interview Questions For Experienced
  1. How do you design a database schema for a large-scale application in MS SQL?
  2. Explain the difference between a OLTP and OLAP database in MS SQL.
  3. What is a partition in MS SQL and how does it improve database performance?
  4. How do you use the HAVING clause in MS SQL?
  5. Explain the difference between a cursor and a temporary table in MS SQL.
  6. How do you use the APPLY operator in MS SQL?
  7. What is a Common Table Expression (CTE) in MS SQL and how is it used?
  8. How do you use the MERGE statement in MS SQL?
  9. Explain the difference between a scalar and a table-valued function in MS SQL.
  10. How do you use the PIVOT and UNPIVOT operators in MS SQL?
  11. How do you use partitioning in MS SQL to manage large amounts of data?
  12. How do you use the FILESTREAM data type in MS SQL to store and retrieve large objects?
  13. What is a materialized view in MS SQL and how does it differ from a regular view?
  14. How do you use the RANK() function in MS SQL to rank rows in a result set?
  15. What is a recursive CTE in MS SQL and how is it used to generate hierarchical data?
  16. How do you use the APPLY operator in MS SQL to join a table with a table-valued function?
  17. What is the purpose of the TABLESAMPLE clause in MS SQL and how is it used?
  18. How do you use the OFFSET and FETCH clauses in MS SQL to perform pagination?
  19. What is a filtered index in MS SQL and how does it improve query performance?
  20. How do you use the STRING_AGG function in MS SQL to concatenate strings from multiple rows into a single result?


Interview Questions

MS SQL interview questions with detailed answers

Most important MS SQL interview questions for freshers, intermediate and experienced candidates. The important questions are categorized for quick browsing before the interview or to act as a detailed guide on different topics MS SQL interviewers look for.

MS SQL Online Test

MS SQL Interview Questions For Freshers

What is the difference between a primary key and a foreign key?

View answer

Hide answer

A primary key is a unique identifier for a row in a table. It is used to enforce data integrity and to ensure that each row in a table can be uniquely identified. A foreign key is a column in one table that refers to the primary key of another table. It is used to enforce referential integrity between two tables in a database.

How do you create a new database in MS SQL?

View answer

Hide answer

To create a new database in MS SQL, you can use the following SQL command:


CREATE DATABASE myDatabase;

This will create a new database named "myDatabase".

What is a query and how do you write one in MS SQL?

View answer

Hide answer

A query is a request for data from a database. It is used to retrieve specific information from one or more tables in a database. Queries can be simple or complex, and can involve multiple tables and criteria.

To write a query in MS SQL, you can use the SELECT statement. For example, the following query will retrieve all rows from the "employees" table:


SELECT * FROM employees;

This will retrieve all columns and rows from the "employees" table. You can also specify specific columns to retrieve, as well as criteria to filter the results.

What is normalization and why is it important in database design?

View answer

Hide answer

Normalization is the process of organizing data in a database in a way that reduces redundancy and dependency. It involves dividing larger tables into smaller, more specialized tables and defining relationships between those tables.

Normalization is important in database design because it helps to improve data integrity, reduce data redundancy, and improve database performance. By reducing redundancy and dependency, normalization can help to ensure that data is consistent and accurate across the database. It can also make it easier to modify and update the database, as well as improve query performance.

What is a stored procedure and how do you create one in MS SQL?

View answer

Hide answer

A stored procedure is a precompiled SQL statement or set of statements that is stored in a database and can be called by other programs or scripts. Stored procedures can be used to simplify complex queries, enforce security, and improve database performance.

To create a stored procedure in MS SQL, you can use the following syntax:


CREATE PROCEDURE procedure_name
AS
BEGIN
   -- SQL statements here
END;

For example, the following stored procedure will retrieve all employees with a salary greater than a specified amount:


CREATE PROCEDURE getEmployeesBySalary
    @salary INT
AS
BEGIN
    SELECT * FROM employees WHERE salary > @salary;
END;

This stored procedure can then be called from other programs or scripts using the EXECUTE statement.

What is an index in MS SQL and how does it improve database performance?

View answer

Hide answer

An index is a database object that is used to improve query performance by allowing for faster data retrieval. An index is created on one or more columns in a table and contains a copy of the data in those columns, along with a pointer to the corresponding row in the table.

When a query is executed that involves the indexed column, the database can use the index to quickly locate the data, rather than scanning the entire table. This can greatly improve query performance, especially for large tables.

To create an index in MS SQL, you can use the following syntax:


CREATE INDEX index_name
ON table_name (column1, column2, ...);

For example, the following index creates an index on the "last_name" and "first_name" columns of the "employees" table:


CREATE INDEX idx_employees_name
ON employees (last_name, first_name);

This index can then be used to improve query performance when searching for employees by their name.

How do you insert data into a table in MS SQL?

View answer

Hide answer

To insert data into a table in MS SQL, you can use the INSERT INTO statement. For example, to insert a new row into the "employees" table, you can use the following syntax:


INSERT INTO employees (first_name, last_name, age, salary)
VALUES ('John', 'Doe', 35, 50000);

This will insert a new row into the "employees" table with the specified values.

What is a trigger in MS SQL and how does it work?

View answer

Hide answer

A trigger is a database object that is used to automatically perform a specific action when a certain event occurs, such as inserting or updating a row in a table. Triggers can be used to enforce business rules, perform calculations, or modify data based on specific conditions.

To create a trigger in MS SQL, you can use the following syntax:


CREATE TRIGGER trigger_name
ON table_name
FOR INSERT, UPDATE, DELETE
AS
BEGIN
   -- SQL statements here
END;

For example, the following trigger will update the "last_updated" column of the "employees" table whenever a row is inserted or updated:


CREATE TRIGGER update_last_updated
ON employees
FOR INSERT, UPDATE
AS
BEGIN
    UPDATE employees SET last_updated = GETDATE() WHERE employee_id IN (SELECT employee_id FROM inserted);
END;

This trigger will update the "last_updated" column to the current date and time whenever a row is inserted or updated in the "employees" table.

How do you backup and restore a database in MS SQL?

View answer

Hide answer

To backup a database in MS SQL, you can use the BACKUP DATABASE statement. For example, to backup the "myDatabase" database to a file named "myDatabase.bak", you can use the following syntax:


BACKUP DATABASE myDatabase
TO DISK = 'C:\backup\myDatabase.bak';

To restore a database in MS SQL, you can use the RESTORE DATABASE statement. For example, to restore the "myDatabase" database from a backup file named "myDatabase.bak", you can use the following syntax:


RESTORE DATABASE myDatabase
FROM DISK = 'C:\backup\myDatabase.bak';

This will restore the "myDatabase" database to its state at the time the backup was taken.

How does the ACID model ensure data consistency in MS SQL?

View answer

Hide answer

The ACID model is a set of properties that ensure that database transactions are processed reliably. The term ACID stands for Atomicity, Consistency, Isolation, and Durability.

In MS SQL, the ACID model ensures data consistency by using transactions. When a transaction is executed, it follows the ACID properties to ensure that the transaction is processed reliably. For example, if a transaction involves updating multiple tables, either all of the updates will succeed or none of them will. This ensures that the data remains consistent.

Explain the difference between a char and varchar data type in MS SQL

View answer

Hide answer

In MS SQL, char and varchar are both used to store character strings. The main difference between them is that char is a fixed-length data type and varchar is a variable-length data type.

When you declare a column as char(10), for example, it will always occupy 10 bytes of storage, regardless of whether the data it contains requires that much space. In contrast, when you declare a column as varchar(10), it will only occupy the amount of space required to store the data it contains, up to a maximum of 10 bytes.

What is a transaction in MS SQL and how does it work?

View answer

Hide answer

A transaction in MS SQL is a logical unit of work that contains one or more database operations, such as inserting, updating, or deleting data. Transactions ensure data consistency and integrity by following the ACID properties.

In MS SQL, a transaction works by enclosing a set of database operations within a BEGIN TRANSACTION and COMMIT TRANSACTION block. If an error occurs during the transaction, it can be rolled back to the point at which it started using the ROLLBACK TRANSACTION statement.

How do you use the TOP keyword in MS SQL to limit the number of results?

View answer

Hide answer

In MS SQL, you can use the TOP keyword to limit the number of results returned by a query. The syntax for using TOP is as follows:


SELECT TOP expression column1, column2, ...
FROM table_name
WHERE condition;

The expression in the TOP statement specifies the number of rows to return. For example, SELECT TOP 5 would return the first five rows that meet the specified conditions.

What is a clustered index and how does it differ from a non-clustered index in MS SQL?

View answer

Hide answer

In MS SQL, a clustered index determines the physical order in which data is stored in a table. When you create a clustered index on a table, the data in the table is physically rearranged to match the order of the index.

A non-clustered index, on the other hand, does not affect the physical order of the data in the table. Instead, it creates a separate structure that allows the database to quickly locate the rows that match a particular search criteria.

What is the purpose of the @@IDENTITY system function in MS SQL?

View answer

Hide answer

The @@IDENTITY system function in MS SQL is used to retrieve the last identity value generated for any table in the current session. An identity column is a special type of column that automatically generates unique numeric values when new rows are added to a table.

The @@IDENTITY function is typically used after an insert operation that includes an identity column. For example:


INSERT INTO mytable (col1, col2) VALUES ('value1', 'value2');
SELECT @@IDENTITY;

This would insert a new row into mytable and return the identity identity value generated in the current session, so it should be used carefully in multi-user environments.

How do you use the LIKE operator in MS SQL to search for patterns in data?

View answer

Hide answer

In MS SQL, the LIKE operator is used to search for patterns in data. The basic syntax for using LIKE is as follows:


SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE pattern;

The pattern in the LIKE statement can include wildcard characters to match any sequence of characters. The two wildcard characters in MS SQL are % and _. The % character matches any sequence of zero or more characters, while the _ character matches any single character.

For example, the following query would return all rows from mytable where the name column starts with the letter 'J':


SELECT * FROM mytable
WHERE name LIKE 'J%';

What is the difference between a left and right outer join in MS SQL?

View answer

Hide answer

In MS SQL, a left outer join and a right outer join are two types of outer join operations that allow you to combine data from two or more tables.

A left outer join returns all the rows from the left table and matching rows from the right table. If there are no matching rows in the right table, the result will contain NULL values for those columns.

A right outer join, on the other hand, returns all the rows from the right table and matching rows from the left table. If there are no matching rows in the left table, the result will contain NULL values for those columns.

Here's an example of a left outer join:


SELECT *
FROM table1
LEFT OUTER JOIN table2
ON table1.id = table2.id;

And here's an example of a right outer join:


SELECT *
FROM table1
RIGHT OUTER JOIN table2
ON table1.id = table2.id;

How do you use the DISTINCT keyword in MS SQL to eliminate duplicates from a result set?

View answer

Hide answer

In MS SQL, the DISTINCT keyword is used to eliminate duplicate rows from a result set. The basic syntax for using DISTINCT is as follows:


SELECT DISTINCT column1, column2, ...
FROM table_name
WHERE condition;

The DISTINCT keyword applies to all columns listed in the SELECT statement. If two or more rows have the same values for all columns listed, only one of those rows will be returned in the result set.

For example, the following query would return all distinct values of the name column from mytable:


SELECT DISTINCT name FROM mytable;

What is the purpose of the SET statement in MS SQL?

View answer

Hide answer

In MS SQL, the SET statement is used to assign values to variables or to modify the behavior of the current session. Here are a few examples:

  • To assign a value to a variable:
    
    DECLARE @myvar VARCHAR(50);
    SET @myvar = 'Hello, world!';
    
  • To modify the behavior of the current session:
    
    SET ANSI_NULLS OFF;
    SET ANSI_PADDING OFF;
    SET CONCAT_NULL_YIELDS_NULL OFF;
    

Each SET statement modifies a different aspect of the session behavior. For example, the first statement disables ANSI null handling, the second statement disables padding of strings to a fixed length, and the third statement disables concatenation of null values.

MS SQL Intermediate Interview Questions

Explain the difference between an inner join and an outer join in MS SQL.

View answer

Hide answer

An inner join in MS SQL returns only the rows from both tables that have matching values in the specified columns. On the other hand, an outer join returns all the rows from one table and matching rows from the other table, and includes null values for the non-matching rows in the result set.

Here's an example of how to use an inner join and an outer join:

Inner Join


SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

Left Outer Join


SELECT customers.customer_name, orders.order_id
FROM customers
LEFT OUTER JOIN orders ON customers.customer_id = orders.customer_id;

What is the difference between a clustered and a non-clustered index?

View answer

Hide answer

A clustered index in MS SQL determines the physical order of data in a table based on the values in a specific column or set of columns. There can only be one clustered index per table, and it's automatically created when a primary key constraint is defined.

A non-clustered index, on the other hand, creates a separate data structure that points to the physical location of data in the table. This index does not determine the physical order of data in the table.

Here's an example of how to create a clustered and non-clustered index:

Creating a Clustered Index


CREATE CLUSTERED INDEX IX_orders_order_id ON orders(order_id);

Creating a Non-Clustered Index


CREATE NONCLUSTERED INDEX IX_customers_customer_name ON customers(customer_name);

How do you optimize a query in MS SQL?

View answer

Hide answer

To optimize a query in MS SQL, you can take several steps, such as:

  1. Use appropriate indexes on columns that are frequently used in WHERE, JOIN, and ORDER BY clauses.
  2. Avoid using SELECT * and only select the columns that are needed.
  3. Use parameterized queries to avoid SQL injection attacks and improve performance.
  4. Use the EXISTS operator instead of subqueries where possible.
  5. Avoid using functions in WHERE clauses, as they can slow down query performance.
  6. Use the appropriate data types for columns and variables to minimize data conversion overhead.
  7. Use the SET NOCOUNT ON statement to avoid sending extra messages to the client.
  8. Avoid using cursor-based operations where possible, as they can have poor performance.

What is a subquery in MS SQL and how is it used?

View answer

Hide answer

A subquery in MS SQL is a SELECT statement nested inside another SELECT, INSERT, UPDATE, or DELETE statement. It's used to retrieve data from one or more tables based on a condition specified in the outer query.

Here's an example of how to use a subquery:


SELECT order_id, customer_id, order_date
FROM orders
WHERE customer_id IN (
    SELECT customer_id
    FROM customers
    WHERE country = 'USA'
);

In this example, the subquery retrieves a list of customer IDs from the customers table where the country is 'USA', and the outer query retrieves the orders with those customer IDs.

How do you use the GROUP BY clause in MS SQL?

View answer

Hide answer

The GROUP BY clause in MS SQL is used to group rows based on one or more columns and perform aggregate functions on each group. Here's an example:


SELECT category_id, COUNT(*) as num_products, AVG(unit_price) as avg_price
FROM products
GROUP BY category_id;

In this example, the query groups products by their category ID, and calculates the number of products and the average unit price for each category.

Explain the difference between a view and a table in MS SQL.

View answer

Hide answer

A table in MS SQL is a collection of data that is organized into rows and columns. It's used to store data permanently and is usually used as the primary data source for applications.

A view, on the other hand, is a virtual table that is based on the result set of a SELECT statement. It's not stored as a separate object but is defined by a query that retrieves data from one or more tables. Views can be used to simplify complex queries, hide sensitive data, or provide a customized view of the data for different users.

Here's an example of how to create a view:


CREATE VIEW [dbo].[CustomersWithOrders] AS
SELECT c.customer_id, c.customer_name, o.order_id, o.order_date
FROM customers c
INNER JOIN orders o ON c.customer_id = o.customer_id;

In this example, the view combines data from the customers and orders tables and retrieves only the columns that are needed.

What is the purpose of the WITH clause in MS SQL?

View answer

Hide answer

The WITH clause, also known as Common Table Expression (CTE), is a temporary named result set that can be referenced within a SELECT, INSERT, UPDATE, or DELETE statement in MS SQL. It allows you to define a query once and reference it multiple times within a query, making complex queries more readable and maintainable.

Syntax of WITH clause


WITH cte_name (column1, column2, ...) AS
(
   SELECT column1, column2, ...
   FROM table_name
   WHERE condition
)
SELECT column1, column2, ...
FROM cte_name;

Example of WITH clause

Suppose we have a table called "employees" with columns "employee_id", "first_name", "last_name", "department_id" and we want to get a list of all employees along with their department names.

We can use the WITH clause to define a CTE "departments_cte" that gets the department name and department id from a "departments" table. We can then join the employees table with the departments_cte to get the department name for each employee.


WITH departments_cte AS
(
   SELECT department_id, department_name
   FROM departments
)
SELECT e.employee_id, e.first_name, e.last_name, d.department_name
FROM employees e
INNER JOIN departments_cte d ON e.department_id = d.department_id;

How do you use the EXISTS operator in MS SQL?

View answer

Hide answer

The EXISTS operator is a Boolean operator that returns true if a subquery returns any rows, otherwise false. It can be used in SELECT, UPDATE, and DELETE statements.

Syntax of EXISTS operator


SELECT column1, column2, ...
FROM table_name
WHERE EXISTS (subquery);

Example of EXISTS operator

Suppose we have two tables called "employees" and "departments". We want to retrieve a list of all employees who work in the "Sales" department.

We can use the EXISTS operator to check if the employee's department_id exists in the subquery that selects the department_id for the "Sales" department.


SELECT employee_id, first_name, last_name
FROM employees
WHERE EXISTS (
   SELECT department_id
   FROM departments
   WHERE department_name = 'Sales'
   AND employees.department_id = departments.department_id
);

What is the difference between a function and a stored procedure in MS SQL?

View answer

Hide answer

A stored procedure and a function are both database objects that encapsulate a block of code and can be executed by calling them from an application or another SQL statement. However, there are some differences between the two.

Stored Procedure

  • Can accept input parameters and return output parameters or result sets.
  • Can contain any SQL statement, including DML and DDL statements.
  • Does not have to return a value.
  • Can be used to modify data, such as inserting, updating, or deleting records.

Function

  • Must return a value.
  • Can accept input parameters but cannot modify them.
  • Can contain only SELECT statements and built-in functions.
  • Cannot contain DML statements, such as INSERT, UPDATE, or DELETE.

Example of stored procedure


CREATE PROCEDURE usp_insert_employee
   @first_name VARCHAR(50),
   @last_name VARCHAR(50),
   @department_id INT
AS
BEGIN
   INSERT INTO employees (first_name, last_name, department_id)
   VALUES (@first_name, @last_name, @department_id)
END

Example of function


CREATE FUNCTION fn_get_employee_count_by_department
   (@department_id INT)
RETURNS INT
AS
BEGIN
   DECLARE @-- variable to hold the count
DECLARE @count INT

SELECT @count = COUNT(*)
FROM employees
WHERE department_id = @department_id

RETURN @count
END

How do you use the TRY...CATCH statement in MS SQL to handle errors?

View answer

Hide answer

In SQL Server, the TRY...CATCH block is used to handle errors that occur during the execution of a Transact-SQL statement or batch. The TRY block contains the code that might generate an error, and the CATCH block contains the code that executes if an error occurs.

Here is an example of a simple TRY...CATCH block:


BEGIN TRY
    -- code that might generate an error
END TRY
BEGIN CATCH
    -- code that executes if an error occurs
END CATCH

Within the CATCH block, you can use the system functions ERROR_NUMBER(), ERROR_MESSAGE(), ERROR_STATE(), ERROR_PROCEDURE(), ERROR_LINE() to obtain information about the error that occurred.

Here is an example of a TRY...CATCH block that handles a specific error:


BEGIN TRY
    -- code that might generate an error
END TRY
BEGIN CATCH
    IF ERROR_NUMBER() = 1205
        PRINT 'Deadlock detected'
    ELSE
        PRINT 'An error occurred: ' + ERROR_MESSAGE()
END CATCH

How do you optimize a query in MS SQL using execution plans?

View answer

Hide answer

Optimizing a query in MS SQL involves identifying and fixing performance bottlenecks in the execution plan. Execution plans provide a graphical representation of how the query is executed and the resources used during execution. Here are the steps to optimize a query using execution plans:

  1. Open SQL Server Management Studio and connect to the database server.
  2. Open a new query window and type the query you want to optimize.
  3. Click on the "Query" menu and select "Include Actual Execution Plan".
  4. Execute the query.
  5. Review the execution plan to identify performance bottlenecks.
  6. Use query tuning techniques to fix the bottlenecks identified in the execution plan.
  7. Re-run the query with the execution plan to verify the performance improvements.

Here's an example query and its execution plan:


SELECT *
FROM Orders
WHERE OrderDate BETWEEN '2022-01-01' AND '2022-01-31'

The execution plan for the above query may show a table scan or index scan, indicating that the query is performing a full scan of the table or index. To optimize the query, we could add an index on the OrderDate column to reduce the scan.

Adding an index to optimize a query


CREATE INDEX IX_OrderDate ON Orders (OrderDate)

After adding the index, we can re-run the query with the execution plan to verify the performance improvements.

What is a temporary table in MS SQL and how does it work?

View answer

Hide answer

A temporary table in MS SQL is a table that is created and used for a specific session or connection. Temporary tables are stored in the tempdb database and are automatically deleted when the session or connection is closed.

Here's an example of creating a temporary table:


CREATE TABLE #TempOrders
(
    OrderID INT PRIMARY KEY,
    OrderDate DATE,
    CustomerID INT
)

To insert data into the temporary table, we can use the following syntax:


INSERT INTO #TempOrders (OrderID, OrderDate, CustomerID)
VALUES (1, '2022-01-01', 1001),
       (2, '2022-01-02', 1002),
       (3, '2022-01-03', 1003)

We can then query the temporary table just like any other table:


SELECT *
FROM #TempOrders

After the session or connection is closed, the temporary table is automatically deleted.

How do you use the XML data type in MS SQL to store and retrieve data?

View answer

Hide answer

The XML data type in MS SQL allows you to store and manipulate XML data. Here's an example of creating a table with an XML column:


CREATE TABLE Products
(
    ProductID INT PRIMARY KEY,
    ProductName VARCHAR(50),
    ProductXML XML
)

To insert data into the XML column, we can use the following syntax:


INSERT INTO Products (ProductID, ProductName, ProductXML)
VALUES (1, 'Product A', '<Product><Description>Product A Description</Description></Product>'),
       (2, 'Product B', '<Product><Description>Product B Description</Description></Product>')

We can then retrieve the XML data using XQuery. Here's an example of querying the Products table and retrieving the ProductName and Description:


SELECT ProductName,
       ProductXML.value('(Product/Description)[1]', 'VARCHAR(50)') AS ProductDescription
FROM Products

The .value() function is used to extract the value of the Description element from the ProductXML column

What is a cursor in MS SQL and how is it used to traverse a result set?

View answer

Hide answer

A cursor in MS SQL is a database object that allows you to traverse a result set row by row and perform operations on each row. Cursors are useful when you need to perform operations that cannot be done using a single SQL statement.

Here's an example of declaring and using a cursor:


DECLARE @ProductID INT
DECLARE @ProductName VARCHAR(50)

DECLARE ProductCursor CURSOR FOR
    SELECT ProductID, ProductName
    FROM Products

OPEN ProductCursor

FETCH NEXT FROM ProductCursor INTO @ProductID, @ProductName

WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT 'ProductID: ' + CONVERT(VARCHAR(10), @ProductID) + ' ProductName: ' + @ProductName

    -- Perform operations on each row here

    FETCH NEXT FROM ProductCursor INTO @ProductID, @ProductName
END

CLOSE ProductCursor
DEALLOCATE ProductCursor

In the above example, we declare a cursor named "ProductCursor" and define a SELECT statement to retrieve the ProductID and ProductName columns from the Products table. We then open the cursor, fetch the first row into variables @ProductID and @ProductName, and use a WHILE loop to iterate through the result set.

Within the loop, we perform operations on each row and then fetch the next row using the FETCH NEXT statement. The loop continues until there are no more rows to fetch, as indicated by the @@FETCH_STATUS variable.

Finally, we close and deallocate the cursor to release the resources used by the cursor.

What is the difference between a trigger and a constraint in MS SQL?

View answer

Hide answer

In MS SQL, triggers and constraints are used to enforce data integrity and business rules, but they function in different ways.

A constraint is a rule that is enforced on a table or column to ensure that the data meets certain criteria. There are several types of constraints in MS SQL, including primary key, foreign key, unique, and check constraints. Constraints are enforced automatically by the database and cannot be bypassed.

A trigger, on the other hand, is a stored procedure that is automatically executed in response to certain database events, such as INSERT, UPDATE, or DELETE operations. Triggers are used to perform custom logic or enforce business rules that cannot be enforced using constraints. Unlike constraints, triggers can be bypassed or disabled.

How do you use the ROW_NUMBER() function in MS SQL to generate row numbers for a result set?

View answer

Hide answer

The ROW_NUMBER() function in MS SQL is used to generate a sequential number for each row in a result set. Here's an example of using the ROW_NUMBER() function:


SELECT ROW_NUMBER() OVER (ORDER BY ProductID) AS RowNum, ProductID, ProductName
FROM Products

In the above example, we use the ROW_NUMBER() function to generate a sequential number for each row in the Products table. The OVER clause is used to specify the order in which the rows should be numbered, in this case by the ProductID column.

The result set will include a new column named "RowNum" that contains the sequential number for each row.

What is the purpose of the CROSS APPLY operator in MS SQL?

View answer

Hide answer

The CROSS APPLY operator in MS SQL is used to join a table with a table-valued function. The function is applied to each row of the table, and the resulting rows are returned as part of the join.

Here's an example of using the CROSS APPLY operator:


SELECT *
FROM Orders
CROSS APPLY dbo.GetOrderDetails(Orders.OrderID) AS OrderDetails

In the above example, we use the CROSS APPLY operator to join the Orders table with the GetOrderDetails function, which returns a table of order details for each order. The result set will include all columns from both the Orders and OrderDetails tables.

How do you use the COALESCE function in MS SQL to handle null values?

View answer

Hide answer

The COALESCE function in MS SQL is used to return the first non-null expression in a list of expressions. Here's an example of using the COALESCE function:


SELECT ProductID, COALESCE(Description, 'No description available') AS Description
FROM Products

In the above example, we use the COALESCE function to return the Description column if it is not null, or the string "No description available" if it is null. This is useful for handling null values in SQL queries.

Explain the difference between a heap and a clustered table in MS SQL.

View answer

Hide answer

In MS SQL, a heap is a table without a clustered index, while a clustered table is a table with a clustered index.

A clustered index determines the physical order of the rows in a table, based on the values of one or more columns. When a table has a clustered index, the rows are stored in the same order as the index, and the data can be accessed more quickly than when a table is a heap.

In a heap, the rows are stored in an unordered heap structure, and data is accessed by scanning the entire table. This can be slower than accessing a clustered table with an index, especially for large tables.

How do you use the QUOTENAME function in MS SQL to dynamically generate SQL statements?

View answer

Hide answer

The QUOTENAME function in MS SQL is used to add delimiters to a string, to ensure that it can be used safely as an object name in a SQL statement. Here's an example of using the QUOTENAME function to dynamically generate a SQL statement:


DECLARE @TableName NVARCHAR(50) = 'Customers'

DECLARE @SQL NVARCHAR(MAX) = N'SELECT * FROM ' + QUOTENAME(@TableName)

EXEC sp_executesql @SQL

In the above example, we use the QUOTENAME function to ensure that the @TableName variable is properly delimited, even if it contains special characters or spaces. We then concatenate the @TableName variable with a SQL SELECT statement to generate a dynamic SQL statement.

Finally, we use the sp_executesql stored procedure to execute the dynamic SQL statement. This allows us to dynamically generate SQL statements at runtime, based on variables or other dynamic inputs.

MS SQL Interview Questions For Experienced

How do you design a database schema for a large-scale application in MS SQL?

View answer

Hide answer

Designing a database schema for a large-scale application involves several steps, including identifying entities and relationships, normalizing the data, creating tables and indexes, and optimizing the schema for performance. Here are some tips for designing a database schema in MS SQL:

  • Identify entities and relationships: Start by identifying the main entities and relationships in your application. This will help you create the initial table structure.
  • Normalize the data: Normalize your data to eliminate redundancy and improve data consistency. Use normalization techniques such as First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF).
  • Create tables and indexes: Create tables to store the data and define primary keys, foreign keys, and other constraints. Create indexes to improve query performance.
  • Optimize the schema for performance: Optimize the schema by creating clustered indexes, using appropriate data types, partitioning tables, and using the appropriate normalization level for your application.

Explain the difference between a OLTP and OLAP database in MS SQL.

View answer

Hide answer

OLTP (Online Transaction Processing) databases are used for handling transactional data, such as inserting, updating, and deleting records in real-time. They typically have many small transactions and a high level of concurrency. OLAP (Online Analytical Processing) databases, on the other hand, are used for handling large volumes of data for reporting and analysis purposes. They typically have fewer, larger transactions, and a lower level of concurrency. OLAP databases are optimized for read-heavy workloads, while OLTP databases are optimized for write-heavy workloads.

What is a partition in MS SQL and how does it improve database performance?

View answer

Hide answer

Partition in MS SQL

A partition in MS SQL is a way to divide a table or index into smaller, more manageable pieces, known as partitions. Each partition is stored separately and can be accessed independently by SQL queries. Partitioning is used to improve database performance, manageability, and availability.

How partitioning improves database performance?

Partitioning improves database performance by reducing the amount of data that must be read or updated in a single operation. When a query is executed against a partitioned table, the SQL Server optimizer can prune the partitions that don't satisfy the query conditions, resulting in a significant reduction in the amount of data that needs to be scanned. This can lead to faster query response times and lower resource consumption.

Partitioning can also improve the manageability and availability of a database by making it easier to perform maintenance operations on individual partitions, such as rebuilding indexes or backing up data.

Example of creating partitioned table in MS SQL

Here's an example of creating a partitioned table in MS SQL:


CREATE PARTITION FUNCTION MyPartitionFunction (int)
AS RANGE LEFT FOR VALUES (100, 200, 300)

CREATE PARTITION SCHEME MyPartitionScheme
AS PARTITION MyPartitionFunction
TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY])

CREATE TABLE MyPartitionedTable
(
    ID INT NOT NULL,
    Name NVARCHAR(50) NOT NULL,
    Value INT NOT NULL,
    CONSTRAINT PK_MyPartitionedTable PRIMARY KEY CLUSTERED (ID)
        ON MyPartitionScheme (ID)
)

In this example, we're creating a partition function called MyPartitionFunction that divides the ID column of MyPartitionedTable into five partitions based on the range of values. We're also creating a partition scheme called MyPartitionScheme that maps the partitions to the PRIMARY filegroup.

Finally, we're creating a table called MyPartitionedTable with a primary key constraint on the ID column, specifying the partition scheme MyPartitionScheme as the storage location for the index.

How do you use the HAVING clause in MS SQL?

View answer

Hide answer

The HAVING clause is used to filter the results of a GROUP BY query based on aggregate values. It is similar to the WHERE clause but operates on groups rather than individual rows.

The syntax for using HAVING clause in MS SQL is as follows:


SELECT column1, column2, aggregate_function(column3)
FROM table_name
GROUP BY column1, column2
HAVING aggregate_function(column3) condition;

Here is an example query that returns the total sales for each product that has sold more than 100 units:


SELECT product_name, SUM(units_sold) as total_sales
FROM sales_table
GROUP BY product_name
HAVING SUM(units_sold) > 100;

This query will group the sales by product and calculate the total number of units sold for each product. Then, it will filter the results to only show products that have sold more than 100 units.

Explain the difference between a cursor and a temporary table in MS SQL.

View answer

Hide answer

Both cursors and temporary tables are used to store data temporarily in MS SQL, but they serve different purposes.

Cursors

A cursor is a database object that enables traversal over the rows of a result set one at a time. Cursors are used when you need to iterate over a result set and perform some operation on each row. Cursors can be useful when dealing with complex business logic or calculations that cannot be easily expressed using SQL queries.

Here is an example of a cursor that iterates over a result set and prints out the values of each row:


DECLARE @value INT
DECLARE my_cursor CURSOR FOR
SELECT column1 FROM my_table
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @value
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @value
    FETCH NEXT FROM my_cursor INTO @value
END
CLOSE my_cursor
DEALLOCATE my_cursor

Temporary Tables

A temporary table is a table that is created and used for a specific purpose within a session or transaction. Temporary tables are useful when you need to store intermediate results or when you need to join a result set with another table.

Here is an example of a temporary table that is used to store intermediate results:


CREATE TABLE #my_temp_table (
    id INT,
    value VARCHAR(50)
)

INSERT INTO #my_temp_table
SELECT id, value FROM my_table WHERE condition = 'true'

SELECT * FROM #my_temp_table

DROP TABLE #my_temp_table

In this example, a temporary table is created with two columns. The INSERT INTO statement is used to populate the temporary table with data from the my_table table. Finally, the SELECT statement is used to retrieve the data from the temporary table. The temporary table is automatically dropped when the session or transaction ends.

How do you use the APPLY operator in MS SQL?

View answer

Hide answer

The APPLY operator is used to join a table with a table-valued function. It can be used with two types of table-valued functions: inline and multi-statement.

Inline Table-Valued Functions

An inline table-valued function is a function that returns a table as its output. The function can be used in the FROM clause of a query, just like a table. Here is an example of using an inline table-valued function with the APPLY operator:


SELECT *
FROM my_table
CROSS APPLY dbo.my_inline_function(my_table.column1) AS t

In this example, the my_inline_function function is applied to each row of the my_table table, and the resulting table is joined with the original table using the CROSS APPLY operator.

Multi-Statement Table-Valued Functions

A multi-statement table-valued function is a function that returns a table as its output, but it can also include multiple SQL statements. Here is an example of using a multi-statement table-valued function with the APPLY operator:


SELECT *
FROM my_table
CROSS APPLY dbo.my_multi_statement_function(my_table.column1) AS t

In this example, the my_multi_statement_function function is applied to each row of the my_table table, and the resulting table is joined with the original table using the CROSS APPLY operator.

What is a Common Table Expression (CTE) in MS SQL and how is it used?

View answer

Hide answer

A Common Table Expression (CTE) is a temporary result set that is defined within the execution of a single SELECT, INSERT, UPDATE, DELETE, or MERGE statement. A CTE can be used to simplify complex queries, improve query performance, or improve query readability.

Here is an example of using a CTE to simplify a query:


WITH cte AS (
    SELECT column1, column2, column3
    FROM my_table
    WHERE condition = 'true'
)
SELECT *
FROM cte
WHERE column2 > 10

In this example, a CTE named cte is defined that selects data from the my_table table where the condition is true. The resulting data is then used in the outer SELECT statement to filter the results further based on the value of column2.

How do you use the MERGE statement in MS SQL?

View answer

Hide answer

The MERGE statement in MS SQL is used to perform insert, update, or delete operations on a target table based on the results of a source table. The source table can be a table or a view.

Here is an example of using the MERGE statement to insert or update data in a target table based on a source table:


MERGE target_table AS T
USING source_table AS S
ON T.id = S.id
WHEN MATCHED THEN
    UPDATE SET T.column1 = S.column1, T.column2 = S.column2
WHEN NOT MATCHED THEN
    INSERT (id, column1, column2) VALUES (S.id, S.column1, S.column2);

In this example, the target_table is updated or inserted with data from the source_table based on the condition that T.id = S.id. If a match is found, the UPDATE clause is executed to update the columns of the target_table. If no match is found, the INSERT clause is executed to insert a new row into the target_table.

Explain the difference between a scalar and a table-valued function in MS SQL.

View answer

Hide answer

A scalar function in MS SQL is a function that returns a single value. A table-valued function, on the other hand, returns a table.

Here is an example of a scalar function:


CREATE FUNCTION dbo.my_scalar_function (@input INT)
RETURNS INT
AS
BEGIN
    DECLARE @output INT
    SET @output = @input * 2
    RETURN @output
END

This function takes an input value and returns an output value that is double the input value.

Here is an example of a table-valued function:


CREATE FUNCTION dbo.my_table_function (@input INT)
RETURNS TABLE
AS
RETURN (
    SELECT column1, column2
    FROM my_table
WHERE column3 = @input
)

This function takes an input value and returns a table that includes columns column1 and column2 from the my_table table where column3 is equal to the input value.

How do you use the PIVOT and UNPIVOT operators in MS SQL?

View answer

Hide answer

The PIVOT and UNPIVOT operators in MS SQL are used to rotate rows into columns or columns into rows.

Here is an example of using the PIVOT operator:


```sql
SELECT *
FROM (
    SELECT column1, column2, column3
    FROM my_table
) AS source_table
PIVOT (
    COUNT(column2)
    FOR column1 IN ([value1], [value2], [value3])
) AS pivot_table;

In this example, the PIVOT operator is used to count the number of occurrences of column2 values for each distinct value of column1. The resulting data is pivoted so that each distinct value of column1 is a separate column in the output table.

Here is an example of using the UNPIVOT operator:


SELECT column1, column2, column3
FROM (
    SELECT [value1], [value2], [value3]
    FROM my_table
) AS source_table
UNPIVOT (
    column2
    FOR column1 IN ([value1], [value2], [value3])
) AS unpivot_table;

In this example, the UNPIVOT operator is used to convert the columns [value1], [value2], [value3] into rows, with each row representing a distinct combination of column1 and column2.

How do you use partitioning in MS SQL to manage large amounts of data?

View answer

Hide answer

Partitioning in MS SQL is the process of dividing a large table or index into smaller, more manageable pieces called partitions. Each partition can be managed separately, allowing for improved query performance, faster data loading, and better data availability.

Here is an example of using partitioning in MS SQL:


CREATE PARTITION FUNCTION my_partition_function (INT)
AS RANGE LEFT FOR VALUES (100, 200, 300, 400, 500);

CREATE PARTITION SCHEME my_partition_scheme
AS PARTITION my_partition_function
TO (
    [partition1], [partition2], [partition3], [partition4], [partition5]
);

CREATE TABLE my_partitioned_table (
    id INT,
    column1 VARCHAR(50),
    column2 VARCHAR(50),
    column3 VARCHAR(50),
    CONSTRAINT PK_my_partitioned_table PRIMARY KEY (id)
) ON my_partition_scheme(id);

ALTER INDEX PK_my_partitioned_table ON my_partitioned_table REBUILD PARTITION = ALL;

In this example, a partition function named my_partition_function is created that partitions the my_partitioned_table table based on the id column. The partition function defines five partitions, each containing a range of id values.

A partition scheme named my_partition_scheme is also created that maps each partition to a filegroup or filegroup file.

Finally, the my_partitioned_table table is created with a primary key constraint that uses the partition scheme. The ALTER INDEX statement is then used to rebuild the index on all partitions of the table.

How do you use the FILESTREAM data type in MS SQL to store and retrieve large objects?

View answer

Hide answer

The FILESTREAM data type in MS SQL allows large objects, such as images and documents, to be stored and retrieved from the file system instead of being stored directly in the database. This can improve performance and reduce database storage requirements.

Here is an example of using the FILESTREAM data type in MS SQL:


CREATE DATABASE my_database
ON PRIMARY (
    NAME = my_database_data,
    FILENAME = 'C:\my_database_data.mdf'
),
FILEGROUP my_filegroup CONTAINS FILESTREAM (
    NAME = my_filestream_data,
    FILENAME = 'C:\my_filestream_data'
);

CREATE TABLE my_table (
    id INT PRIMARY KEY,
    column1 VARCHAR(50),
    column2 VARCHAR(50),
    column3 VARBINARY(MAX) FILESTREAM my_filegroup
);

INSERT INTO my_table (id, column1, column2, column3)
VALUES (1, 'value1', 'value2', CAST('C:\my_file.pdf' AS VARBINARY(MAX)));

In this example, a new database named my_database is created with two filegroups: PRIMARY, which contains the database data file, and my_filegroup, which contains the FILESTREAM filegroup.

A table named my_table is then created with a FILESTREAM column named column3 that is associated with the my_filegroup filegroup.

Finally, a new row is inserted into the my_table table with a value for column3 that is the contents of a file located at C:\my_file.pdf.

What is a materialized view in MS SQL and how does it differ from a regular view?

View answer

Hide answer

What is a materialized view in MS SQL and how does it differ from a regular view?

How do you use the RANK() function in MS SQL to rank rows in a result set?

View answer

Hide answer

The RANK() function in MS SQL is used to assign a rank to each row in a result set based on the values in one or more columns. The rank is determined by the order of the values, with ties assigned the same rank.

Here is an example of using the RANK() function in MS SQL:


SELECT column1, column2, column3, RANK() OVER (ORDER BY column3 DESC) AS rank
FROM my_table;

In this example, the RANK() function is used to assign a rank to each row in the my _table **table based on the value in thecolumn3column. The rank is determined by ordering the values in**column3` in descending order.

The resulting query will return all columns from the my_table table, along with a new column named rank that contains the assigned rank for each row.

What is a recursive CTE in MS SQL and how is it used to generate hierarchical data?

View answer

Hide answer

A recursive CTE (common table expression) in MS SQL is a type of CTE that can be used to generate hierarchical data. It allows you to define a query that references itself in order to build a hierarchy of related data.

Here is an example of using a recursive CTE in MS SQL:


WITH recursive_cte (id, name, parent_id, level) AS (
    SELECT id, name, parent_id, 0
    FROM my_table
    WHERE parent_id IS NULL
    UNION ALL
    SELECT t.id, t.name, t.parent_id, r.level + 1
    FROM my_table t
    INNER JOIN recursive_cte r ON t.parent_id = r.id
)
SELECT id, name, parent_id, level
FROM recursive_cte;

In this example, a recursive CTE is used to generate a hierarchy of data based on a self-referencing relationship in the my_table table. The CTE is defined in the first part of the query and consists of two parts: a base query that selects the root nodes of the hierarchy (i.e., nodes with no parent), and a recursive query that joins the my_table table to the previous results of the CTE based on the parent-child relationship.

The final SELECT statement selects all columns from the CTE, which includes the id, name, parent_id, and level columns.

How do you use the APPLY operator in MS SQL to join a table with a table-valued function?

View answer

Hide answer

The APPLY operator in MS SQL is used to apply a table-valued function to each row of a table and return the results as a new table. It can be used to join a table with a table-valued function.

Here is an example of using the APPLY operator in MS SQL:


SELECT t.column1, t.column2, f.column3
FROM my_table t
CROSS APPLY dbo.my_table_function(t.id) f;

In this example, the APPLY operator is used to apply a table-valued function named dbo.my_table_function to each row in the my_table table. The function takes the id column from the my_table table as input and returns a new table with a single column named column3.

The resulting query will return all columns from the my_table table, along with the column3 values returned by the dbo.my_table_function function for each row.

What is the purpose of the TABLESAMPLE clause in MS SQL and how is it used?

View answer

Hide answer

The TABLESAMPLE clause in MS SQL is used to retrieve a random sample of data from a table. It can be useful when working with very large tables and you only need to work with a subset of the data.

Here is an example of using the TABLESAMPLE clause in MS SQL:


SELECT column1, column2, column3
FROM my_table
TABLESAMPLE (10 PERCENT);

In this example, the TABLESAMPLE clause is used to retrieve a random sample of 10 percent of the data from the my_table table. The resulting query will return all columns from the table for the selected rows.

How do you use the OFFSET and FETCH clauses in MS SQL to perform pagination?

View answer

Hide answer

The OFFSET and FETCH clauses in MS SQL are used to perform pagination, which allows you to retrieve a subset of rows from a larger result set. The OFFSET clause is used to specify the number of rows to skip before returning rows, and the FETCH clause is used to specify the number of rows to return.

Here is an example of using the OFFSET and FETCH clauses in MS SQL:


SELECT column1, column2, column3
FROM my_table
ORDER BY column1
OFFSET 10 ROWS
FETCH NEXT 20 ROWS ONLY;

In this example, the OFFSET clause is used to skip the first 10 rows of the result set, and the FETCH clause is used to return the next 20 rows. The resulting query will return the column1, column2, and column3 columns for the selected rows, ordered by the value in the column1 column.

What is a filtered index in MS SQL and how does it improve query performance?

View answer

Hide answer

A filtered index in MS SQL is a type of index that contains a subset of the data in a table, based on a specific filter condition. It can be used to improve query performance by reducing the size of the index and the number of rows that need to be scanned.

Here is an example of creating a filtered index in MS SQL:


CREATE NONCLUSTERED INDEX idx_filtered
ON my_table (column1)
WHERE column2 = 'value';

In this example, a filtered index is created on the column1 column of the my_table table, with a filter condition that selects only rows where the value in the column2 column is 'value'. This index will only contain a subset of the data in the table, which can improve query performance when selecting rows based on this filter condition.

How do you use the STRING_AGG function in MS SQL to concatenate strings from multiple rows into a single result?

View answer

Hide answer

The STRING_AGG function in MS SQL is used to concatenate strings from multiple rows into a single result, separated by a specified delimiter. It can be useful when you need to combine data from multiple rows into a single result.

Here is an example of using the STRING_AGG function in MS SQL:


SELECT STRING_AGG(column1, ',')
FROM my_table;

In this example, the STRING_AGG function is used to concatenate the values in the column1 column of the my_table table, separated by a comma and space. The resulting query will return a single row with the concatenated string.

Other Interview Questions

ReactJS

Business Analyst

Android

Javascript

Power BI Django .NET Core
Drupal TestNG C#
React Native SAS Kubernetes
Check Other Interview Questions
customers across world
Join 1200+ companies in 75+ countries.
Try the most candidate friendly skills assessment tool today.
GET STARTED FOR FREE
g2 badges
logo
40 min tests.
No trick questions.
Accurate shortlisting.

[email protected]

Product
  • Product Tour
  • Pricing
  • Features
  • Integrations
Usecases
  • Aptitude Tests
  • Coding Tests
  • Psychometric Tests
  • Personality Tests
Helpful Content
  • 52 pre-employment tools compared
  • Compare Adaface
  • Compare Codility vs Adaface
  • Compare HackerRank vs Adaface
  • Compare Mettl vs Adaface
BOOKS & TOOLS
  • Guide to pre-employment tests
  • Check out all tools
Company
  • About Us
  • Join Us
  • Blog
Locations
  • Singapore (HQ)

    32 Carpenter Street, Singapore 059911

    Contact: +65 9447 0488

  • India

    WeWork Prestige Atlanta, 80 Feet Main Road, Koramangala 1A Block, Bengaluru, Karnataka, 560034

    Contact: +91 6305713227

© 2022 Adaface Pte. Ltd.
Terms Privacy Trust Guide

🌎 Pick your language

English Norsk Dansk Deutsche Nederlands Svenska Français Español Chinese (简体中文) Italiano Japanese (日本語) Polskie Português Russian (русский)
Search 500+ tests by skill or role name
JavaScript
React
How many questions will be there in AWS test?
What test do you recommend for analysts?