Process Incoming Orders (Queue?
Short answer: Trigger) Scenario: When a customer places an order, the backend pushes a message to Azure Storage Queue.
Explain a bit more
Azure Function processes it asynchronously. Trigger: QueueTrigger Use Case: Payment processing, inventory updates, email notifications. Code Example (C#) public class OrderProcessor { [FunctionName("ProcessOrder")] public void Run( [QueueTrigger("orders", Connection = "StorageConn")] string orderJson, ILogger log) { image.Mutate(x => x.Resize(200, 200)); // resize image.SaveAsJpeg(output); } ✅ 4. Send Email Notifications from Event Grid (Event Grid Trigger) Scenario: A new user signs up → Event Grid sends event → Function triggers email. Trigger: EventGridTrigger Use Case: User signup, audit logs, subscription events. Code Example [FunctionName("UserSignupEmail")] public static async Task Run( [EventGridTrigger] EventGridEvent eventGridEvent, ILogger log) {
Example code
var order = JsonSerializer.Deserialize<Order>(orderJson); log.LogInformation($"Processing order #{order.Id}"); // Call payment gateway // Update inventory // Send confirmation email }
}
public record Order(int Id, string Product, int Qty); ✅ 2. Schedule Daily Database Backup (Timer Trigger) Scenario: Run SQL backup, archive logs, or clean old data every night. Trigger: TimerTrigger Use Case: Automation jobs, scheduled cleanups, maintenance tasks. Code Example public static class DailyBackup
{ [FunctionName("DailyDatabaseBackup")] public static async Task Run( [TimerTrigger("0 0 2 * * *")] TimerInfo timer, ILogger log) { log.LogInformation("Starting daily database backup..."); // Call SQL API / storage account to create backup await BackupService.RunBackupAsync(); log.LogInformation("Backup completed."); }
} ⏰ "0 0 2 * * *" → runs daily at 2 AM ✅ 3. Generate Thumbnails for Uploaded Images (Blob Trigger) Scenario: When a user uploads an image, automatically create a thumbnail and store it. Trigger: BlobTrigger Use Case: Photo apps, e-commerce product images, document workflows. Code Example [FunctionName("GenerateThumbnail")] public static async Task Run( [BlobTrigger("uploads/{name}", Connection = "StorageConn")] Stream input, string name, [Blob("thumbnails/{name}", FileAccess.Write, Connection = "StorageConn")] Stream output, ILogger log) { log.LogInformation($"Creating thumbnail for {name}"); using var image = Image.Load(input);
var data = eventGridEvent.Data.ToObjectFromJson<UserEvent>(); log.LogInformation($"New user signup: {data.Email}"); await EmailService.SendWelcomeEmail(data.Email);
} ✅ 5. Serverless REST API (HTTP Trigger) Scenario: Build lightweight APIs without using App Services. Trigger: HttpTrigger Use Case: Microservices, webhooks, backend-for-frontend APIs. Code Example [FunctionName("GetUserById")] public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = "users/{id}")] HttpRequest req, string id, ILogger log) {
var user = UserDb.GetUser(id);
if (user == null)
return new NotFoundResult();
return new OkObjectResult(user);
} ✅ 6. Process Messages from Service Bus (Service Bus Trigger) Scenario: Enterprise integration between microservices. Trigger: ServiceBusTrigger Use Case: Order processing, billing, messaging between systems. Code Example [FunctionName("ProcessPayment")] public static async Task Run( [ServiceBusTrigger("payments", Connection = "ServiceBusConn")] string message, ILogger log) {
var payment = JsonSerializer.Deserialize<Payment>(message); log.LogInformation($"Processing payment {payment.Id}"); await PaymentService.CompleteAsync(payment);
} ✅ 7. Auto-Delete Expired Files (Blob + Timer + Logic) Scenario: Remove files older than 30 days to reduce storage costs. Trigger: TimerTrigger Use Case: Data lifecycle automation. Code Example [FunctionName("DeleteOldFiles")] public static async Task Run( [TimerTrigger("0 */30 * * * *")] TimerInfo timer, ILogger log) {
var client = new BlobContainerClient( Environment.GetEnvironmentVariable("StorageConn"), "logs"); await foreach (var blob in client.GetBlobsAsync())
{
if (blob.Properties.CreatedOn < DateTimeOffset.UtcNow.AddDays(-30)) {
await client.DeleteBlobAsync(blob.Name); log.LogInformation($"Deleted old file: {blob.Name}"); }
}
}
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png