To find the current user's default record type for Opportunity, the developer can use the DescribeSObjectResult and RecordTypeInfo classes. Option A: Use Opportunity.SObjectType.getDescribe().getRecordTypeInfos() to get a list of record types, and iterate through them until isDefaultRecordTypeMapping() is true. Correct Approach. // Get describe result for Opportunity Schema.DescribeSObjectResult oppDescribe = Opportunity.SObjectType.getDescribe(); // Get list of RecordTypeInfo List<Schema.RecordTypeInfo> recordTypeInfos = oppDescribe.getRecordTypeInfos(); // Iterate through RecordTypeInfo to find the default one Id defaultRecordTypeId; for (Schema.RecordTypeInfo rtInfo : recordTypeInfos) { if (rtInfo.isAvailable() && rtInfo.isDefaultRecordTypeMapping()) { defaultRecordTypeId = rtInfo.getRecordTypeId(); break; } } Reference: Options Not Applicable: Option B and C: Methods mentioned do not exist in the API. Option D: Create the Opportunity and check the Opportunity.RecordTypeId before inserting. The RecordTypeId is not automatically populated before inserting. Conclusion: To find the current user's default Opportunity record type, the developer should use Option A.