Each one of us has at one point in time wished to get into the Big Four. PwC is one such company most of you have dreamed of getting into. Although it may seem like a daunting task to clear the interview, with enough preparation, you can ace it. We have prepared some of the common and most frequently asked PwC Interview Questions for you. Start your preparation with these questions and begin your journey with PwC.
About PwC
PricewaterhouseCoopers is a multinational company operating as partnerships under the brand name PwC.
It is the second-largest professional services network globally and is one of the top accounting firms in the world, along with Deloitte, EY, and KPMG.
PwC is based in London, England, and it operates in 157 countries with 2,84,000 people.
PwC Recruitment Process
- Application
- Game-based assessment
- Video Interview
- Assessment Center
- Interview with Manager
- Offer and pre-hire portal
- Start date
Application
The first step in the recruitment process is to fill in the application form. Interested candidates will be redirected to create an account on the personal system workday. Once the candidate fills out the application form, they can track the application’s progress from their workday account during the recruitment process.
Game-based assessment
Once the recruiter accepts a candidate’s application, the concerned candidate will receive a mail on the workday account regarding the next round, i.e., game-based assessment. The recruiter will evaluate the skills and abilities during the game, and the candidate shouldn’t take more than 15 mins to finish the assessment. Post the game-based assessment round, the recruiter will share the feedback with the candidate via mail.
The candidate might have to undergo a few more tests, such as an English language test or any technical tests depending on the role.
Video Interview
The candidate enters this stage after clearing all the online tests. This video interview round allows the candidate to portray their self-confidence and capabilities to the recruiter, which is more effective than a resume.
Steps involved in video interview round
The selected candidate will receive an invitation for the video interview via email. The candidate will get sufficient time to finish the video interview. The entire process is mobile adapted, and there are apps for both Android and iOS.
The candidate is advised to prepare well before the video interview to gain confidence and do the setup well in advance. The candidate can take up the interview at their convenience. The recruiter will ask a few questions in a short video, and the candidate should answer them within the given time.
No one will be present on the other side of the camera in real-time when the candidate answers the questions. Still, the recruiter will evaluate the video later to assess the candidate’s ability.
Assessment Center
This round involves two or three stages, such as group exercises, interviews, and exams. This round provides an excellent opportunity for candidates to prove their skills and interact with senior employees and future colleagues. The round allows the candidate to explore more about PwC company and corporate culture.
Interview with Manager
This round involves a one-to-one interview with the manager where the manager will assess the candidate based on skills, experience, and abilities.
The candidate’s career choice is evaluated to check if the candidate is suitable to be a PwC professional.
Offer and pre-hire portal
The selected candidate is invited to join the PwC portal, explore the company’s corporate culture, and get an overview of the initial days and months at the office.
Start date
The recruiter will explain to the candidate the onboarding process and brief them about the personal documents to be submitted before the start date. All the information is conveyed via email to the candidate.
PwC Interview Questions
1. What is the difference between a Binary Tree and a Binary Search Tree?
Binary Tree
- A binary tree is a non-linear data structure with at most two child nodes that are unordered.
- Processes such as insertion, deletion, and searching are slower when compared to binary search trees.
- There is no particular order for arranging nodes in binary trees.
Binary Search Tree
- A binary search tree is a non-linear data structure where nodes are arranged in a particular order.
- Processes such as insertion, deletion, and searching are faster when compared to binary trees.
- In the binary search tree, the left subtree nodes are lesser than the node’s key, whereas the right subtrees are greater than the node’s key.
2. Difference between linear and non-linear data structures?
Linear data structure
- In a linear data structure, the data is organized sequentially. Each data element is attached to the next and previous data element.
- It is easy to implement when compared to the non-linear data structure.
- The data elements are present at a single level.
- A few examples are array, stack, queue, linked list, etc.
Non-linear data structure
- In the non-linear data structure, the data isn’t organized sequentially.
- It isn’t easy to implement when compared to the linear data structure.
- The data elements are present at multiple levels.
- Examples are trees and graphs.
3. What is merge sort? What is the Time & Space Complexity for merge sort?
Merge sort
- Merge sort is an efficient algorithm that uses the divide and conquer approach.
- It divides the given list into two halves, calls itself for the two halves, and then merges the two sorted halves.
- The lists are divided until they cannot be divided further.
- It is a stable sort where each element in the array maintains its original position concerning other elements.
Time complexity
The time complexity of an algorithm refers to the total time required for an algorithm to run until its completion.
- The time complexity of merge sort is O(nLogn).
- The best-case time complexity of merge sort is O(nLogn).
- The average case time complexity of merge sort is O(nLogn).
- The worst-case time complexity of merge sort is O(nLogn).
Space complexity
The space complexity of an algorithm refers to the amount of memory space utilized by the algorithm to execute and produce the output.
- The space complexity of merge sort is O(n).
4. Check if a string is a palindrome or not.
String
The string is an array of characters, and is mostly ending with a special character “”.
Palindrome
A palindrome is a string that remains the same even after reversing.
For example:
- “121” is a palindrome as it remains the same even after reversing.
- “Eye” is a palindrome as it remains the same even after reversing.
Algorithm to check if a string is a palindrome or not.
1)Input the string
2)Reverse the given original string
3)If the reversed string is the same as the original string, return true or false.
Program to check if a string is a palindrome or not?
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main()
{
char string[] = "MADAM";
bool flag = true;
for(int i = 0; i < strlen(string); i++){
string[i] = tolower(string[i]);
}
for(int i = 0; i < strlen(string)/2; i++){
if(string[i] != string[strlen(string)-i-1]){
flag = false;
break;
}
}
if(flag)
printf("The given string is palindrome");
else
printf("The given string is not a palindrome");
return 0;
}
5. What is volatile in C?
- Volatile in C refers to a qualifier used by the programmer to declare a variable in C.
- It is specifically used to tell the compiler that the value can be changed anytime.
Syntax:
Volatile data_type variable_name;
Data_type Volatile varible_name;
6. What is a dangling pointer? How to handle it?
- A dangling pointer is a pointer pointing towards a memory location that has been deleted.
- We can avoid dangling pointer error by initializing it to a NULL value.
- By doing so, the pointer will not be pointing to any location.
7. What is the output of the following code:
int main() {
for(;;)
std::cout<<"hellon";
}
Before executing the next iteration, the for loop performs three operations, i.e., initialization, condition check, and expression evaluation.
As the condition check is empty, the compiler considers a random non-empty value.
As a result, it is evaluated as accurate due to which the loop runs forever.
The output will be an infinite loop printing hello on the screen.
8. Print 1-100 without using loops?
#include <stdio.h>
int main()
{
int i = 0;
begin:
i = i + 1;
printf("%d ", i);
if (i < 100)
goto begin;
return 0;
}
9. What is Bootstrap? What are the advantages of Bootstrap over CSS?
- Bootstrap is one of the most popular, accessible, and open-source web development frameworks used to develop responsive and mobile-friendly websites.
- Bootstrap was initially developed by Mark Otto and Jacob Thornton and was initially named Twitter Blueprint.
- The latest version is Bootstrap 5, which was released on May 5, 2021.
- Bootstrap helps web developers to build websites faster even if they aren’t aware of the basic commands.
- Bootstrap consists of various HTML, CSS, and JS-based scripts for developing responsive websites.
Advantages of Bootstrap over CSS
Highly responsive
Bootstrap has a fantastic grid framework that adapts itself according to the screen resolution in various devices. The user can experience different views on various devices.
Efficient and easy to use
Bootstrap is user-friendly and doesn’t require prior experience working on it.
Open-source
- Bootstrap is available for free, so the user must not pay for it.
- Fast and time-saving framework
- The developer can finish the task as early as possible since the developer must not write the code from scratch since the basic code is already available. Hence, the development speed is fast.
Regular updates
Bootstrap gets automatically updated regularly.
Javascript modules
Bootstrap includes all the Javascript modules in the Bootstrap bundle. As it includes all the javascript components, new users need not have to have prior knowledge on the same.
10. What will be the output of the below python program?
class myClass:
def __init__(self):
self.x=10
self.__y=20
obj=myClass()
print(obj.__y)
The above code gives Attribute error as AttributeError: ‘myClass’ object has no attribute ‘__y’.
In python, if an identifier is defined inside a class preceding with a double underscore, then the name of the identifier is changed to _classname_ _identifier name. It is called the name mangling applied by the Python interpreter. Doing so protects the variable from getting overridden in subclasses.
So, in this case also, for identifier _ _y, the name is changed by the interpreter to _myClass_ _y. So, while trying to print the value of variable y, the code should be print(obj._myClass__y) which will correctly print the value of y, which is 20.
11. Write a python program to filter list elements between 1 to 20 (both inclusive), which are even numbers?
l1 = list(range(1, 21, 1))
for n in l1:
if n % 2 == 0:
print(n, end=" ")
12. What is the size of an empty class in C++?
#include<iostream>
using namespace std;
class empty_class
{
};
int main()
{
cout <<"Size of empty class is = "<< sizeof(empty_class);
return 0;
}
The size of an empty class in C++ is not zero but 1 byte. Two different objects should have two different addresses, and otherwise, it would become to differentiate objects.
13. What are the advantages of a vector over an array in C++?
- Vectors in C++ store elements of similar data types, and one can change the size of an array.
- The array is a collection of data items of similar data types in contiguous memory locations. Here, you cannot change the size of an array.
- You can delete elements from a vector but not from an array.
- You can store multiple objects in a vector, but cannot store multiple data types in an array.
- Reverse space can be given for a vector but not for an array.
- Any object can be stored in vectors, but only homogeneous values can be stored in arrays.
14. Write an SQL Query to find min, max, and average salary from a table.
Employee Table
Name | Salary |
Priya | 40000 |
Reena | 20000 |
Shreya | 30000 |
To find the maximum salary.
SELECT MAX(Salary) from Employee;
To find maximum salary with employee name.
SELECT * from Employee where Salary = (SELECT MAX(Salary) from Employee);
To find the average salary.
SELECT AVG(Salary) from Employee;
To find minimum salary.
SELECT MIN(Salary) from Employee;
To find minimum salary with employee name.
SELECT * from Employee where Salary = (SELECT MIN (Salary) from Employee);
15. What is the difference between C & C++?
C | C++ |
Dennis Ritchie developed the C programming language in 1969 at AT&T Bell labs. | Bjarne Stroustrup developed the C++ programming language in 1979. |
C is a procedural programming language | C++ is an object-oriented programming language |
C programming language doesn’t support the OOPs concept. | C++ programming language supports the OOPs concept. |
C is a function-driven language. | C++ is an object driven language |
Data is less secure as the C language doesn’t support data encapsulation to hide data. | In C++, data encapsulation hides data to ensure data structures and operators are used as intended. |
C is a subset of C++. | C++ is a superset of C |
C language consists of 32 keywords. | C++ consists of 63 keywords |
C language supports built-in data types. | C++ supports built-in and user-defined data types. |
C doesn’t support reference variables | C++ supports reference variables |
C does not support inheritance | C++ supports inheritance |
C language doesn’t consist of any namespace features | C++ uses namespace features to avoid name collisions. |
C structures don’t have access modifiers. | C++ structures have access modifiers |
Concluding
You will get a basic idea of what to expect during the interview with these PwC Interview Questions. These questions will also help you prepare better for it. Brush up your Programming Basics to quickly and easily solve the PwC interview questions and ace it with flying colors.