PwC Interview Preparation and Recruitment Process


About PwC Pvt Ltd


PricewaterhouseCoopers Private Limited (PwC Pvt Ltd) is an Indian member firm of the global PwC network, a multinational professional services network headquartered in London, United Kingdom. It is part of PricewaterhouseCoopers International Limited (PwCIL), with each member firm operating as a separate legal entity. Below is a detailed overview of PwC Pvt Ltd based on available information:

PwC Interview Questions


Overview

  • Incorporation: PwC Pvt Ltd was incorporated on March 26, 1983, in India.
  • Corporate Identity Number (CIN): U74140WB1983PTC036093.
  • Registered Address: Plot No. Y-14, Block EP, Sector V, Salt Lake, Kolkata, West Bengal, India - 700091.
  • Status: Active, as per the latest records with the Ministry of Corporate Affairs (MCA).
  • Purpose: The firm aligns with PwC’s global mission to "build trust in society and solve important problems" by providing high-quality professional services.


Services

PwC Pvt Ltd offers a wide range of professional services, organized into three primary service lines:


Assurance (Audit and Assurance Services):
* Financial audits, risk assurance, and compliance services to ensure transparency and accuracy in financial reporting.

Tax and Legal Services:
* Tax advisory, compliance, and planning, including international tax strategies and support for global tax policies like OECD’s BEPS Pillar 1 and Pillar 2.

* Legal services as a multidisciplinary entity.

Advisory (Consulting):
* Strategy consulting, business transformation, cloud transformation, and deals advisory.

* Specialized services include ESG (Environmental, Social, and Governance) consulting, global capability centers, startups, and risk and regulation advisory.


The firm serves various industries, including:


* Private Equity
* Technology, Media, and Telecommunications
* Retail and Consumer
* Power
* Financial Services
* Health Industries
* Transportation and Logistics


Financials

  • Revenue: For the financial year ending March 31, 2023, PwC Pvt Ltd’s operating revenue exceeded INR 500 crore.
  • Authorized Share Capital: INR 127.50 crore.
  • Paid-up Capital: INR 13.64 crore.
  • Net Worth Growth: Increased by 10.96% in the financial year ending March 31, 2023.
  • Global Revenue (PwC Network): For FY 2022, the global PwC network reported revenues of US$50.3 billion, with contributions from Assurance ($18.0 billion), Tax and Legal ($11.6 billion), and Advisory ($20.7 billion).


Leadership and Governance


* Directors (as per MCA records):

* Padmaja Alaganandan
* Arnab Basu
* Bharti Gupta Ramola
* Shyamal Mukherjee
* Narumanchi Venkata Sivakumar
* Neel Ratan Chandgothia
* Satyavati Berera
* Kunwar Rahul Garg

* Global Coordination: PwC Pvt Ltd operates under the coordination of PwCIL, an English private company limited by guarantee, which does not provide services directly but facilitates strategy, brand, and risk management across the network.

* Key Leaders in India:

* Sanjeev Krishan, Chairperson, PwC in India.
* Vivek Prasad, Markets Leader, PwC India.


Workforce and Operations

  • Global Workforce (PwC Network): Over 370,000 employees across 140 countries, with 26% in the Americas, 26% in Asia, 32% in Western Europe, and 5% in the Middle East and Africa (as of 2019).
  • India Operations: PwC has a significant presence in India with offices in cities such as Ahmedabad, Bengaluru, Bhopal, Bhubaneswar, Chennai, Dehradun, Delhi NCR, Hyderabad, Jaipur, Kolkata, Mumbai, Patna, Pune, and Raipur.
  • Employee Count: As of September 2024, the global PwC network had 206 employees, though specific numbers for PwC Pvt Ltd are not publicly disclosed in the provided data.



Key Initiatives and Focus Areas

  • Sustainability and ESG: PwC Pvt Ltd emphasizes sustainability, offering ESG consulting to help clients integrate sustainable practices into their business models. The firm is committed to achieving net-zero emissions globally.
  • Innovation and Technology: Services include AI integration, cloud transformation, and digital transformation consulting. PwC collaborates with tech alliances to deliver tech-enabled services.
  • Inclusion and Diversity: The firm promotes an inclusive culture, supporting programs for women and diverse talent, as highlighted by employee testimonials.
  • PwC India Foundation: Engages in corporate social responsibility (CSR) projects, focusing on community development and social impact.
  • India Tax Symposium 2024: PwC India hosted this event, featuring discussions on global tax policy changes, including OECD’s BEPS frameworks, with insights from leaders like Sanjay Tolia and Dwarak Narasimhan.


Controversies and Challenges


* Delhi Water Privatization (2005): PwC was allegedly favored by the World Bank in a bidding process for privatizing Delhi’s water distribution system, which was criticized as corrupt. The effort failed after an investigation by Arvind Kejriwal and NGO Parivartan revealed exorbitant costs.

* Global Scandals:

* PrivatBank (Ukraine, 2017): PwC Ukraine’s audit license was revoked for verifying misrepresented financial data, leading to a $5.5 billion balance-sheet hole.

* Colonial Bank (USA, 2017-2019):
PwC was held liable for professional negligence, resulting in a $625 million judgment (later settled for $335 million).

* Australian Tax Scandal (2015-2023):
PwC was involved in misusing confidential government information to help clients avoid taxes, leading to reputational damage and restructuring efforts.

* Layoffs and Restructuring: PwC Pvt Ltd has faced layoffs, particularly in advisory and technology operations, with some roles integrated into other business lines. Globally, PwC announced 600 job cuts in the UK in 2023.


Recent Developments

  • Brand Evolution: In April 2025, PwC globally unveiled a new brand identity, emphasizing its role in supporting clients and employees with clarity and innovation.
  • China Operations: PwC appointed Hemione Hudson to lead its China business amid a six-month suspension and a fine of at least 400 million yuan due to its role in auditing Evergrande.
  • Acquisitions and Investments: PwC Pvt Ltd has made 12 investments and acquired 39 companies, including Emkan Education and Equitable Value, to expand its service offerings.



Contact Information

  • Telephone: +91 33 0446 62000


PwC Recruitment Process



The recruitment process for PricewaterhouseCoopers Private Limited (PwC Pvt Ltd) in India for 2025, particularly for freshers and campus hires, is structured to identify talented individuals who align with the firm’s values and purpose of building trust in society and solving important problems. Below is a detailed overview of the PwC recruitment process in India, tailored to freshers (e.g., B.Tech, B.Com, or other graduates) and based on the latest available information.

PwC Recruitment Process in India for 2025


Application Methods


Candidates can apply through three primary channels:

1. Online Application:
* Visit the official PwC India careers portal (www.pwc.in/careers) to browse open positions.

* Submit a resume, cover letter, and additional documents (e.g., transcripts, ID photo, or reference letters) via the portal.

* Both freshers and experienced candidates can apply, with merit being the sole selection criterion.

2. On-Campus Placements:
* PwC conducts campus hiring at various colleges across India, targeting top institutions.

* The application process varies by college, but candidates undergo the same assessment and interview stages as off-campus applicants.

* Campus engagement programs allow students to interact with PwC leaders and learn about the firm’s culture and values.

3. Employee Referrals:
* Existing PwC employees can refer candidates, who then enter the standard recruitment process.


Eligibility Criteria


For freshers applying for technical or non-technical roles (e.g., Assurance, Advisory, Tax, or Data Engineering):

1. Educational Qualifications:
* Bachelor’s or Master’s degree in any discipline (e.g., B.Tech, B.Com, MBA) with a minimum of 60% aggregate or 6+ CGPA.

* No active backlogs at the time of application.

2. Preferred Skills (for technical roles, e.g., Data Engineering Associate):
* Basic understanding of data modeling, ETL processes, and data warehousing.

* Familiarity with data visualization tools (e.g., Power BI, Tableau, QuickSight) is a plus.

* Exposure to cloud platforms (e.g., AWS, Azure, Google Cloud) is preferred.

* Knowledge of programming languages like Python, SQL, C++, or Java for technical roles.

3. Other Requirements:
* Strong problem-solving, logical reasoning, and verbal ability.

* Alignment with PwC’s core values (e.g., integrity, collaboration, and inclusivity).


Recruitment Stages


The PwC recruitment process for freshers typically involves four to five stages, depending on the role and location (e.g., Bangalore, Kolkata, Pune).

1. Application Screening:
* Candidates submit their applications through the careers portal, campus placement offices, or employee referrals.

*
The Human Resources team reviews applications to shortlist candidates meeting the eligibility criteria.

*
Shortlisted candidates receive an email invitation to proceed to the next stage.

2. Game-Based Assessment:
* A 15-minute online assessment comprising short, interactive games to evaluate cognitive abilities, problem-solving skills, and quick thinking.

*
Tests logical reasoning, numerical ability, and behavioral traits.

*
Candidates receive an insight report with feedback on their performance, but this is not the final result.

*
Note: For some roles (e.g., technical or accounting), additional online tests may be required, such as English language proficiency or technical knowledge (e.g., OOPs, DBMS, networking).

3. Video Interview:
* A pre-recorded video interview where candidates respond to pre-set questions within a time limit.

* The interview assesses:

* Motivation for joining PwC and interest in the role.

* Responses to workplace scenarios.

* Analytical skills through a client-based case study requiring data analysis and proposed solutions.

* Candidates can choose the time and place to record their answers, and responses are reviewed by recruiters.

* The video interview replaces the traditional pre-screening step to allow candidates to showcase their personality and skills.

4. Technical and/or Behavioral Interview:
* Conducted virtually or in-person, depending on the role and location.

* Technical Interview (for roles like Data Engineering or Technology Consulting):

* Questions focus on technical concepts (e.g., OOPs, data structures, DBMS, networking) and programming languages (e.g., C++, Java, Python, SQL).

* May include easy to medium-level coding problems or puzzle-based questions.

* For example, candidates for Assurance – Financial Markets – Data Engineering roles may be asked about designing scalable data processing solutions or cloud-based data storage.

5. Behavioral Interview:
* Assesses alignment with PwC’s Professional framework, focusing on competencies like leadership, collaboration, and problem-solving.

*
Questions may cover past experiences, teamwork, and how candidates handle challenges.

*
For Advisory roles, a case interview may be included to evaluate problem-solving in real-world scenarios.

*
Typically, two back-to-back behavioral interviews are conducted for Audit, Tax, or Digital Assurance roles, while Advisory roles may involve a mix of technical and case interviews.

6. Assessment Centre (Final Stage):
* The final stage, conducted virtually or in-person, evaluates candidates through exercises simulating real-world work scenarios.

* Tasks may include:

* Written Exercises: Case studies or scenarios to assess written communication and role-specific knowledge.

*
Group Discussions or Presentations: To evaluate teamwork, leadership, and communication skills.

*
Role-Specific Tasks: For example, data engineering candidates may work on a mock data solution project.

* Senior representatives assess candidates’ performance, focusing on how they align with PwC’s values and competencies.

* The tasks vary by role (e.g., Audit, Advisory, or Tax).

7. Offer and Onboarding:
* Successful candidates receive a job offer and are congratulated as “PwCites,” joining the firm’s community of solvers.

* Candidates must provide essential documents (e.g., mark sheets, certificates, ID proofs, updated resume, and interview call letter) during onboarding.

* PwC provides a buddy system to help new hires settle in, along with equipment and training to ensure a smooth transition.

* The onboarding process is noted for being supportive, with training programs to upskill employees for professional service delivery.

Preparation Tips


* Application: Tailor your resume and cover letter to match PwC’s core competencies and the job description. Use keywords from the job posting.

* Game-Based Assessment: Practice logical reasoning, numerical ability, and quick decision-making through online aptitude tests or gamified platforms.

* Video Interview: Prepare for situational and behavioral questions. Practice analyzing data for case-based scenarios and record responses in a clear, concise manner.

* Technical Interview: Brush up on technical concepts (e.g., OOPs, data structures, SQL, cloud platforms) and practice coding problems. Review PwC’s service offerings (e.g., Assurance, Advisory) to contextualize your skills.

* Assessment Centre: Enhance written communication and teamwork skills. Familiarize yourself with PwC’s Professional framework to demonstrate leadership and problem-solving.

* Research PwC: Understand the firm’s New Equation strategy, focus on ESG, and recent initiatives (e.g., India Tax Symposium 2024) to show genuine interest.

Recent Developments

* PwC India has emphasized its Risk Consulting Business Unit for 2025 batch graduates, offering unique opportunities through targeted campus programs.

* The firm continues to enhance its recruitment process with technology, such as video interviews and game-based assessments, to provide flexibility and efficiency.

PwC Interview Questions :

1 .
What exactly is Bootstrap? What are the benefits of using Bootstrap instead of CSS?
Bootstrap is a Twitter-developed Open Source Front-End framework for making web development easier and faster. This is nothing more than reusable code that we can download and use for our web development without having to rewrite the same code (i.e., not reinventing the wheel). It works with practically all browsers because it supports almost all of them.

Bootstrap further makes the site adaptable, meaning it adapts to the screen size regardless of the device used to see it.

Bootstrap has the following advantages over CSS:

* Time-Saving: It speeds up development because we can get the same functionality by including bootstrap into our code rather than building it from the start.
 
* Cross-Browser Compatibility: Because bootstrap supports all major modern web browsers, we don't have to worry about whether or not a feature will work in all of them.
 
* Responsiveness: Because bootstrap utilizes a fluid grid layout, it adapts to the device's screen resolution, so we won't receive a startling website view when viewing the same website on multiple devices of various sizes, such as a laptop desktop, mobile, or tablet, etc.
 
* Ease of Use: We can get started using bootstrap with a basic understanding of HTML and CSS.
 
* Open Source: Because Bootstrap is open source, we don't have to pay for this capability.
2 .
What's the difference between C and C++?
The following are some similarities between C and C++:

* The syntax of both languages is comparable.
 
* Both languages have the same code structure.
 
* Both languages have a comparable compilation.
 
* They have a similar basic syntax. C++ has nearly all of C's operators and keywords, and they all do the same thing.
 
* C++ has a little more complex language than C, but the fundamentals are the same.
 
* Both models' basic memory models are fairly close to the hardware.
 
* Both languages have the same concepts of stack, heap, file-scope, and static variables.
3 .
In C, what is volatile?
In C, a volatile keyword is a qualifier that a programmer uses when declaring a variable in source code. It's used to tell the compiler that the variable value can be modified anytime without the source code having to do anything. When we declare a variable, we usually use the word volatile.
4 .
In C++, what are the advantages of a vector above an array?
Arrays are fixed, whereas Vectors are resizable. When the array reaches its limit, it does not automatically expand, but the vector does so implicitly by reallocating the components and allocating new space.
 
When an array is dynamically allocated, it must be explicitly deallocated, whereas vectors are automatically deallocated when they reach the end of their scope.
 
The size of the dynamically allocated array must be explicitly tracked, but the length of the vector does not need to be watched. This also means that if we need to execute some operations in a function, we must explicitly supply the size of the dynamically created array and the array. Still, we do not need to pass the vector size to the function.
 
The array cannot be copied or assigned to another array. However, the vector can be easily copied or assigned to another vector.
5 .
In C++, what is the size of an empty class?
#include <iostream>
using namespace std;
class NewClass
{
};


int main() {
   cout<<sizeof(NewClass)<<"\n";  
}​


Output:
1​

In C++, an empty class is 1 byte in size. This is done to ensure that two separate objects have two different addresses. There is no way to tell whether two items are the same or different if they have the same addresses. It all comes down to the object's identification.
6 .
What is the meaning of merge sort? How does the merge sort stack up in terms of time and space complexity?
For sorting a set of data, Merge Sort is a Divide and Conquer algorithm (can be an array or linked list). It required dividing the input into two halves at each stage until only one element remained, then merging the sorted halves to generate a sorted input.

There isn't a built-in algorithm for merge sorting (which means you need to use extra space for sorting the input).

Merge sort is a stable method, meaning that even if the input contains two identical elements, the sorted output will retain its relative order.

* Auxiliary Space: O(N)

* Time Complexity: O (N log N)
7 .
What are your thoughts on DDBMS transparency?
In a DDBMS, transparency refers to the system's transparent information delivery to the user. It aids in the concealment of information that the user must implement.

In a traditional database management system, data independence is a type of transparency that aids in disguising changes in the data's definition and organization from the user. However, they all have the same overall goal in mind. That is, the distributed database is used similarly to a centralized database.
8 .
What's the difference between a linear data structure and a nonlinear data structure?
Data elements are sequentially connected in a linear data structure, and each element can be traversed in a single run. Data elements are hierarchically related and present in a non-linear data structure at multiple levels. All data items are present at a single level in a linear data structure.

Array, queue, stack, linked list, and other linear data structures are examples. Non-linear data structures, on the other hand, include trees and graphs.
9 .
How do you create a REST API with service methods and database queries?
To create a REST API with service method and database queries, follow these pointers.

* Choose a programming language and framework for your API

* Create a service layer to handle business logic

* Use database queries to retrieve and manipulate data

* Map HTTP methods to service methods

* Implement authentication and authorization

* Test your API thoroughly
10 .
What is normalization, and can you explain all normal forms?
Normalization is the process of organizing data in a database to reduce redundancy and dependency.

First Normal Form (1NF) - Eliminate duplicate columns from the same table.

Second Normal Form (2NF) - Create separate tables for sets of values that apply to multiple records.

Third Normal Form (3NF) - Eliminate fields that do not depend on the primary key.

Fourth Normal Form (4NF) - Eliminate multi-valued dependencies.

Fifth Normal Form (5NF) - Eliminate redundant data using a join table.
11 .
Describe the end-to-end flow of working with the Spring Framework.
Spring framework is a popular Java framework used for building web applications.

* Create a Spring project using Spring Initializr

* Define beans using annotations or XML configuration

* Inject dependencies using @Autowired or constructor injection

* Use Spring MVC for web development

* Integrate with databases using Spring Data

* Secure applications using Spring Security

* Test applications using Spring Test

* Deploy applications using Spring Boot
12 .
Explain the Software Testing Life Cycle (STLC).
STLC is a process of testing software from planning to deployment. It includes planning, designing, executing, and reporting.

* Planning phase involves defining scope, objectives, and test strategy.

* Design phase includes creating test cases, test scenarios, and test data.

* Execution phase involves running test cases, reporting defects, and retesting.

* Reporting phase includes preparing test summary reports and defect reports.

* STLC ensures that software meets quality standards and customer requirements.

Example: A software development team follows STLC to test a new mobile app. They plan the testing process, design test cases, execute them, and report any defects found.
13 .
In C++, what are the advantages of a vector versus an array?
* Arrays are fixed, whereas Vectors are resizable. When the array reaches its limit, the array does not automatically expand, but the vector does so by reallocating elements and allocating new space.

* When an array is dynamically allocated, it must be explicitly deallocated, whereas vectors are automatically deallocated when they reach the end of their scope.

* The size of the dynamically allocated array must be explicitly tracked, but the size of the vector does not need to be watched. This also means that if we need to execute some operations in a function, we must explicitly supply the size of the dynamically created array along with the array, but we do not need to pass the size of the vector to the function.

* The array cannot be copied or assigned to another array. However, the vector can be readily copied or assigned to another vector.
14 .
What is the meaning of a dangling pointer? What should you do to handle it?
A dangling pointer is one that points to a previously released location. Undefined behavior occurs when a dangling pointer is dereferenced.

Example:
struct myStruct
{
   int myInt;
   char myChar;
};
int main()
{
   myStruct* firstPntr = new myStruct();
   myStruct* secondPntr = firstPntr;
   secondPntr->myInt = 5;
   secondPntr->myChar = 'A';
   delete secondPntr;
   std::cout<<firstPntr->myInt<<" "<<firstPntr->myChar<<"\n";
}​


Output:
0​

In the preceding example, the secondPntr, which points to the same location as the firstPntr, is destroyed, resulting in uncertain behavior when the firstPntr is dereferenced later. Because it still points to the memory that was destroyed, firstPntr becomes a dangling pointer.

To eliminate dangling pointers, we can utilize smart pointers (or) explicitly make all pointers that are being referenced NULL so that they don't point to the erased memory.
15 .
What is the distinction between linear and non-linear data structures?
Based on the shape/arrangement of the data pieces, data structures are split into two types. Linear and non-linear data structures are the two types.

Non-Linear Data Structure

Linear Data Structure

A single node can connect an unlimited number of items.

Only the next and/or previous elements are linked to the current element.

There are multiple levels of involvement.

There is only one level involved. There are multiple levels of involvement.

Non-Linear Data Structures are easier to implement.

Linear Data Structures are challenging to implement.

We cannot explore all items in a single traversal without storing visited elements.

We can explore all items in a single traversal without storing visited elements.

The data is organized in a hierarchical/non-linear manner.

The data items are organized in a sequential/linear order.

Examples: Trie, Trees, Graphs, etc.

Examples: Queue, Array, Linked List, Stack, etc.

16 .
Write a Python program to filter list members that are even valued between 1 and 20 (both inclusive).
This can be accomplished in various ways. However, using filter and lambda is a more pythonic approach.

A function and a sequence are sent to the filter() method. True or false should be returned by the function. It applies a function to each element in the sequence and returns an iterator for those that return true from the function.

We can pass a standard function to filter, but lambda is a better way to do it.

nums = list(range(2, 100))

filtered_elements = list(filter(lambda x: (x%2 == 0), nums))​
17 .
In Python, what is the difference between List and Tuple?
* In Python, the main distinction between List and Tuple is that List is mutable, whereas Tuple is immutable. The structure or content of a mutable object can be altered after it is formed, whereas an immutable object cannot be changed after it is created.

* A tuple is more memory efficient than a List since it has the attribute of immutability. Because List is mutable, Python needs to allocate more memory because we can potentially add additional items to it.

* Because of the same property's Immutability, a tuple is similarly time-efficient. Instantiating a new Tuple requires less time than List. A Tuple also takes less time to look up than a List. Even if the time difference isn't significant, it's worth noting.

* The list has more flexibility than the Tuple since we can simply add new elements, delete existing elements, and so on, whereas Tuples are immutable. Therefore adding a new element or deleting current elements requires us to create a new Tuple.
18 .
What will the output of the Python program below be?
class myClass:

  def __init__(self):

    self.x=20

    self.__y=40

obj=myClass()

print(obj.__y)​


When an identifier that appears textually in a class declaration starts with more than one underscore character and does not conclude with two or more underscores, it is regarded as a private name of that class. Prior to the code generation of private names, they are changed into a lengthier form. The transformation places the class name in front of the name, removing any leading underscores and replacing them with a single underscore. The identifier __spam in a class named Ham, for example, will be changed to _Ham spam.

Because the name is changed into _myClass_y, the error 'AttributeError: myClass object has no attribute __y' is thrown. Instead, we can print(obj._myClass_y).

This works and prints the value 40.
19 .
In a database, define the terms intension and extension.
In a database, the following is the primary distinction between intention and extension:

Intension: Intension, also known as database schema, is used to define the database's description. It is specified during the database's design and largely stays the same.

Extension: Extension, on the other hand, is a metric for counting the number of tuples in a database at any given time. The value of a database's extension, also known as the snapshot, changes as tuples are created, updated, or destroyed in the database.
20 .
There are 9 coins and a weighing balance. 8 coins are of the same weight and 1 coin is heavier. In how many minimum numbers of iterations can you find out the heaviest coin in the worst case?
Most people try to divide the coins into 2 groups. But the trick here is to divide them into 3 groups. The reason being if we divide coins into 2 groups and weigh them, we can only discard one group. But if we divide them into 3 groups and weigh 2 groups, either they both will be equal or not. If both are equal then the coin with heavier weight will be on the left out group and if they both are not equal then the heavier weight group contains the coin with heavier weight. We can discard 2 groups out of the 3 groups in this case.  Hence we first divide 9 coins into 3 equal groups.

* In the first iteration, we can discard 2 groups out of them using the above concept.

* We will be left with 3 coins now.

* Now we again divide them into 3 equal groups with 1 coin in each group.

* In the second iteration, we can again discard 2 groups and hence will be able to find the heavier coin.

* So, it takes only 2 iterations to find out the heavier coin.
21 .
Print 1-100 without using loops?
To print 1-100 without loop, we can leverage recursion for this.

#include<iostream>

void printVal(int i)
{
   if(i > 100)
       return;
   std::cout<<i<<"\n";
   printVal(++i);
}

int main() {
 
   int i = 1;
   printVal(i);
}​
22 .
Check if a string is a palindrome or not?
Palindrome: A string is called a palindrome if it can be read the same way starting from the front (or) starting from the back. In other words, a string is a palindrome if the reverse of the string is equal to the original string.

Naive Implementation:
#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

// To reverse a string
string reverseString(string str)
{
   int len = str.length();
 
   int mid = len / 2;
   // Traverse until mid and swap characters from ends
   for (int i = 0; i < mid; i++)
       swap(str[i], str[len - i - 1]);
 
   return str;
}

bool isPalindrome(string a)
{
   // This reverse the string
   string b = reverseString(a);

   // Check if reversed string and original string are same
   return a == b;
}

int main()
{
   string s1 = "BANANA";
   string s2 = "MADAM";
 
   cout<<s1<<" is "<< (isPalindrome(s1) ? "NOT ": "") <<" a PALINDROME\n";

   cout<<s2<<" is "<< (isPalindrome(s2) ? "NOT ": "") <<" a PALINDROME\n";
}​

Output:
BANANA is NOT  a PALINDROME
MADAM is  a PALINDROME​

This approach has a Time Complexity of O(N) and also Space Complexity of O(N).

A better version to solve this is to not create the actual copy but use 2 pointers one from start and another from the end to check if these 2 pointers point to the same characters and move them until the midpoint of the string.
#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

bool isPalindrome(string a)
{
   int len = a.length();

   int start = 0;
   int end = len-1;
 
   while(start < end)
   {
       // if not same then return false
       if(a[start] != a[end])
       {
           return false;
       }

       // update the start and end
       start++;
       end--;
   }

   // If it had reached upto this, then all characters are equal until mid
   return true;

}

int main()
{
   string s1 = "BANANA";
   string s2 = "MADAM";
 
   cout<<s1<<" is "<< (isPalindrome(s1) ? "NOT ": "") <<" a PALINDROME\n";

   cout<<s2<<" is "<< (isPalindrome(s2) ? "NOT ": "") <<" a PALINDROME\n";
}​

Output:
BANANA is NOT  a PALINDROME
MADAM is  a PALINDROME​

This approach has a Time Complexity of O(N). Space Complexity is O(1) as we are not making a copy of the string here.
23 .
Why is BCNF superior to 3NF?
Because BCNF eliminates the second condition of 3NF, which allowed the right side of the FD to be a prime attribute, it is a more powerful form of normalization than 3NF. As a result, every FD's left side must be a superkey in a table.
24 .
What is the AMT (alternative minimum tax)?
The Alternative Minimum Tax (AMT) is a different tax system that compels some taxpayers to compute their tax burden twice, once under standard income tax laws and then again under the AMT regulations, and pay the highest amount. The AMT differs from the regular system because it has fewer preferences and various exemptions and rates.

Frequently Asked Questions


How do I prepare for a PwC interview?

To prepare for a PwC interview, research the company’s values and the role, practice common interview questions, review your resume and relevant technical skills, and engage in mock interviews to refine your responses and presentation.


Is a PwC interview hard?

PwC interviews can be challenging as they assess both technical skills and cultural fit. The difficulty often depends on your preparation, knowledge of the role, and ability to demonstrate problem-solving and communication skills effectively.


What questions do PwC ask?

PwC asks a mix of technical, behavioral, and situational questions. Expect queries about your experience, problem-solving abilities, understanding of the role, and how you align with PwC’s values and work culture.


How many rounds are in a PwC interview?

A PwC interview typically consists of several rounds, including an initial screening, technical and behavioral interviews, and sometimes a final interview with senior management. The exact number of rounds can vary depending on the role and location.