I am looking for work. And before I started to look for work again I thought it was a good idea to set up a repository to showcase how I view problems from a long term perspective instead of a 1 or 2 day coding task. https://lnkd.in/g_tVY67D is a monorepo that simulates a youtube like company. It captured metrics for “videos" played, who watched them, and allowed users to comment on the “videos”. In this example the media in question will just be represented by a looping gif. It does this using mysql, postgres, redis, and kafka for data storage and messaging, along with about 8 custom applications, java for backend and typescript for front end. All applications can be built using one gradle command (./gradlew build), and the entire stack can run by just running `run_locally.sh` if you are on a mac. I have a run_locally.bat for windows, but I haven’t tested it out and am assuming it won’t work. The entire stack can be run on a mac with 16gb of ram. The entire stack demonstrates how using a monorepo approach you can use naming conventions, gradle plugins, and submodules to quickly introduce new executable, minimize context windows, refactor consistently and quickly create integration tests that focus on testing business concerns. For example * Plugins For Build Conventions * Using plugins to automatically generate open api documentation and setup base spring boot dependencies The convention https://lnkd.in/g_nv8S6E How it’s used https://lnkd.in/gqt8hRm8 This allows build scripts to focus on what is unique for the application instead of boiler plate * Integration Tests As It’s Own Submodule * Instead of creating an integrationTest task, it is its own distinct module. This means you can bring in multiple microservices and test them in a single test. For example the following test https://lnkd.in/gxV6gwhi Tests that for a unique user, and piece of media, that when a user plays and stops viewing that piece of media the metrics are captured. This tests that information went through the whole stack, (mysql, kafka, postgres and most of the microservices). These techniques, among others, are what I hope to bring to the table at your company to reduce the size of context windows for your ai agents, increase readability, simplify testing, simplify deployments, centralize documentation, and reduce the amount of time spent talking about the tech stack instead of improving your product.
Monorepo for YouTube-like company with long-term problem-solving approach
More Relevant Posts
-
What is Custom ClassLoader? — Basic Interview Question you must know In one of my recent interviews, what started as a simple question quickly turned into a deep discussion: 1. What is Custom Class Loading? 2. How will you implement it? 3. Can you configure it using application.properties? 4. Have you used it in a real-world scenario? Let me share how I approached it --- 🔹 Step 1: Start with Fundamentals In Java, classes are loaded dynamically using the ClassLoader mechanism. But beyond the default loaders, we can create our own Custom ClassLoader to control: 1. Where classes are loaded from 2. How they are loaded 3. When they are loaded --- 🔹 Step 2: Implementation Approach 1.Extend "ClassLoader" 2.Override "findClass()" 3.Load bytecode from a custom source (file system, DB, network) 4.Use "defineClass()" to convert byte[] → Class ⚡ Bonus point: Explained Parent Delegation Model (this impressed the interviewer) --- 🔹 Step 3: Configuration Twist (Game Changer 💡) Then came the tricky part: “Can we use application.properties?” 👉Not directly… but we can make it config-driven custom.loader.enabled=true custom.loader.path=/opt/app/dynamic-classes/ ✅ Read config ✅ Pass path to Custom ClassLoader ✅ Dynamically load classes at runtime --- 🔹 Step 4: Real-world Scenario (This sealed the discussion ) In one of my backend projects, we had a requirement: 👉 Support client-specific business logic without restarting the application What we did? - Stored compiled ".class" files externally - Used a Custom ClassLoader to load them dynamically - Controlled everything via configuration Result: ✅ No redeployment needed ✅ Faster releases ✅ Highly flexible system design --- 🔹 Where is this used in real systems? Even servers like use custom class loaders internally to isolate applications. --- 🔹 Final Takeaway Most candidates stop at “what is it” Strong candidates explain “how it works” But what really stands out is “where you used it in production” #Java #SpringBoot #BackendDevelopment #JVM #ClassLoader #InterviewExperience #SoftwareEngineering #Microservices #TechCareers #interview
To view or add a comment, sign in
-
🚀 Spring Boot Interview Preparation (2+ Years Experience) Preparing for backend interviews? Here are some **must-know Spring Boot concepts** every developer should master 👇 🔹 **Core Concepts** 1. What is auto-configuration in Spring Boot? 2. How does Spring Boot reduce boilerplate configuration? 3. Role of `@SpringBootApplication`? 4. What are Spring Boot starters? 5. Explain Spring Boot lifecycle 🔹 **Dependency Injection & Beans** 6. Difference between `@Component`, `@Service`, `@Repository`, `@Controller` 7. Bean scopes in Spring 8. Constructor vs Field Injection 9. What is `@Qualifier`? 10. Circular dependencies in Spring 🔹 **REST API & Web Layer** 11. `@RestController` vs `@Controller` 12. Global exception handling 13. What is `@ControllerAdvice`? 14. Content negotiation 15. Validation using `@Valid` 🔹 **Spring Security** 16. How Spring Security works internally 17. Role of SecurityFilterChain 18. JWT authentication 19. Authentication vs Authorization 20. Securing REST APIs 🔹 **Spring Data JPA** 21. JpaRepository vs CrudRepository 22. Lazy vs Eager loading 23. N+1 problem 24. Custom queries in JPA 25. How `@Transactional` works #Java #SpringBoot #BackendDeveloper #InterviewPreparation #Developers #TechCareers
To view or add a comment, sign in
-
Engineering With Java newsletter now covers 58 real world use case based interview questions 🥳 If you like to practice these questions , checkout : https://lnkd.in/gW5kQ6Xf #java #spring #springboot #interview
To view or add a comment, sign in
-
-
Most developers prepare for Spring Boot interviews the wrong way. They focus on syntax… but ignore fundamentals. These 5 questions alone can decide your selection 👇 1. What is @SpringBootApplication? 2. Difference between @Component vs @Service vs @Repository? 3. What is Dependency Injection and why is it important? 4. What is Bean Scope in Spring? 5. How does Spring Boot auto-configuration actually work? If you can explain these clearly with examples, you’re already ahead of 70% candidates. Focus on concepts, not just code. Follow for more 🚀 #Java #SpringBoot #BackendDeveloper #Microservices #SoftwareEngineering
To view or add a comment, sign in
-
🚀 I was asked this in a Java interview… and many people fail here 👉 What is the difference between @Component, @Service, and @Repository? Here’s the simplest explanation 👇 💡 All three are Spring stereotypes They tell Spring to create beans automatically. 🔁 Difference: 👉 @Component → Generic (any class) 👉 @Service → Business logic layer 👉 @Repository → Database layer (handles exceptions) 🔥 Why this matters: Interviewers check if you understand design, not just annotations. --- If you're preparing for Java interviews, don’t skip this. Follow for real backend interview prep 🚀
To view or add a comment, sign in
-
You don’t get rejected in senior interviews because you don’t know Java. You get rejected because: 👉 You jump to answers without diagnosing the problem. I compiled real production-style questions asked in interviews, including: - JVM issues - Retry storms - ThreadLocal bugs - Spring failures This carousel is Part III of the series. Full deep-dive articles: - Part I: [https://lnkd.in/gV37rZr9] - Part II: [https://lnkd.in/gMp59AQV] - Part IIIA: [https://lnkd.in/graSMnv5] Curious — what’s the toughest production issue you’ve debugged
To view or add a comment, sign in
-
Quick tip for backend interviews 👇 If you don’t mention these… you’ll lose points: ✔ Caching ✔ Load balancing ✔ Database scaling ✔ Failure handling Even if your answer is correct. I covered ALL of this in one structured PDF 👇 👉 Link: https://lnkd.in/gbF6u9ni 🎁 Use JAVA25 for 15% OFF. Save this before your next interview. #SystemDesign #Backend #Java
To view or add a comment, sign in
-
I have been getting a lot of DMs lately asking same thing - "What should I prepare for a Java Spring Boot backend interview?" I used to reply to each one individually. Now I am just going to write it here once — properly — so everyone can use it. Here is what I tell every person who asks me: First — stop preparing topics randomly. Backend interviews have a structure. Prepare the structure, not random topics. The structure looks like this: Java core → Spring Boot → Database/JPA → Microservices → DSA → System design In that order. Each layer builds on the one before. Second — know the WHY behind every answer. The question is "what is @Transactional?" What they are really asking is "do you understand how database transactions work or did you just copy-paste this annotation?" Know what it does. Know why it exists. Know what happens when you use it wrong. Third — your project experience matters more than you think. Every interviewer will ask "tell me about a challenging problem you solved." If you cannot answer this with a real, specific story — that is the gap to fix first. Not LeetCode. Not theory. A real story from something you have built or debugged. Fourth — mock interviews are not optional if you keep failing. Knowing something and being able to explain it under pressure are completely different skills. Practice the pressure. I have been a Java backend interviewer for 4 years. I know what gets people hired — and what gets them rejected even when they know the answers. If you want honest feedback on where you are and what to work on — DM me. No sales pitch. Just a real conversation. #Java #SpringBoot #BackendDeveloper #InterviewPrep #BackendInterview #Interview #SoftwareEngineering #TechMentor #JavaDeveloper
To view or add a comment, sign in
-
𝗠𝗼𝘀𝘁 𝗽𝗲𝗼𝗽𝗹𝗲 𝗽𝗿𝗲𝗽𝗮𝗿𝗲 𝗳𝗼𝗿 𝗝𝗮𝘃𝗮 𝗶𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄𝘀 𝘁𝗵𝗲 𝘄𝗿𝗼𝗻𝗴 𝘄𝗮𝘆. They revise definitions. They memorize answers. They hope questions stay basic. But real interviews? They go deeper. 𝗛𝗲𝗿𝗲 𝗮𝗿𝗲 𝟮𝟬 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀 𝘁𝗵𝗮𝘁 𝗮𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝘁𝗲𝘀𝘁 𝘆𝗼𝘂𝗿 𝗯𝗮𝗰𝗸𝗲𝗻𝗱 𝘂𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱𝗶𝗻𝗴: 1. How does G1 GC really work? 2. How do you detect & fix a memory leak in production? 3. ReentrantLock vs synchronized — when does it actually matter? 4. Happens-before — do you truly understand it or just heard of it? 5. What really happens inside @Transactional? 6. REQUIRED vs REQUIRES_NEW vs NESTED — practical difference? 7. How would you implement distributed locking? 8. Hibernate cache — when does it help vs hurt? 9. N+1 problem — how do you catch it early? 10. Designing idempotent APIs — real-world approach? 11. Connection pooling — what would you tune in HikariCP? 12. Eventual consistency — how do you handle failures? 13. Optimistic vs pessimistic locking — real trade-offs? 14. How would you design a rate limiter? 15. Saga pattern vs 2PC — what would you choose and why? 16. Securing service-to-service communication — how? 17. Kafka ordering & exactly-once — what’s actually guaranteed? 18. Designing for 1M requests/day — what changes? 19. Zero downtime deployment — what’s your approach? 20. Latency jumps from 80ms → 2s overnight — what’s your first step? If you can answer these with examples (not theory), you're already ahead of most candidates. I've put together a detailed PDF with answers to all 20 questions — with real code examples from production. 𝗖𝗼𝗺𝗺𝗲𝗻𝘁 "𝗣𝗗𝗙" 𝗯𝗲𝗹𝗼𝘄 𝗮𝗻𝗱 𝗜'𝗹𝗹 𝗗𝗠 𝗶𝘁 𝘁𝗼 𝘆𝗼𝘂 𝗽𝗲𝗿𝘀𝗼𝗻𝗮𝗹𝗹𝘆. 👇 👉 Follow Aman Mishra for more backend insights,content, and interview-focused tech breakdowns!🚀 𝗜'𝘃𝗲 𝗰𝗼𝘃𝗲𝗿𝗲𝗱 𝘁𝗵𝗶𝘀 𝗶𝗻 𝗱𝗲𝗽𝘁𝗵, 𝗚𝗖 𝘁𝘂𝗻𝗶𝗻𝗴, 𝗝𝗩𝗠 𝗳𝗹𝗮𝗴𝘀, 𝗮𝗻𝗱 𝗿𝗲𝗮𝗹 𝗶𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗤&𝗔𝘀 — 𝗶𝗻 𝗺𝘆 𝗝𝗮𝘃𝗮 𝗖𝗼𝗿𝗲 & 𝗔𝗱𝘃𝗮𝗻𝗰𝗲𝗱 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗠𝗮𝘀𝘁𝗲𝗿𝘆 𝗚𝘂𝗶𝗱𝗲.𝗢𝗳𝗳𝗲𝗿𝗶𝗻𝗴 𝟱𝟬% 𝗼𝗳𝗳 𝗳𝗼𝗿 𝗮 𝗹𝗶𝗺𝗶𝘁𝗲𝗱 𝘁𝗶𝗺𝗲! 👇 𝗚𝗲𝘁 𝘁𝗵𝗲 𝗴𝘂𝗶𝗱𝗲 𝗵𝗲𝗿𝗲: https://lnkd.in/gn3AG7Cm 𝗨𝘀𝗲 𝗰𝗼𝗱𝗲 𝗝𝗔𝗩𝗔𝟱𝟬
To view or add a comment, sign in
-
🚨 𝗠𝗮𝗻𝘆 𝗰𝗮𝗻𝗱𝗶𝗱𝗮𝘁𝗲𝘀 𝗮𝗱𝗱 𝗦𝗽𝗿𝗶𝗻𝗴 𝗕𝗼𝗼𝘁 𝗶𝗻 𝘁𝗵𝗲𝗶𝗿 𝗿𝗲𝘀𝘂𝗺𝗲. But interviews quickly reveal whether you used it… or actually understand it. If you're preparing for backend roles, test yourself with these 👇 🔥 Spring Boot Interview Questions That Actually Matter 1️⃣ What problem does Spring Boot solve? Why not use plain Spring? 2️⃣ What is Dependency Injection and how does Spring implement it? Can you explain it beyond definitions? 3️⃣ Difference between @Component, @Service, @Repository, @Controller? When do you use each? 4️⃣ What is @Autowired and how does it work internally? What happens if multiple beans exist? 5️⃣ Explain Spring Boot Auto-Configuration How does it reduce boilerplate code? 6️⃣ What is the flow of a request in Spring Boot? Controller → Service → Repository → Database Can you explain each layer clearly? 7️⃣ How do you handle exception handling globally? Have you used "@ControllerAdvice"? 8️⃣ What is Spring Data JPA? How does it simplify database operations? 9️⃣ How do you secure your Spring Boot APIs? JWT? Spring Security? Role-based access? 🔟 How do you optimize performance in a Spring Boot app? Caching, DB optimization, async processing? 🧠 What Interviewers Actually Check Not just answers. They observe: ✔️ Do you understand the flow? ✔️ Can you explain architecture? ✔️ Can you connect concepts together? ⚠️ Common Mistake Candidates say: “I used Spring Boot in my project…” But can’t explain: • how beans are created • how dependencies are injected • how requests are processed That’s where rejection happens. 💡 Important Takeaway Spring Boot is not just annotations. It’s about understanding: • architecture • flow • real-world usage If you can answer these confidently, you’re already ahead of many backend candidates. 𝗝𝗼𝗶𝗻 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗗𝗲𝘃 𝗖𝗼𝗺𝗺𝘂𝗻𝗶𝘁𝘆 👇 📌 WhatsApp: https://lnkd.in/d4YiB9xt 📌 Telegram: https://lnkd.in/dVNAn35i Save this before your next interview. Keep Coding, Keep Building! #java #springboot #spring #hibernate
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
most integration tests just check if code runs. real ones prove the system does what it's supposed to. that media playback test? it proves data moved through kafka, metrics landed in postgres, the whole chain worked. not just "service responded 200" but "we know this user watched this video." the context window thing is real. separate repos mean stitching mental models together every time. monorepo with strict conventions? the structure tells you where to look before you even read code.