blockmine 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +59 -0
  55. package/.claude/settings.local.json +36 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  454. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
@@ -0,0 +1,474 @@
1
+ # Technical Interview Question Banks
2
+
3
+ **Comprehensive question banks for interviewing infrastructure engineers across domains.**
4
+
5
+ ---
6
+
7
+ ## Interview Philosophy
8
+
9
+ **What we're assessing:**
10
+ 1. **Technical depth:** Do they know their domain?
11
+ 2. **Problem-solving:** How do they approach problems?
12
+ 3. **Communication:** Can they explain complex topics clearly?
13
+ 4. **Trade-offs:** Do they understand the "why" behind decisions?
14
+ 5. **Growth:** Do they learn and adapt?
15
+
16
+ **What we're NOT doing:**
17
+ - Gotcha questions or trivia
18
+ - Whiteboard coding (unless role-specific)
19
+ - Memorization tests
20
+ - Puzzle questions with no real-world relevance
21
+
22
+ ---
23
+
24
+ ## Platform Engineering Questions
25
+
26
+ ### Kubernetes
27
+
28
+ **Junior/Mid-level (L3-L4):**
29
+
30
+ 1. **"Explain what happens when you run `kubectl apply -f deployment.yaml`"**
31
+ - Looking for: Understanding of K8s API, controllers, reconciliation loop
32
+ - Follow-up: "What if the deployment already exists?"
33
+
34
+ 2. **"How does service discovery work in Kubernetes?"**
35
+ - Looking for: Services, DNS, kube-proxy, networking basics
36
+ - Follow-up: "What's the difference between ClusterIP, NodePort, and LoadBalancer?"
37
+
38
+ 3. **"You deploy a new version of your app and it's crashlooping. How do you debug?"**
39
+ - Looking for: kubectl logs, describe, events; systematic approach
40
+ - Follow-up: "What if logs don't show anything useful?"
41
+
42
+ 4. **"What's the difference between a Deployment, StatefulSet, and DaemonSet?"**
43
+ - Looking for: Use cases, stateful vs stateless, scheduling
44
+ - Follow-up: "When would you use each one?"
45
+
46
+ **Senior (L5):**
47
+
48
+ 5. **"Design a multi-tenant Kubernetes architecture where tenants are isolated"**
49
+ - Looking for: Namespaces, RBAC, network policies, resource quotas
50
+ - Follow-up: "How do you handle shared resources like storage?"
51
+
52
+ 6. **"Explain Kubernetes networking in depth"**
53
+ - Looking for: CNI, pod-to-pod, pod-to-service, ingress/egress
54
+ - Follow-up: "How does service mesh fit into this?"
55
+
56
+ 7. **"Your K8s cluster is running out of capacity. Walk me through scaling options"**
57
+ - Looking for: Horizontal pod autoscaling, cluster autoscaling, node sizing
58
+ - Follow-up: "What metrics would you use for autoscaling?"
59
+
60
+ 8. **"Design a GitOps workflow for managing 100+ K8s clusters"**
61
+ - Looking for: ArgoCD/Flux, Git as source of truth, promotion strategies
62
+ - Follow-up: "How do you handle secrets and environment-specific config?"
63
+
64
+ **Staff+ (L6+):**
65
+
66
+ 9. **"Design a Kubernetes platform for 200 engineers across 50 teams"**
67
+ - Looking for: Multi-tenancy, self-service, guardrails, cost management
68
+ - Follow-up: "How do you prevent one tenant from impacting others?"
69
+
70
+ 10. **"Explain your approach to Kubernetes upgrades across 20+ clusters"**
71
+ - Looking for: Upgrade strategy, testing, rollback, minimal downtime
72
+ - Follow-up: "What's your process for testing breaking changes?"
73
+
74
+ ### Infrastructure as Code
75
+
76
+ **Junior/Mid-level (L3-L4):**
77
+
78
+ 11. **"What is Terraform state and why does it matter?"**
79
+ - Looking for: State management, locking, backends, collaboration
80
+ - Follow-up: "What problems arise with state management?"
81
+
82
+ 12. **"How do you structure Terraform code for multiple environments?"**
83
+ - Looking for: Workspaces, modules, separate state files, variables
84
+ - Follow-up: "What are the trade-offs of each approach?"
85
+
86
+ 13. **"Walk me through how you would provision a VPC with Terraform"**
87
+ - Looking for: Resources, dependencies, variables, outputs
88
+ - Follow-up: "How do you handle CIDR ranges across environments?"
89
+
90
+ **Senior (L5):**
91
+
92
+ 14. **"Design a Terraform module structure for a large organization"**
93
+ - Looking for: Module composition, versioning, testing, documentation
94
+ - Follow-up: "How do you prevent breaking changes?"
95
+
96
+ 15. **"Compare Terraform vs Pulumi vs CloudFormation - when would you use each?"**
97
+ - Looking for: Trade-offs, use cases, team skills, cloud provider lock-in
98
+ - Follow-up: "How do you migrate between tools?"
99
+
100
+ 16. **"How do you handle secrets and sensitive data in IaC?"**
101
+ - Looking for: Separate secret management, encryption, vaults, never commit
102
+ - Follow-up: "What about API keys needed during provisioning?"
103
+
104
+ **Staff+ (L6+):**
105
+
106
+ 17. **"Design an IaC strategy for multi-cloud (AWS + Azure + GCP)"**
107
+ - Looking for: Abstraction levels, provider selection, common patterns
108
+ - Follow-up: "How do you prevent vendor lock-in while staying pragmatic?"
109
+
110
+ 18. **"Explain your approach to infrastructure drift detection and remediation"**
111
+ - Looking for: Drift detection tools, CI/CD integration, enforcement strategies
112
+ - Follow-up: "How do you balance manual changes vs strict enforcement?"
113
+
114
+ ### CI/CD
115
+
116
+ **Junior/Mid-level (L3-L4):**
117
+
118
+ 19. **"Design a CI/CD pipeline for a web application"**
119
+ - Looking for: Build, test, deploy stages, artifact storage, environments
120
+ - Follow-up: "How do you handle database migrations?"
121
+
122
+ 20. **"Explain the difference between continuous delivery and continuous deployment"**
123
+ - Looking for: Manual approval gate vs fully automated
124
+ - Follow-up: "When would you choose one over the other?"
125
+
126
+ 21. **"How do you implement blue-green deployment?"**
127
+ - Looking for: Two environments, traffic switching, rollback capability
128
+ - Follow-up: "What are the challenges and trade-offs?"
129
+
130
+ **Senior (L5):**
131
+
132
+ 22. **"Design a deployment pipeline with staging, canary, and production"**
133
+ - Looking for: Progressive rollout, metrics-based promotion, automated rollback
134
+ - Follow-up: "What metrics would trigger rollback?"
135
+
136
+ 23. **"How do you secure a CI/CD pipeline?"**
137
+ - Looking for: Secrets management, access control, image scanning, SBOM
138
+ - Follow-up: "Where are the most common security vulnerabilities?"
139
+
140
+ 24. **"Design a pipeline for a monorepo with 20 services"**
141
+ - Looking for: Selective builds, dependency graph, parallel execution
142
+ - Follow-up: "How do you optimize build time?"
143
+
144
+ **Staff+ (L6+):**
145
+
146
+ 25. **"Design a deployment system for 100+ microservices"**
147
+ - Looking for: Self-service, templates, safety rails, observability
148
+ - Follow-up: "How do you enforce standards without blocking teams?"
149
+
150
+ 26. **"Explain your strategy for handling breaking changes in shared services"**
151
+ - Looking for: API versioning, gradual migration, consumer coordination
152
+ - Follow-up: "How do you deprecate old versions?"
153
+
154
+ ---
155
+
156
+ ## SRE Questions
157
+
158
+ ### Incident Response
159
+
160
+ **All levels:**
161
+
162
+ 27. **"It's 3 AM. You get paged: API p99 latency jumped from 100ms to 5s. Walk me through your response."**
163
+ - Looking for: Systematic approach, triage, mitigation vs resolution
164
+ - L3-L4: Follow runbook, escalate appropriately
165
+ - L5: Lead investigation, coordinate response
166
+ - L6+: Design systems to prevent this class of incident
167
+
168
+ 28. **"After resolving an incident, what do you do?"**
169
+ - Looking for: Postmortem, action items, learning, prevention
170
+ - Follow-up: "How do you ensure action items get completed?"
171
+
172
+ 29. **"Describe a time you debugged a complex production issue"**
173
+ - Looking for: Problem-solving approach, tools used, collaboration
174
+ - Follow-up: "What did you learn? How did you prevent recurrence?"
175
+
176
+ ### SLO/SLI/SLA
177
+
178
+ **Junior/Mid-level (L3-L4):**
179
+
180
+ 30. **"Explain the difference between SLI, SLO, and SLA"**
181
+ - Looking for: Clear definitions, examples
182
+ - SLI: Metric (e.g., p99 latency)
183
+ - SLO: Target (e.g., p99 < 200ms, 99.9% of time)
184
+ - SLA: Contract with customer (external)
185
+
186
+ 31. **"How would you choose SLIs for a web API?"**
187
+ - Looking for: Availability, latency, throughput, error rate
188
+ - Follow-up: "Which percentiles matter? Why?"
189
+
190
+ **Senior (L5):**
191
+
192
+ 32. **"Design SLOs for a payment processing service"**
193
+ - Looking for: Business alignment, measurable, realistic, four golden signals
194
+ - Follow-up: "How do you set targets? What's the error budget?"
195
+
196
+ 33. **"Your SLO is being breached. What do you do?"**
197
+ - Looking for: Incident response, communication, prioritization
198
+ - Follow-up: "How do you use error budgets to make decisions?"
199
+
200
+ **Staff+ (L6+):**
201
+
202
+ 34. **"Design an org-wide SLO framework for 50+ services"**
203
+ - Looking for: Standardization, tooling, measurement, reporting
204
+ - Follow-up: "How do you handle services with different criticality?"
205
+
206
+ ### Monitoring & Observability
207
+
208
+ **Junior/Mid-level (L3-L4):**
209
+
210
+ 35. **"What's the difference between metrics, logs, and traces?"**
211
+ - Looking for: Three pillars of observability, use cases for each
212
+ - Follow-up: "When would you use each one?"
213
+
214
+ 36. **"How do you design an alert that doesn't cause alert fatigue?"**
215
+ - Looking for: Actionable, paged only for real issues, clear runbook
216
+ - Follow-up: "What makes a bad alert?"
217
+
218
+ **Senior (L5):**
219
+
220
+ 37. **"Explain distributed tracing and why it's useful"**
221
+ - Looking for: Trace context, spans, service dependencies, latency debugging
222
+ - Follow-up: "How do you implement tracing in microservices?"
223
+
224
+ 38. **"Design a monitoring strategy for a microservices architecture"**
225
+ - Looking for: Service-level metrics, inter-service traces, log aggregation
226
+ - Follow-up: "How do you handle cardinality explosion?"
227
+
228
+ **Staff+ (L6+):**
229
+
230
+ 39. **"Design an observability platform for the entire organization"**
231
+ - Looking for: Tool selection, cost management, adoption strategy
232
+ - Follow-up: "How do you balance cost vs. visibility?"
233
+
234
+ ---
235
+
236
+ ## Security Engineering Questions
237
+
238
+ ### Application Security
239
+
240
+ **Junior/Mid-level (L3-L4):**
241
+
242
+ 40. **"What's the OWASP Top 10? Pick one and explain it."**
243
+ - Looking for: Awareness of common vulnerabilities, SQL injection, XSS, etc.
244
+ - Follow-up: "How do you prevent this vulnerability?"
245
+
246
+ 41. **"Explain how you'd implement secrets management for applications"**
247
+ - Looking for: Don't hardcode, use vault/secrets manager, rotation
248
+ - Follow-up: "What about local development?"
249
+
250
+ 42. **"What's SAST vs DAST vs SCA?"**
251
+ - Looking for: Static vs dynamic vs supply chain analysis
252
+ - Follow-up: "When in the pipeline should each run?"
253
+
254
+ **Senior (L5):**
255
+
256
+ 43. **"Design a secure CI/CD pipeline"**
257
+ - Looking for: Image scanning, secrets scanning, SBOM, signed artifacts
258
+ - Follow-up: "How do you handle vulnerabilities found in production?"
259
+
260
+ 44. **"Explain Zero Trust architecture"**
261
+ - Looking for: Never trust, always verify, micro-segmentation, identity-based
262
+ - Follow-up: "How do you implement this in practice?"
263
+
264
+ 45. **"How would you secure a Kubernetes cluster?"**
265
+ - Looking for: RBAC, network policies, pod security policies, image scanning
266
+ - Follow-up: "What about secrets management?"
267
+
268
+ **Staff+ (L6+):**
269
+
270
+ 46. **"Design a security program for a 200-engineer organization"**
271
+ - Looking for: AppSec, infrastructure security, compliance, training
272
+ - Follow-up: "How do you balance security vs developer velocity?"
273
+
274
+ 47. **"Explain your approach to compliance automation (SOC2, ISO 27001)"**
275
+ - Looking for: Policy as code, evidence collection, continuous compliance
276
+ - Follow-up: "How do you handle exceptions and special cases?"
277
+
278
+ ### Threat Modeling & Incident Response
279
+
280
+ **All levels:**
281
+
282
+ 48. **"Walk me through how you'd threat model this system: [present architecture]"**
283
+ - Looking for: STRIDE or similar framework, systematic approach
284
+ - Follow-up: "What mitigations would you recommend?"
285
+
286
+ 49. **"You discover a critical vulnerability in production. What do you do?"**
287
+ - Looking for: Assess risk, patch quickly, communicate, postmortem
288
+ - Follow-up: "How do you balance speed vs thoroughness?"
289
+
290
+ ---
291
+
292
+ ## Cloud Engineering Questions
293
+
294
+ ### AWS
295
+
296
+ **Junior/Mid-level (L3-L4):**
297
+
298
+ 50. **"Explain the difference between EC2, ECS, and Lambda"**
299
+ - Looking for: VMs vs containers vs serverless, use cases
300
+ - Follow-up: "When would you use each?"
301
+
302
+ 51. **"How do you design a VPC?"**
303
+ - Looking for: Public/private subnets, NAT gateway, security groups, CIDR
304
+ - Follow-up: "How do you handle multi-AZ?"
305
+
306
+ 52. **"What's the difference between S3 storage classes?"**
307
+ - Looking for: Standard, IA, Glacier - cost vs access frequency
308
+ - Follow-up: "How do you optimize storage costs?"
309
+
310
+ **Senior (L5):**
311
+
312
+ 53. **"Design a highly available, multi-region architecture on AWS"**
313
+ - Looking for: Route53, ALB, RDS multi-AZ, data replication
314
+ - Follow-up: "How do you handle failover?"
315
+
316
+ 54. **"Explain your approach to AWS cost optimization"**
317
+ - Looking for: Right-sizing, reserved instances, spot, S3 lifecycle
318
+ - Follow-up: "How do you track and allocate costs?"
319
+
320
+ 55. **"Design a zero-trust network on AWS"**
321
+ - Looking for: Private subnets, VPC endpoints, IAM, encryption
322
+ - Follow-up: "How do you handle third-party integrations?"
323
+
324
+ **Staff+ (L6+):**
325
+
326
+ 56. **"Design a multi-account AWS strategy for an enterprise"**
327
+ - Looking for: AWS Organizations, account structure, IAM federation
328
+ - Follow-up: "How do you handle centralized logging and security?"
329
+
330
+ ### Multi-Cloud
331
+
332
+ **Senior+ (L5+):**
333
+
334
+ 57. **"Compare AWS, Azure, and GCP - strengths and weaknesses"**
335
+ - Looking for: Realistic trade-offs, not just "AWS is best"
336
+ - Follow-up: "When would you choose Azure over AWS?"
337
+
338
+ 58. **"Design a multi-cloud strategy to avoid vendor lock-in"**
339
+ - Looking for: Abstraction layers, Terraform, Kubernetes as common platform
340
+ - Follow-up: "What are the costs and trade-offs of multi-cloud?"
341
+
342
+ ---
343
+
344
+ ## Behavioral/Situational Questions
345
+
346
+ ### For All Roles
347
+
348
+ **Collaboration:**
349
+ 59. **"Tell me about a time you disagreed with a technical decision. How did you handle it?"**
350
+ - Looking for: Respectful disagreement, data-driven argument, willingness to disagree and commit
351
+
352
+ 60. **"Describe a time you had to work with a difficult teammate"**
353
+ - Looking for: Empathy, communication, conflict resolution
354
+
355
+ **Problem-Solving:**
356
+ 61. **"Tell me about the most complex technical problem you've solved"**
357
+ - Looking for: Analytical thinking, systematic approach, persistence
358
+
359
+ 62. **"Describe a time you made a technical decision that turned out to be wrong. What did you learn?"**
360
+ - Looking for: Ownership, learning, adaptation
361
+
362
+ **Leadership:**
363
+ 63. **"Tell me about a time you mentored someone"**
364
+ - Looking for: Teaching ability, patience, investment in others
365
+
366
+ 64. **"Describe a situation where you improved a process or system"**
367
+ - Looking for: Initiative, impact, follow-through
368
+
369
+ **Growth:**
370
+ 65. **"How do you stay current with technology?"**
371
+ - Looking for: Continuous learning, experimentation, community engagement
372
+
373
+ 66. **"Tell me about a time you had to learn something completely new under tight deadline"**
374
+ - Looking for: Learning agility, resourcefulness, grit
375
+
376
+ ---
377
+
378
+ ## System Design Questions
379
+
380
+ ### Platform Engineering
381
+
382
+ 67. **"Design a deployment system for 100 microservices"**
383
+ - Looking for: GitOps, progressive rollout, self-service, observability
384
+ - 30-40 min discussion, whiteboard/diagram
385
+
386
+ 68. **"Design a developer platform that enables teams to deploy to K8s"**
387
+ - Looking for: Abstractions, templates, guardrails, documentation
388
+ - Assess: Architecture thinking, trade-offs, user empathy
389
+
390
+ ### SRE
391
+
392
+ 69. **"Design a monitoring and alerting system for a microservices application"**
393
+ - Looking for: Service mesh observability, distributed tracing, SLO-based alerting
394
+ - Assess: Observability best practices, scalability
395
+
396
+ 70. **"Design a disaster recovery strategy for this system: [present architecture]"**
397
+ - Looking for: RTO/RPO, backup strategy, runbooks, testing
398
+ - Assess: Risk assessment, operational thinking
399
+
400
+ ### Security
401
+
402
+ 71. **"Design a secrets management system for 50+ services"**
403
+ - Looking for: Vault/secrets manager, rotation, access control, audit
404
+ - Assess: Security depth, operational considerations
405
+
406
+ 72. **"Design a security scanning pipeline for containers"**
407
+ - Looking for: Image scanning, CVE management, policy enforcement
408
+ - Assess: Security + developer experience balance
409
+
410
+ ---
411
+
412
+ ## Red Flags in Answers
413
+
414
+ Watch for:
415
+ - **Blaming others:** "My team didn't understand Kubernetes"
416
+ - **No trade-offs:** Everything is "the best" without nuance
417
+ - **No depth:** Surface-level answers, can't go deeper when probed
418
+ - **Arrogance:** "I'm the only one who could do it"
419
+ - **No learning:** Can't cite recent learning or mistakes
420
+ - **Buzz
421
+
422
+ word bingo:** Using terms without understanding
423
+ - **No questions:** Doesn't ask clarifying questions in design problems
424
+
425
+ ---
426
+
427
+ ## Evaluation Rubrics
428
+
429
+ ### Technical Depth
430
+
431
+ | Score | Description |
432
+ |-------|-------------|
433
+ | 1 | Surface-level knowledge, significant gaps |
434
+ | 2 | Basic understanding, struggles with follow-ups |
435
+ | 3 | Solid fundamentals, can discuss trade-offs |
436
+ | 4 | Deep expertise, insightful answers |
437
+ | 5 | Expert level, teaches interviewer something new |
438
+
439
+ ### Problem-Solving
440
+
441
+ | Score | Description |
442
+ |-------|-------------|
443
+ | 1 | Jumps to solution without analysis |
444
+ | 2 | Some structure, but misses key considerations |
445
+ | 3 | Systematic approach, asks clarifying questions |
446
+ | 4 | Thoughtful analysis, considers alternatives |
447
+ | 5 | Exceptional problem-solving, innovative solutions |
448
+
449
+ ### Communication
450
+
451
+ | Score | Description |
452
+ |-------|-------------|
453
+ | 1 | Unclear, rambling, hard to follow |
454
+ | 2 | Somewhat clear but disorganized |
455
+ | 3 | Clear explanation, organized thoughts |
456
+ | 4 | Very clear, adapts to audience |
457
+ | 5 | Exceptional communication, visual aids, examples |
458
+
459
+ ---
460
+
461
+ ## Key Takeaways for Interviewers
462
+
463
+ 1. **Ask open-ended questions** that reveal thinking process
464
+ 2. **Probe deeper** - don't accept surface-level answers
465
+ 3. **Assess trade-offs** - "What are the pros/cons of your approach?"
466
+ 4. **Look for learning** - Can they admit mistakes and learn?
467
+ 5. **Evaluate collaboration** - How do they work with others?
468
+ 6. **Be consistent** - Ask same questions to compare candidates
469
+ 7. **Take notes** - Record specific examples for calibration
470
+ 8. **Focus on potential** - Hire for growth, not just current skills
471
+ 9. **Avoid gotchas** - Real-world problems, not trivia
472
+ 10. **Sell the role** - Interviewing is two-way, make them want to join
473
+
474
+ Great interviews reveal how candidates think, not just what they know.