[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:qa-test-automation\u002Fqa-ci-cd-testing":4,"config":127},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":40,"samples":41},"qa-test-automation","QA \u002F Test Automation","","qa-ci-cd-testing","Qa Ci Cd Testing","en",75,600,[14,15,16],"junior","mid","senior",[18,21,24,25,28,31,34,37],{"key":19,"name":20,"count":11},"qa-api-testing","Qa Api Testing",{"key":22,"name":23,"count":11},"qa-automation-fundamentals","Qa Automation Fundamentals",{"key":8,"name":9,"count":11},{"key":26,"name":27,"count":11},"qa-defect-management","Qa Defect Management",{"key":29,"name":30,"count":11},"qa-exploratory-manual-testing","Qa Exploratory Manual Testing",{"key":32,"name":33,"count":11},"qa-performance-testing","Qa Performance Testing",{"key":35,"name":36,"count":11},"qa-test-case-design","Qa Test Case Design",{"key":38,"name":39,"count":11},"qa-test-strategy","Qa Test Strategy",[],[42,60,74,87,100,113],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":48,"explanation":59},"019f68ba-23a5-77f3-a7c2-21b39801a65d",1,"In a CI\u002FCD pipeline, what does it mean for automated tests to act as a \"gate\"?",[47,50,53,56],{"key":48,"text":49},"a","A failing required test blocks the code from moving to the next stage",{"key":51,"text":52},"b","Tests run only after the software has already been released to users",{"key":54,"text":55},"c","A human reviewer must manually re-run every test before the pipeline can continue",{"key":57,"text":58},"d","Test results are logged for later reading but never affect the pipeline outcome","A test gate means the pipeline is configured to stop (block merge, block deploy, block promotion) when required tests fail, so untested or broken code cannot silently progress further.",{"id":61,"topic":9,"difficulty":62,"body":63,"options":64,"correct_key":51,"explanation":73},"019f68ba-23a5-7ea2-8c81-b01fbd86b2c7",2,"What is the main reasoning behind the \"fast feedback loop\" principle in a test pipeline: running the cheapest and quickest tests first?",[65,67,69,71],{"key":48,"text":66},"Cheap tests are more accurate than expensive ones, so results are more trustworthy early on",{"key":51,"text":68},"An obvious failure is reported within minutes instead of after a long suite finishes",{"key":54,"text":70},"Running cheap tests first reduces the total number of tests that need to be written",{"key":57,"text":72},"Expensive tests always depend on cheap tests passing, so order does not actually matter","Ordering tests from cheapest\u002Ffastest to most expensive means an obvious break is reported in minutes rather than after a long-running suite finishes, shortening the time a developer waits to learn something is broken.",{"id":75,"topic":9,"difficulty":62,"body":76,"options":77,"correct_key":54,"explanation":86},"019f68ba-23a6-7701-97b9-c1eeaa9a56e9","A pipeline currently runs its slow end-to-end UI tests before its fast unit tests. What is the main downside of this ordering?",[78,80,82,84],{"key":48,"text":79},"Unit tests become unreliable because they run after the UI tests instead of before them",{"key":51,"text":81},"End-to-end tests cannot be automated at all unless unit tests already passed",{"key":54,"text":83},"A trivial bug is only reported after the much longer UI suite finishes",{"key":57,"text":85},"The total number of tests that can be written in the pipeline is limited by the ordering","If cheap, fast tests run last, even a trivial mistake is reported only after the expensive suite completes, delaying feedback and wasting the time and compute the slow suite consumed on code that a fast test would have already rejected.",{"id":88,"topic":9,"difficulty":44,"body":89,"options":90,"correct_key":57,"explanation":99},"019f68ba-23a7-75e3-a18b-ba47524599a6","What is a commonly recommended staging strategy for ordering test types within a pipeline?",[91,93,95,97],{"key":48,"text":92},"Run every test type simultaneously as one combined stage regardless of speed or dependency",{"key":51,"text":94},"Run end-to-end tests first so that unit and integration tests only run when the whole system already works",{"key":54,"text":96},"Randomize test type order on every run so that no single type consistently blocks the pipeline",{"key":57,"text":98},"Run unit tests first, then integration tests, then broader end-to-end tests, smallest scope first","Staging tests from the narrowest and cheapest (unit) to the broadest and most expensive (end-to-end\u002FUI) mirrors the test pyramid and lets failures surface at the cheapest stage that can catch them.",{"id":101,"topic":9,"difficulty":62,"body":102,"options":103,"correct_key":48,"explanation":112},"019f68ba-23a7-7c56-9a19-41f20be45111","A pipeline configuration defines three sequential stages: `unit-tests`, `integration-tests`, `e2e-tests`, where each stage only starts if the previous stage succeeded. What happens if `unit-tests` fails?",[104,106,108,110],{"key":48,"text":105},"`integration-tests` and `e2e-tests` do not run at all",{"key":51,"text":107},"All three stages run in parallel anyway, since the pipeline only reports the final combined result",{"key":54,"text":109},"Only `e2e-tests` is skipped, but `integration-tests` still runs because it does not depend on unit tests",{"key":57,"text":111},"The pipeline automatically retries `unit-tests` in a loop until it passes, then continues","With strictly sequential stages gated on success, a failing `unit-tests` stage stops the pipeline before later stages start, since each stage's start condition is the previous stage's success.",{"id":114,"topic":9,"difficulty":115,"body":116,"options":117,"correct_key":51,"explanation":126},"019f68ba-23a8-7378-bb11-5cf24cd828f6",3,"A test suite runs against a shared database. Two pipeline runs execute at the same time and both insert a record with the same fixed ID, causing one run to fail with a duplicate-key error unrelated to any real bug. What is this an example of?",[118,120,122,124],{"key":48,"text":119},"A flaky test caused purely by network latency between the test runner and the database",{"key":51,"text":121},"A test environment isolation problem: concurrent runs share state and contaminate each other",{"key":54,"text":123},"A correctly working test gate that is doing exactly what it is supposed to do",{"key":57,"text":125},"A test parallelization problem inside a single test process, unrelated to the environment","The failure has nothing to do with the code under test; it happens because two runs share the same database\u002Fstate without isolation. This is a classic test environment isolation and cleanup problem, distinct from flakiness caused by timing inside one run.",{"fields":128,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[129,154,174,190,214,227,246,265,287,292,298,305],{"key":130,"name_tr":131,"name_en":131,"sort":44,"specializations":132},"backend","Backend",[133,136,139,142,145,148,151],{"key":134,"name":135,"field":130},"general","Genel",{"key":137,"name":138,"field":130},"go","Go",{"key":140,"name":141,"field":130},"python","Python",{"key":143,"name":144,"field":130},"java","Java",{"key":146,"name":147,"field":130},"csharp","C#\u002F.NET",{"key":149,"name":150,"field":130},"nodejs","Node.js",{"key":152,"name":153,"field":130},"php","PHP",{"key":155,"name_tr":156,"name_en":156,"sort":62,"specializations":157},"frontend","Frontend",[158,159,162,165,168,171],{"key":134,"name":135,"field":155},{"key":160,"name":161,"field":155},"javascript","JavaScript",{"key":163,"name":164,"field":155},"typescript","TypeScript",{"key":166,"name":167,"field":155},"react","React",{"key":169,"name":170,"field":155},"vue","Vue",{"key":172,"name":173,"field":155},"angular","Angular",{"key":175,"name_tr":176,"name_en":176,"sort":115,"specializations":177},"fullstack","Fullstack",[178,179,180,181,182,183,184,185,186,187,188,189],{"key":134,"name":135,"field":175},{"key":137,"name":138,"field":130},{"key":140,"name":141,"field":130},{"key":143,"name":144,"field":130},{"key":146,"name":147,"field":130},{"key":149,"name":150,"field":130},{"key":152,"name":153,"field":130},{"key":160,"name":161,"field":155},{"key":163,"name":164,"field":155},{"key":166,"name":167,"field":155},{"key":169,"name":170,"field":155},{"key":172,"name":173,"field":155},{"key":191,"name_tr":192,"name_en":192,"sort":193,"specializations":194},"devops-cloud","DevOps \u002F Cloud",4,[195,196,199,202,205,208,211],{"key":134,"name":135,"field":191},{"key":197,"name":198,"field":191},"aws","AWS",{"key":200,"name":201,"field":191},"gcp","GCP",{"key":203,"name":204,"field":191},"azure","Azure",{"key":206,"name":207,"field":191},"kubernetes","Kubernetes",{"key":209,"name":210,"field":191},"terraform","Terraform",{"key":212,"name":213,"field":191},"linux","Linux",{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"ai-engineer","AI Engineer",5,[219,220,221,224],{"key":134,"name":135,"field":215},{"key":140,"name":141,"field":215},{"key":222,"name":223,"field":215},"llm-rag","LLM\u002FRAG",{"key":225,"name":226,"field":215},"mlops","MLOps",{"key":228,"name_tr":229,"name_en":230,"sort":231,"specializations":232},"database","Veritabanı","Database",6,[233,234,237,240,243],{"key":134,"name":135,"field":228},{"key":235,"name":236,"field":228},"postgresql","PostgreSQL",{"key":238,"name":239,"field":228},"mysql","MySQL",{"key":241,"name":242,"field":228},"mongodb","MongoDB",{"key":244,"name":245,"field":228},"redis","Redis",{"key":247,"name_tr":248,"name_en":249,"sort":250,"specializations":251},"mobile","Mobil","Mobile",7,[252,253,256,259,262],{"key":134,"name":135,"field":247},{"key":254,"name":255,"field":247},"ios-swift","iOS (Swift)",{"key":257,"name":258,"field":247},"android-kotlin","Android (Kotlin)",{"key":260,"name":261,"field":247},"flutter","Flutter",{"key":263,"name":264,"field":247},"react-native","React Native",{"key":266,"name_tr":267,"name_en":268,"sort":269,"specializations":270},"security","Güvenlik","Security",8,[271,272,275,278,281,284],{"key":134,"name":135,"field":266},{"key":273,"name":274,"field":266},"appsec","AppSec",{"key":276,"name":277,"field":266},"offensive-pentest","Offensive \u002F Pentest",{"key":279,"name":280,"field":266},"cloud-security","Cloud Security",{"key":282,"name":283,"field":266},"devsecops","DevSecOps",{"key":285,"name":286,"field":266},"blue-team-incident","Blue Team \u002F Incident",{"key":5,"name_tr":288,"name_en":6,"sort":289,"specializations":290},"QA \u002F Test Otomasyonu",9,[291],{"key":134,"name":135,"field":5},{"key":293,"name_tr":294,"name_en":294,"sort":295,"specializations":296},"data-engineer","Data Engineer",10,[297],{"key":134,"name":135,"field":293},{"key":299,"name_tr":300,"name_en":301,"sort":302,"specializations":303},"game-dev","Oyun Geliştirme","Game Development",11,[304],{"key":134,"name":135,"field":299},{"key":306,"name_tr":307,"name_en":307,"sort":308,"specializations":309},"ml-engineer","ML Engineer",12,[310],{"key":134,"name":135,"field":306},[14,15,16],{"junior":313,"mid":315,"senior":316},{"questions":314,"median_sec":3},20,{"questions":314,"median_sec":3},{"questions":314,"median_sec":3},[318,10],"tr",[320,321],"google","github",21750,true]