How to use this file

Answer each question aloud in 30–90 seconds. For scenario questions, state the threat, the control, why it works, the trade-off, and how you would monitor or recover from failure. For deeper explanation, see 2. Security Fundamentals - System Design, Theory and Java..

1. Core security vocabulary

2. Hashing, MD5, SHA, and HMAC

3. Password encoders and login security

4. Symmetric encryption, AES, and key management

5. RSA, signatures, and public-key cryptography

6. PKI, certificates, and TLS

7. Authentication, JWT, OAuth 2.0, and OIDC

8. REST and API security

9. Java security implementation

10. Kafka and event-driven system security

11. Architect-level scenarios

12. Quick decision table

RequirementPreferDo not confuse it with
Fingerprint bytesSHA-256 / SHA-3Authentication
Integrity with shared secretHMAC-SHA-256Encryption
Store user passwordsArgon2id / scrypt / bcrypt / PBKDF2Fast SHA-256
Encrypt application dataAES-GCM / ChaCha20-Poly1305RSA for bulk data
Sign a messageRSA-PSS / ECDSA / EdDSA according to policy“Encrypt with private key”
Protect network trafficTLSAPI authorization
Bind DNS identity to public keyX.509 certificate + PKI trustCertificate alone without validation
Delegate authorizationOAuth 2.0OIDC identity by itself
Standard user identity layerOpenID ConnectRaw JWT alone
Protect Kafka transportTLSTopic authorization
Authenticate Kafka clientSASL/mTLS/OAuth mechanismACLs
Limit Kafka operationsACLs/authorizerAuthentication
Protect data keysKMS/HSM + envelope encryptionDisk encryption alone

13. Rapid-fire revision

References