PwC India Salesforce FSC Developer Round 1

CompanyPwC (India)
Focus AreaSalesforce Developer
Questions19+
Topics4

PwC India Salesforce Developer Interview Question for Financial Services Cloud. Candidate was having 5 years of experience and total 1 year in FSC. Till date 27/05/2026 result is pending. More Details: Candidate was not available on scheduled date so he asked to rescheduled the interview they scheduled next day.Candidate was not well prepared for FSC.Duration 30 mins.

What's Covered

Topics covered in this interview.

01Flows & Automation2
02SOQL & Data1
03Apex & Triggers4
04General & Experience12

All Interview Questions

Every question asked in this interview, listed one by one.

1Have you used build in FSC flows?
2How to ByPass validation rule for specific user?
3There are 100 Account on my org how to identify person account from them, how to query person account created in last 4 days. 
4I have scheduled Batch job, I want to skip specific batch, how I can skip specific batch? How to skip specific record in batch? Without manual interaction.
5What are async apex? have you ever used? 
6Explain batch methods?
7We want to check such daily and run batch daily. 
8Introduction about candicate
9Explain your work on FSC project
10Which FSC features you have used. 
11How to do you convince client to use FSC, (Why client should use FSC ) 
12What is domain of your client 
13What is personal Account? 
14Why do need person Account? 
15What is impact on enabling person Account?
16Why CPU time limits happens?
17Scenario :On custom object I have fields Status field(Active, InActive), Expire Date. 
18When Date is previous date I want to set Status to InActivce for all records. 
19Tell me your Approach.
Interview notes
  • Candidate was not available on scheduled date so he asked to rescheduled the interview they scheduled next day.
  • Candidate was not well prepared for FSC.
  • Duration 30 mins.

Preparing for a Salesforce developer interview?

Browse more real company interview experiences and hands-on Apex trigger patterns.

Quick answers to key questions

Short answers to the main questions from this interview.

  • Bypass a validation rule for a specific user. Add a condition to the rule that checks a custom permission, for example AND(NOT($Permission.Bypass_Validation), your condition), and assign that permission only to the users who should skip it. A hierarchy custom setting also works.
  • Find person accounts and query the last 4 days. Person accounts have IsPersonAccount = true. For example SELECT Id, Name FROM Account WHERE IsPersonAccount = true AND CreatedDate = LAST_N_DAYS:4.
  • What is a person account and why use it? A person account stores an individual customer as a single record that combines Account and Contact fields. It suits business-to-consumer models such as banking, wealth management and insurance, which is why it is common in Financial Services Cloud. Once person accounts are enabled, they cannot be turned off, and they affect reports, page layouts, integrations and code, so plan before you enable them.
  • Asynchronous Apex. The four types are future methods, queueable Apex, batch Apex and scheduled Apex.
  • Batch Apex methods. A batch class implements Database.Batchable with three methods. start returns the records to process, execute processes each chunk of records, and finish runs once at the end for follow-up work such as sending an email.
  • Skip a batch run or specific records. Keep a flag in a custom setting or custom metadata. At the start of the job, check the flag and end early if it says to skip. To skip records, add a filter to the query in start or check a field in execute.
  • Why do CPU time limits happen? Because the code does too much work in one transaction, for example nested loops over large collections, repeated processing, heavy logic in several triggers and flows, or recursion. The limit is 10 seconds for synchronous code and 60 seconds for asynchronous code. Fix it by using maps instead of nested loops, bulkifying the code, avoiding repeated work and moving heavy work to async Apex.

Scenario: set Status to Inactive when the expiry date has passed

Run a scheduled batch job every day. It selects the active records whose expiry date is before today and sets them to inactive. The field names below are assumptions, so change them to match your object.

global class ExpireRecordsBatch implements Database.Batchable<SObject>, Schedulable {
    global Database.QueryLocator start(Database.BatchableContext bc) {
        return Database.getQueryLocator(
            [SELECT Id, Status__c FROM My_Object__c WHERE Status__c = 'Active' AND Expire_Date__c < TODAY]
        );
    }
    global void execute(Database.BatchableContext bc, List<My_Object__c> scope) {
        for (My_Object__c rec : scope) {
            rec.Status__c = 'Inactive';
        }
        update scope;
    }
    global void finish(Database.BatchableContext bc) {}
    global void execute(SchedulableContext sc) {
        Database.executeBatch(new ExpireRecordsBatch(), 200);
    }
}

Schedule it once, for example with System.schedule('Expire records', '0 0 1 * * ?', new ExpireRecordsBatch());, to run every day at 1 AM. A scheduled-triggered flow is a no-code alternative when the logic is this simple.

Leave a Reply