<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://tuanhnet.hashnode.dev/series-of-backend-interview-questions-part-6</loc>
    <lastmod>2026-02-07T09:00:46.254Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/series-of-interview-questions-for-backend-developers-part-4</loc>
    <lastmod>2026-02-05T09:00:41.643Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/series-of-questions-in-backend-developer-interviews-part-3</loc>
    <lastmod>2026-02-04T09:00:42.918Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/series-of-backend-interview-questions-for-java-developers-part-2</loc>
    <lastmod>2026-02-03T09:00:14.956Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/series-of-interview-questions-for-backend-developers-part-1</loc>
    <lastmod>2026-02-02T09:00:41.100Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-see-which-developers-have-done-the-most-work-in-azure-devops-and-git</loc>
    <lastmod>2026-02-01T09:00:14.271Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-that-make-enterprise-apps-maintainable-the-most-used-design-patterns-in-java-web-development</loc>
    <lastmod>2026-01-31T09:00:13.223Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/tips-to-apply-the-best-object-oriented-design-practices-in-java-for-real-world-projects</loc>
    <lastmod>2026-01-30T09:01:01.942Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/ways-to-determine-the-most-recent-date-value-among-multiple-date-variables-in-java</loc>
    <lastmod>2026-01-29T09:00:18.022Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/ways-to-display-the-last-two-digits-of-the-current-year-in-java-explained-with-real-code-and-practical-thinking</loc>
    <lastmod>2026-01-28T09:00:31.933Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/facts-about-how-java-week-year-actually-works-and-why-it-sometimes-surprises-you</loc>
    <lastmod>2026-01-27T09:00:38.289Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-test-the-main-class-of-a-spring-boot-application-effectively</loc>
    <lastmod>2026-01-26T09:00:16.758Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/the-most-common-use-for-aop-in-spring-projects-explained-with-a-real-java-example</loc>
    <lastmod>2026-01-25T09:00:24.435Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/understanding-the-order-of-precedence-when-multiple-spring-environment-profiles-are-active</loc>
    <lastmod>2026-01-24T09:00:17.755Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-processing-a-sorted-array-is-faster-than-processing-an-unsorted-array-and-what-java-reveals-about-it</loc>
    <lastmod>2026-01-23T09:00:31.307Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-spring-boot-3-changed-websecurityconfigureradapter-and-how-to-migrate-gracefully</loc>
    <lastmod>2026-01-22T09:00:59.278Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-master-low-level-design-in-oop-understanding-association-aggregation-composition-and-dependency-with-uml-and-java-examples-for-interview</loc>
    <lastmod>2026-01-21T09:00:22.885Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-decide-between-interface-and-abstract-class-in-object-oriented-design-and-how-to-prevent-god-classes-and-tight-coupling</loc>
    <lastmod>2026-01-20T09:00:13.027Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-run-java-with-lwjgl-and-openglmetal-on-macos-compatibility-challenges-and-crash-fixes</loc>
    <lastmod>2026-01-19T09:00:41.596Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-opening-too-many-filewriters-in-java-doesnt-always-trigger-too-many-open-files-and-how-to-manage-io-resources-safely</loc>
    <lastmod>2026-01-18T09:00:46.331Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-securely-connect-java-applications-to-cloud-databases-using-service-accounts-and-modern-authentication</loc>
    <lastmod>2026-01-17T09:00:18.068Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-integrate-authentication-and-authorization-in-spring-boot-using-keycloak-admin-client-and-resteasy</loc>
    <lastmod>2026-01-16T09:00:36.904Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-configure-cache-control-and-http-headers-for-authenticated-endpoints-in-spring-boot</loc>
    <lastmod>2026-01-15T09:00:14.288Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-implement-multi-tenancy-in-spring-boot-shared-database-and-schema-strategies</loc>
    <lastmod>2026-01-14T09:00:53.848Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-flyway-upgrade-from-85x-to-11x-may-break-your-build-and-how-to-fix-it</loc>
    <lastmod>2026-01-13T09:00:57.241Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-logback-throws-simpleloggercontext-cannot-be-cast-to-loggercontext-after-migrating-to-graalvm</loc>
    <lastmod>2026-01-12T09:00:13.881Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-for-applying-cqrs-with-cassandra-in-spring-boot-designing-multi-region-replication</loc>
    <lastmod>2026-01-11T09:00:33.796Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/compare-spring-modulith-vs-hexagonal-architecture-before-your-next-refactor</loc>
    <lastmod>2026-01-10T09:00:26.385Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-map-request-dtos-commands-and-domain-models-in-ddd-hexagonal-architecture</loc>
    <lastmod>2026-01-09T09:00:47.989Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/when-you-shouldnt-migrate-to-graalvm-practical-edge-cases-techniques-and-java-examples</loc>
    <lastmod>2026-01-07T09:00:36.930Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-compare-performance-between-graalvm-native-image-and-traditional-jvm-in-microservices</loc>
    <lastmod>2026-01-06T09:00:42.650Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-for-filealreadyexistsexception-when-building-aot-tests-with-graalvm</loc>
    <lastmod>2026-01-05T09:00:45.870Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-for-implementing-server-sent-events-sse-with-kotlin-and-spring-boot</loc>
    <lastmod>2026-01-04T09:00:47.220Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-close-server-sent-events-sse-connections-cleanly-during-graceful-shutdown-in-java</loc>
    <lastmod>2026-01-03T09:00:27.875Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-link-multiple-oauth2-clients-to-the-same-user-in-spring-security</loc>
    <lastmod>2026-01-01T09:00:47.042Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-your-api-returns-403-with-a-valid-token-and-how-to-fix-missing-role-mapping</loc>
    <lastmod>2025-12-31T09:00:43.670Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-your-ping-must-be-wired-to-springs-dispatcherservlet-or-youll-end-up-healthy-but-invisible</loc>
    <lastmod>2025-12-30T09:00:15.449Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/securityfilterchain-vs-managementwebsecurityautoconfiguration-what-actually-runs-first-where-and-why</loc>
    <lastmod>2025-12-29T09:00:24.729Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-persist-and-retrieve-clientid-in-spring-securitys-requestcache-during-oauth-redirects</loc>
    <lastmod>2025-12-28T09:00:19.231Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-understand-spring-authorization-server-authenticationfrom-browser-redirects-to-token-signing</loc>
    <lastmod>2025-12-27T09:00:17.423Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-aggregate-multiple-chunks-in-spring-batch-for-high-performance-write-operations</loc>
    <lastmod>2025-12-26T09:00:42.276Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/spring-batch-vs-spring-integration-for-building-robust-pipelineswhich-one-should-you-use-and-why</loc>
    <lastmod>2025-12-25T09:00:14.320Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-convert-a-database-polling-service-into-a-spring-integration-dsl-integrationflow-without-breaking-your-weekend</loc>
    <lastmod>2025-12-21T09:00:42.281Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-migrate-from-hibernate-5-to-hibernate-6-in-spring-boot-35x</loc>
    <lastmod>2025-12-20T09:00:44.861Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-to-create-a-custom-postgresql-dialect-hibernate-6-and-make-spring-boot-recognize-it</loc>
    <lastmod>2025-12-19T09:00:41.020Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/spring-data-jpa-and-spring-data-jdbc</loc>
    <lastmod>2025-12-18T09:00:32.872Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-youre-seeing-unable-to-determine-dialect-without-jdbc-metadata-in-hibernate-and-the-exact-ways-to-make-it-disappear</loc>
    <lastmod>2025-12-17T09:00:57.087Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-map-subclasses-in-jpa-using-inheritancestrategy-joined</loc>
    <lastmod>2025-12-16T09:00:29.140Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-to-update-a-single-field-using-put-in-spring-data-jpa-without-overwriting-the-whole-entity</loc>
    <lastmod>2025-12-14T09:00:48.879Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-embeddedid-and-mapsid-work-together-to-handle-complex-composite-keys-in-jpa</loc>
    <lastmod>2025-12-13T09:00:47.449Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>