Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Top 40 J2EE Interviewvragen & Antwoorden (2026 Editie)

Top 40 J2EE Interviewvragen & Antwoorden (2026 Editie)

Zich voorbereiden op een J2EE/Jakarta EE-gesprek? Deze uitgebreide gids behandelt 40 kerntechnische vragen over architectuur, componenten, patronen en real-world troubleshooting – plus 10 gedragsmatige/situatiegewijze vragen met strategische modelantwoorden. Bijgewerkt voor moderne Jakarta EE-contexten terwijl klassieke J2EE-fundamenten behouden blijven.

👉 Gratis PDF-download: J2EE Interviewvragen & Antwoorden

Kernarchitectuur & Platformfundamenten

1. J2EE-architectuur & Kernkenmerken

J2EE definieert een multi-tier, gedistribueerd model dat presentatie, bedrijfslogica en datalagen scheidt voor schaalbaarheid en onderhoudbaarheid. Het biedt een gestandaardiseerde runtime met container-gebeheerde services (beveiliging, transacties, concurrentie), wat component-herbruikbaarheid en modulaire deployment mogelijk maakt.

LaagTechnologieënVerantwoordelijkheid
PresentatieServlets, JSP, JSFUI-afhandeling
BedrijfslogicaEJB (Session, Message-Driven)Business logic
IntegratieJCAExterne systemen (ERP, mainframe)
DataJDBC, JPA/ORMDatabasetoegang

Voorbeeld: Bankportal: Servlets voor dashboards, EJBs voor transacties, JDBC voor rekeningdata.

2. J2EE vs Java SE

Java SE = kerntaal, API's, utilities. J2EE = enterprise-uitbreidingen: containers, EJB, Servlet, JMS, JDBC, JPA, JTA, JAAS. Java SE bouwt desktop-tools; J2EE bouwt gedistribueerde, transactionele, beveiligde enterprise-systemen.

VoordeelBeschrijving
Component-gebaseerdModulaire ontwikkeling
Gestandaardiseerde API'sEJB, Servlet, JMS, JDBC, JPA
Ingebouwde servicesTransacties, beveiliging, pooling
Gedistribueerd rekenenRMI, JMS, JCA-integratie

3. EJB-typen & Use Cases

EJB-typeKenmerkenUse Case
Stateless SessionGeen client-state, pooledBetalingverwerking, validatie
Stateful SessionBehoudt conversationele stateWinkelwagentjes, wizards
Singleton SessionEén instantie per app, gedeelde stateCaches, tellers, config
Message-Driven (MDB)Async JMS-consumer, geen interfaceEvent-verwerking, order-queues
Entity (Legacy)Vervangen door JPA-entiteitenAfgeschreven

4. Servlet-levenscyclus & voordelen over CGI

  1. Laden & Instantiëren door container
  2. Initialisatie via init()
  3. Request-verwerking via service(), doGet()/doPost()
  4. Vernietiging via destroy()
ServletCGI
Thread-based, hoge prestatiesProces-based, langzamer
Beter geheugengebruikHoog resourceverbruik
Geïntegreerd Java-ecosysteemTaal-afhankelijk

Enkele instantie bedient duizenden requests vs. CGI's per-request proces-spawn.

5. JSP vs Servlets in Presentatielaag

FactorKies JSPKies Servlet
Output-aardVooral HTML met ingesloten JavaMinimaal HTML, zware logica
Complexe logicaVermijdenPreprocessing, berekening
OnderhoudbaarheidSchone scheidingController-rol (MVC)

Best practice: JSP voor views, Servlets voor controllers.

6. JDBC in J2EE: Voor- & Nadelen

VoordelenNadelen
Eenvoudige SQL-APIBoilerplate-code
Vendor-onafhankelijkSQL-injectie risico bij misbruik
Werkt met alle RDBMSHandmatig resourcebeheer

Wordt meestal verpakt in DAO's of ORM (Hibernate/JPA) voor abstractie.

7. Transactiebeheertypen

TypeBeschrijving
Container-Managed (CMT)Declaratief via annotaties (@TransactionAttribute); container hanteert begin/commit/rollback
Bean-Managed (BMT)Programmatisch via UserTransaction; ontwikkelaar controleert grenzen
JTAStandaard-API voor gedistribueerde/globale transacties over resources

Voorbeeld: Geldoverdracht vereist atomiciteit; CMT rolt automatisch terug bij falen.

8. JNDI vs RMI

KenmerkJNDIRMI
DoelResource-lookup (naming/directory)Remote method invocation
GebruikVerkrijg DataSource, EJB, JMS-queueRoep remote EJB-methoden aan

JNDI lokaliseert; RMI communiceert.

9. JMS: Asynchrone Messaging-voordelen

  • Non-blokkerend → prestaties
  • Berichtpersistentie → veerkracht
  • Ontkoppelde producers/consumers → schaalbaarheid
  • Point-to-point (queues) & pub-sub (topics)

Voorbeeld: E-commerce queued orderbevestigingen; checkout reageert direct.

10. JSP-tagtypen

Tag-typeDoelVoorbeeld
DirectivePagina-config<%@ page %>
ScriptingJava inbedden<% %>
ActionServer-componenten<jsp:include>
Expression Language (EL)Data-toegang${user.name}
CustomHerbruikbare taglibs<my:table>

11. MVC in J2EE

ComponentTechnologieënRol
ModelPOJOs, EJBs, JPA-entiteitenBusiness logic, state
ViewJSP, JSTL, JSFRender data
ControllerServlets, Front ControllerDispatch requests, controleer flow

Stelt parallel UI/Backend-werk in.

12. Filters: Cross-Cutting Concerns

Intercepteer request/response via Filter-interface (init, doFilter, destroy). Kettingbaar. Gebruikt voor: auth, logging, compressie, validatie.

VoordeelBeschrijving
Gecentraliseerde logicaEnkele plek voor cross-cutting concerns
HerbruikbaarToepasbaar op meerdere endpoints
Schonere ServletsBoilerplate verwijderen
Makkelijke configweb.xml of @WebFilter

13. DAO-patroon: Wanneer & Waarom

Inkapselt DB-toegang achter interface; scheidt persistentie van bedrijfslogica. Voordelen: JDBC/Hibernate/JPA wisselen, mocken voor testen, standaardiseer toegangspatronen.

interface CustomerDAO { Customer findById(Long id); }

14. Beveiligingsimplementatiemethoden

MethodeBeschrijvingVoorbeeld
Declaratiefweb.xml / annotatiesRollen-gebaseerde toegang
ProgrammatischCode-checksrequest.isUserInRole("ADMIN")
JAASPluggable auth-frameworkEnterprise SSO
HTTPS/SSLTransport-encryptieBeveiligde login

15. Application Server vs Web Server

KenmerkApp Server (WebLogic, WildFly)Web Server (Apache HTTPD, Nginx)
EJB-ondersteuningJaNee
TransactiebeheerIngebouwdGeen
JMSBeschikbaarNee
ComplexiteitHoogLaag

16. Sessiebeheertechnieken

MethodeVoordelenNadelen
CookiesEenvoudig, automatischKan uitgeschakeld zijn
URL RewritingWerkt zonder cookiesLange URLs, security-risico
HttpSessionEenvoudige API, server-sideVerbruikt geheugen
Hidden FieldsEenvoudig voor formulierenAlleen POST

Bankieren: HttpSession + korte timeout.

17. Goede J2EE-ontwerpkenmerken

  • Duidelijke scheiding: MVC, DAO, Service-lagen
  • Standaardpatronen: Front Controller, Business Delegate, Service Locator, DAO
  • Hoge cohesie, lage koppeling
  • Robuuste exception-handling & logging
  • Configureerbaar, omgeving-agnostische deployment

18. EL & JSTL: Scriptlets verminderen

EL: ${customer.name}
JSTL Loop:

<c:forEach var="item" items="${cart.items}"> ${item.name} </c:forEach>

Schonere pagina's; frontend-devs hebben minder Java-kennis nodig.

19. Veelvoorkomende J2EE-ontwerppatronen

PatroonVoordeel
Front ControllerGecentraliseerde request-afhandeling
DAOOntkoppelt persistentie
Business DelegateVermindert presentatie-complexiteit
Service LocatorCachet JNDI-lookups
MVCGeorganiseerde UI-architectuur

20. Connection Pooling: Essentieel voor Prestaties

Hergebruikt vooraf vastgelegde DB-verbindingen via DataSource (JNDI). Container beheert levenscyclus, concurrentie, sizing. Voordelen: snellere toegang, lager resourcegebruik, betere schaalbaarheid, betrouwbaarheid.

21. Deployment Descriptor (web.xml) Relevantie

Gecentraliseerde config voor servlet-mappings, filters, listeners, security-constraints, sessie-config. Nog steeds vitaal voor env-specifieke overrides, auditing, strikte security-mappings – veel enterprises prefereren boven annotaties alleen.

22. Stateless vs Stateful Session Beans

AttribuutStatelessStateful
StateGeenClient-specifiek
SchaalbaarheidHoogMatig
Use CaseBetaling, validatieWinkelwagentje, wizard
LevenscyclusKortLang, passivatie/activatie

23. Interceptors: Modulaire Cross-Cutting Logica

@Interceptor + @InterceptorBinding voor logging, auditing, tx-checks. Voordelen: modulair, verminderde boilerplate, configureerbare prioriteit.

24. Resource-injectie

AnnotatieInjecteertVoorbeeld
@ResourceDataSource, JMS, Env Entry@Resource DataSource ds;
@EJBEnterprise Beans@EJB OrderService svc;
@PersistenceContextJPA EntityManager@PersistenceContext EntityManager em;

Elimineert handmatige JNDI-lookup; schoner, testbaarder.

25. JCA: Legacy-systeemintegratie

Gestandaardiseerd framework voor verbinden met ERP, mainframes, messaging via resource-adapters die transacties, beveiliging, pooling beheren. Ondersteunt inbound (event-driven) en outbound-communicatie.

Voorbeeld: Bankieren JCA-adapter → COBOL-kern voor klantrecords.

26. Class Loaders & Deployment-isolatie

Per-app classloaders isoleren dependencies, vermijden conflicten, enable hot-deployment, controleren shared-library-zichtbaarheid. Lossen ClassNotFoundException / versie-conflicten op.

27. Schaalbaarheidsfactoren & Prestatie-tuning

FactorImpact
SessiegrootteGroter = minder schaalbaar
DB-indexeringSlecht = hoge latentie
Caching-strategieVermindert dure operaties
Pool-configControleert concurrentie/doorvoer

Tunen: stateless EJBs, async messaging (JMS), thread-pools, JVM GC, profileren (JProfiler).

28. Message-Driven Beans (MDB)

KenmerkMDBSession Bean
InteractieAsync (JMS)Sync
InterfacesGeenLocal/Remote
StateStatelessKan stateful zijn

Event-driven ontkoppeling.

29. JPA vs Entity Beans

  • Simpelere API/annotaties (@Entity, EntityManager)
  • Lazy loading, caching, betere prestaties
  • Vendor-onafhankelijkheid (Hibernate, EclipseLink)
  • Intuïtieve object-relationele mapping

30. Servlet-naar-EJB-communicatie & patronen

Via JNDI-lookup of @EJB-injectie. Patronen om te ontkoppelen:

PatroonDoel
Business DelegateAbstraheert EJB-complexiteit
Service LocatorCachet JNDI-lookups
Session FacadeGrofkorrelige operaties

31. Front Controller-patroon

Enkele controller (ActionServlet/DispatcherServlet) centraliseert request-dispatching, auth, logging, view-selectie. Struts ActionServlet, Spring MVC DispatcherServlet implementeren dit.

32. EJB-levenscyclus & Resourcebeheer

Bean-typeStadia
StatelessInstantiëren → Pool → Methode-aanroepen → Vernietigen
StatefulInstantiëren → Methode-aanroepen → Passiveren → Activeren → Vernietigen
MDBInstantiëren → Berichtverwerking → Vernietigen

Container-pooling optimaliseert resourcegebruik onder belasting.

33. Prestatieverbeteringstechnieken

  • Caching (lokaal/gedistribueerd: JCache, Redis)
  • SQL-optimalisatie, indexering
  • HTTP-sessiegrootte/levenscyclus verkleinen
  • Load-balancing, clustering
  • JVM heap/GC-tuning
  • Async JMS voor zware rapporten

34. WAR vs EAR Packaging

KenmerkWAREAR
Web-componentenJaJa
EJB-modulesNeeJa
Geschikt voorWeb-appsEnterprise-apps
DeploymentEnkel moduleMulti-module

35. Logging-frameworks & selectiefactoren

JUL, Log4j2, Logback, server-geïntegreerd. Kies op basis van: async-appenders (Logback uitstekend), config-flexibiliteit (XML/JSON/Properties), server-integratie, prestaties onder concurrentie.

36. Listeners in Applicatie-levenscyclus

ListenerDoel
ServletContextListenerApp-opstart/afsluit init
HttpSessionListenerSessie create/destroy tracking
ServletRequestListenerRequest-logging/tracking

Event-driven monitoring zonder business-code aan te raken.

37. Container-kenmerken & Enterprise-services

  • Geautomatiseerd levenscyclusbeheer
  • Ingebouwd: beveiliging, transacties, threading, pooling
  • Integratie: messaging, persistentie, naming
  • Config-gedreven via descriptors/annotaties

EJB-container rolt automatisch tx terug bij exception.

38. Clustering: Betrouwbaarheid & Schaalbaarheid

VoordeelBeschrijving
Hoge BeschikbaarheidGeen single point of failure
Load BalancingDistribueer requests
FailoverNaadloze crash-herstel
SchaalbaarheidVoeg nodes toe naarmate traffic groeit

Sessie-replicatie behoudt gebruikersstate. Vliegticketing piekt tijdens feestdagen.

39. Service Locator-patroon

Centraliseert/cachet JNDI-lookups voor EJBs, DataSources, JMS. Lost op: herhaalde lookup-overhead, complexe naming-logica, enkel toegangspunt.

40. Stateful Session Bean-nadelen & mitigaties

NadeelMitigatie
Geheugen-overheadMinimaliseer sessiedata
Clustering-complexiteitSessie-replicatie inschakelen
Langere levenscyclusAlleen gebruiken wanneer conversationele state vereist

🔍 Real-World Scenario Vragen (Gedragsmatig & Situatiegericht)

Volledige zinnen; vereiste zinnen gebruikt precies één keer elk.

1. Kerncomponenten van J2EE-architectuur?

Verwacht: Multi-tier, majeure API's.
Antwoord: "De kerncomponenten van de J2EE-architectuur omvatten de client-tier, web-tier, business-tier en enterprise information system-tier. Deze lagen werken samen met behulp van technologieën zoals Servlets, JSP, EJB, JMS en JDBC om een schaalbare en modulaire enterprise-oplossing te bieden."

2. Servlets vs JSP-verschil?

Verwacht: Request-afhandeling vs view-rendering.
Antwoord: "Servlets worden primair gebruikt voor request-verwerking en business-logica, terwijl JSP ontworpen is om de creatie van dynamische webcontent te vereenvoudigen door Java in HTML in te sluiten. JSP wordt typisch gebruikt voor presentatielogica terwijl Servlets complexe verwerking afhandelen."

3. Transactiebeheer in J2EE?

Verwacht: JTA, CMT vs BMT.
Antwoord: "J2EE-applicaties gebruiken de Java Transaction API om gedistribueerde transacties te beheren. Container-managed transacties vereenvoudigen dit proces door de applicatieserver de grenzen te laten controleren, terwijl bean-managed transacties ontwikkelaars meer granulare controle geven."

4. Uitdagende J2EE-app & succesfactoren?

Verwacht: Probleemoplossing, teamwerk.
Antwoord: "In mijn vorige rol werkte ik aan een grootschalige financiële applicatie die strikte beveiliging en hoge beschikbaarheid vereist. Ik zorgde voor succes door EJBs te implementeren voor business-logica, connection-pooling te optimaliseren, en nauw samen te werken met het beveiligingsteam om aan compliance-vereisten te voldoen."

5. Beveiligde J2EE-app ontwerpen voor gevoelige data?

Verwacht: Auth, authz, encryptie, secure coding.
Antwoord: "Ik zou JAAS gebruiken voor authenticatie en autorisatie, HTTPS implementeren voor beveiligde communicatie, alle input valideren, en gevoelige data at-rest versleutelen. Ik zou ook ervoor zorgen dat de applicatieserver gehardend is volgens best practices."

6. Productieprobleem troubleshooten in J2EE?

Verwacht: Druk-afhandeling, root-cause-analyse.
Antwoord: "Op een eerdere positie onderzocht ik een prestatiedegraderingsprobleem door threaddumps te analyseren en JDBC-verbindingsgebruik te reviewen. Zodra ik een connection-leak identificeerde, implementeerde ik correcte resource-cleanup en voegde monitoring-alerts toe om herhaling te voorkomen."

7. EJBs ondersteunend schaalbaarheid & onderhoudbaarheid?

Verwacht: Pooling, levenscyclus, modulariteit.
Antwoord: "EJBs ondersteunen schaalbaarheid door container-gebeheerde pooling, asynchrone verwerking en gedistribueerde deployment. Ze verbeteren ook onderhoudbaarheid door business-logica te scheiden van presentatie en infrastructuur-concerns."

8. Trage DB-prestaties troubleshooten stappen?

Verwacht: Logische bottleneck-analyse.
Antwoord: "Ik zou beginnen met SQL-execution-plannen analyseren, controleren op ontbrekende indexen, en connection-pool-configuraties reviewen. Ik zou daarna kijken naar caching-strategieën met J2EE-frameworks om herhaalde queries te verminderen."

9. Concurrerende prioriteiten over J2EE-projecten?

Verwacht: Tijdmanagement, communicatie.
Antwoord: "In mijn laatste rol beheerde ik concurrerende taken door business-impact te beoordelen, duidelijk te communiceren met stakeholders, en complexe ontwikkelingstaken op te breken in beheersbare segmenten. Dit stelde me in staat om consistent te leveren zonder kwaliteit op te offeren."

10. Legacy J2EE-migratie naar Jakarta EE/modern?

Verwacht: Moderniseringsstrategie, containerisatie.
Antwoord: "Ik zou beginnen met afgeschreven API's beoordelen, bibliotheken updaten naar Jakarta EE-pakketten, en de applicatie modulair maken. Op mijn vorige werk gebruikte ik deze aanpak om applicaties met succes te migreren naar nieuwere servers terwijl downtime verminderd werd."

Java

  1. Java 9 Multi-Resolution Image API: Responsive Graphics vereenvoudigen
  2. Een char omzetten naar een String in Java – Praktische voorbeelden en best practices
  3. Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
  4. Java-printen meesteren: print(), println() en printf() gebruiken
  5. Top 20 Neo4j-interviewvragen en antwoorden voor 2026
  6. Polymorfisme in Java begrijpen: Concepten en Praktisch Gebruik
  7. Java NavigableMap beheersen: Features, methoden en TreeMap-implementatie
  8. Java ConcurrentHashMap beheersen: Operaties, voorbeelden en best practices
  9. Java primitieve datatypes: complete gids met voorbeelden
  10. Java-commentaar: typen, gebruik en best practices
  11. Java 9 verbetert @Deprecated Annotation: forRemoval en betere richtlijnen