[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:database\u002Findexing":4,"config":213},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":115,"samples":129},"database","Database","","indexing","Indexing","en",75,2475,[14,15,16],"junior","mid","senior",[18,21,24,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112],{"key":19,"name":20,"count":11},"backup-recovery","Backup Recovery",{"key":22,"name":23,"count":11},"data-modeling","Data Modeling",{"key":8,"name":9,"count":11},{"key":26,"name":27,"count":11},"mongodb-aggregation","Mongodb Aggregation",{"key":29,"name":30,"count":11},"mongodb-indexes-queries","Mongodb Indexes Queries",{"key":32,"name":33,"count":11},"mongodb-operations","Mongodb Operations",{"key":35,"name":36,"count":11},"mongodb-replication-sharding","Mongodb Replication Sharding",{"key":38,"name":39,"count":11},"mongodb-schema-modeling","Mongodb Schema Modeling",{"key":41,"name":42,"count":11},"mongodb-transactions-consistency","Mongodb Transactions Consistency",{"key":44,"name":45,"count":11},"mysql-indexes","Mysql Indexes",{"key":47,"name":48,"count":11},"mysql-innodb-transactions","Mysql Innodb Transactions",{"key":50,"name":51,"count":11},"mysql-operations","Mysql Operations",{"key":53,"name":54,"count":11},"mysql-query-optimization","Mysql Query Optimization",{"key":56,"name":57,"count":11},"mysql-replication-scaling","Mysql Replication Scaling",{"key":59,"name":60,"count":11},"mysql-types-constraints","Mysql Types Constraints",{"key":62,"name":63,"count":11},"nosql-models","Nosql Models",{"key":65,"name":66,"count":11},"performance-tuning","Performance Tuning",{"key":68,"name":69,"count":11},"pg-indexes","Pg Indexes",{"key":71,"name":72,"count":11},"pg-mvcc-vacuum","Pg Mvcc Vacuum",{"key":74,"name":75,"count":11},"pg-operations","Pg Operations",{"key":77,"name":78,"count":11},"pg-query-planning","Pg Query Planning",{"key":80,"name":81,"count":11},"pg-transactions-locking","Pg Transactions Locking",{"key":83,"name":84,"count":11},"pg-types-constraints","Pg Types Constraints",{"key":86,"name":87,"count":11},"query-optimization","Query Optimization",{"key":89,"name":90,"count":11},"redis-cluster-sharding","Redis Cluster Sharding",{"key":92,"name":93,"count":11},"redis-data-structures","Redis Data Structures",{"key":95,"name":96,"count":11},"redis-expiration-eviction","Redis Expiration Eviction",{"key":98,"name":99,"count":11},"redis-persistence","Redis Persistence",{"key":101,"name":102,"count":11},"redis-replication-sentinel","Redis Replication Sentinel",{"key":104,"name":105,"count":11},"redis-transactions-scripting","Redis Transactions Scripting",{"key":107,"name":108,"count":11},"replication-scaling","Replication Scaling",{"key":110,"name":111,"count":11},"security-access","Security Access",{"key":113,"name":114,"count":11},"transactions-isolation","Transactions Isolation",[116,120,123,126],{"key":117,"name":118,"count":119},"mongodb","MongoDB",450,{"key":121,"name":122,"count":119},"mysql","MySQL",{"key":124,"name":125,"count":119},"postgresql","PostgreSQL",{"key":127,"name":128,"count":119},"redis","Redis",[130,148,161,174,187,200],{"id":131,"topic":9,"difficulty":132,"body":133,"options":134,"correct_key":142,"explanation":147},"019f56bb-b5fe-761b-b709-09122ca7457c",1,"At the storage level, what is a database index?",[135,138,141,144],{"key":136,"text":137},"a","A compressed, read-only copy of the whole table kept on a separate disk volume",{"key":139,"text":140},"b","An in-memory cache that stores the result of the most recently executed queries",{"key":142,"text":143},"c","A separate sorted structure that maps column values to the rows that hold them",{"key":145,"text":146},"d","A background job that periodically reorganizes the table's own physical layout","An index is an auxiliary data structure (usually a B-tree) holding key values in order, each pointing to the row(s) that contain it, so the engine can locate matches without reading the whole table. It is not a full copy of the table (a), and a query-result cache (b) is a different mechanism.",{"id":149,"topic":9,"difficulty":132,"body":150,"options":151,"correct_key":136,"explanation":160},"019f56bb-b5fe-7e48-b2da-5c5f783390e8","There is no index on `products.sku`. How does the engine satisfy `WHERE sku = 'X-100'`?",[152,154,156,158],{"key":136,"text":153},"It performs a full (sequential) scan, reading every row and testing the condition",{"key":139,"text":155},"It refuses to run the query until an index is created on the column",{"key":142,"text":157},"It reads only the first matching row and immediately stops, ignoring the rest of the table",{"key":145,"text":159},"It automatically builds a temporary index on `sku` and reuses it forever","Without a usable index the engine has no shortcut, so it scans the whole table row by row (a sequential\u002Ffull table scan) and keeps the rows that match. It does not silently create a permanent index (d), and it cannot stop at the first match because other rows could also qualify (c).",{"id":162,"topic":9,"difficulty":132,"body":163,"options":164,"correct_key":145,"explanation":173},"019f56bb-b5ff-7c23-9628-28738da04208","Which columns are generally the best candidates for indexing?",[165,167,169,171],{"key":136,"text":166},"Columns that are almost never referenced in queries but happen to take up little space",{"key":139,"text":168},"Columns that hold large text or binary blobs shown only on detail screens",{"key":142,"text":170},"Columns that are updated on nearly every write but are almost never read",{"key":145,"text":172},"Columns frequently used in WHERE filters, JOIN conditions, or ORDER BY","Indexes pay off where the engine repeatedly searches, matches, or sorts by a column — i.e. WHERE, JOIN, and ORDER BY. Indexing rarely-queried columns (a) wastes space and write time, and indexing constantly-updated, rarely-read columns (c) adds maintenance cost with little read benefit.",{"id":175,"topic":9,"difficulty":132,"body":176,"options":177,"correct_key":139,"explanation":186},"019f56bb-b600-74cf-a846-60965d906bdc","You declare a PRIMARY KEY on `id`. What does the database create to support it?",[178,180,182,184],{"key":136,"text":179},"Nothing extra; the primary key is enforced by fully scanning the table on each insert",{"key":139,"text":181},"A unique index on the key column, used automatically to enforce and look it up",{"key":142,"text":183},"A foreign key pointing the column at an internal system catalog table",{"key":145,"text":185},"A trigger that runs before every insert to check for duplicate id values","Declaring a primary key automatically creates a backing unique index; the engine uses it both to enforce uniqueness and to locate rows by id quickly. It does not rescan the table per insert (a) — that is exactly what the index avoids — and no user-visible trigger (d) is involved.",{"id":188,"topic":9,"difficulty":132,"body":189,"options":190,"correct_key":136,"explanation":199},"019f56bb-b601-7d28-abeb-674a5bab4eb4","Why can a single B-tree index serve both `age = 30` and `age BETWEEN 20 AND 40`?",[191,193,195,197],{"key":136,"text":192},"Because it stores the keys in sorted order, so equality and ranges are both seekable",{"key":139,"text":194},"Because it keeps a separate hash bucket for every distinct value in the column",{"key":142,"text":196},"Because it loads the entire indexed column into memory before evaluating the predicate",{"key":145,"text":198},"Because range queries are internally rewritten into a list of equality checks","A B-tree keeps keys ordered, so the engine can descend to a starting point and then walk the leaves — that covers exact matches and contiguous ranges alike. A hash structure (b) would support equality but not ranges, which is why range predicates cannot use a hash index.",{"id":201,"topic":9,"difficulty":132,"body":202,"options":203,"correct_key":145,"explanation":212},"019f56bb-b602-7706-b1a0-08f4eee9aacb","You add an index that the optimizer decides to use. What can change about the query?",[204,206,208,210],{"key":136,"text":205},"The set of rows returned may shift because the index filters out some matches",{"key":139,"text":207},"Aggregate results such as SUM and COUNT can come out slightly different",{"key":142,"text":209},"The rows come back in the index's order even without ORDER BY, guaranteed",{"key":145,"text":211},"Only performance changes; the result set stays exactly the same","An index is a lookup aid, not part of the query's logic, so it can only affect how fast the answer is produced, never which rows or values are returned (a and b). Ordering without an explicit ORDER BY is never guaranteed (c), even if an index happens to return rows in order.",{"fields":214,"seniorities":391,"interview_shapes":392,"locales":397,"oauth":399,"question_count":402,"coach_enabled":403,"jd_match_enabled":403},[215,240,261,278,302,315,324,343,365,372,378,385],{"key":216,"name_tr":217,"name_en":217,"sort":132,"specializations":218},"backend","Backend",[219,222,225,228,231,234,237],{"key":220,"name":221,"field":216},"general","Genel",{"key":223,"name":224,"field":216},"go","Go",{"key":226,"name":227,"field":216},"python","Python",{"key":229,"name":230,"field":216},"java","Java",{"key":232,"name":233,"field":216},"csharp","C#\u002F.NET",{"key":235,"name":236,"field":216},"nodejs","Node.js",{"key":238,"name":239,"field":216},"php","PHP",{"key":241,"name_tr":242,"name_en":242,"sort":243,"specializations":244},"frontend","Frontend",2,[245,246,249,252,255,258],{"key":220,"name":221,"field":241},{"key":247,"name":248,"field":241},"javascript","JavaScript",{"key":250,"name":251,"field":241},"typescript","TypeScript",{"key":253,"name":254,"field":241},"react","React",{"key":256,"name":257,"field":241},"vue","Vue",{"key":259,"name":260,"field":241},"angular","Angular",{"key":262,"name_tr":263,"name_en":263,"sort":264,"specializations":265},"fullstack","Fullstack",3,[266,267,268,269,270,271,272,273,274,275,276,277],{"key":220,"name":221,"field":262},{"key":223,"name":224,"field":216},{"key":226,"name":227,"field":216},{"key":229,"name":230,"field":216},{"key":232,"name":233,"field":216},{"key":235,"name":236,"field":216},{"key":238,"name":239,"field":216},{"key":247,"name":248,"field":241},{"key":250,"name":251,"field":241},{"key":253,"name":254,"field":241},{"key":256,"name":257,"field":241},{"key":259,"name":260,"field":241},{"key":279,"name_tr":280,"name_en":280,"sort":281,"specializations":282},"devops-cloud","DevOps \u002F Cloud",4,[283,284,287,290,293,296,299],{"key":220,"name":221,"field":279},{"key":285,"name":286,"field":279},"aws","AWS",{"key":288,"name":289,"field":279},"gcp","GCP",{"key":291,"name":292,"field":279},"azure","Azure",{"key":294,"name":295,"field":279},"kubernetes","Kubernetes",{"key":297,"name":298,"field":279},"terraform","Terraform",{"key":300,"name":301,"field":279},"linux","Linux",{"key":303,"name_tr":304,"name_en":304,"sort":305,"specializations":306},"ai-engineer","AI Engineer",5,[307,308,309,312],{"key":220,"name":221,"field":303},{"key":226,"name":227,"field":303},{"key":310,"name":311,"field":303},"llm-rag","LLM\u002FRAG",{"key":313,"name":314,"field":303},"mlops","MLOps",{"key":5,"name_tr":316,"name_en":6,"sort":317,"specializations":318},"Veritabanı",6,[319,320,321,322,323],{"key":220,"name":221,"field":5},{"key":124,"name":125,"field":5},{"key":121,"name":122,"field":5},{"key":117,"name":118,"field":5},{"key":127,"name":128,"field":5},{"key":325,"name_tr":326,"name_en":327,"sort":328,"specializations":329},"mobile","Mobil","Mobile",7,[330,331,334,337,340],{"key":220,"name":221,"field":325},{"key":332,"name":333,"field":325},"ios-swift","iOS (Swift)",{"key":335,"name":336,"field":325},"android-kotlin","Android (Kotlin)",{"key":338,"name":339,"field":325},"flutter","Flutter",{"key":341,"name":342,"field":325},"react-native","React Native",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"security","Güvenlik","Security",8,[349,350,353,356,359,362],{"key":220,"name":221,"field":344},{"key":351,"name":352,"field":344},"appsec","AppSec",{"key":354,"name":355,"field":344},"offensive-pentest","Offensive \u002F Pentest",{"key":357,"name":358,"field":344},"cloud-security","Cloud Security",{"key":360,"name":361,"field":344},"devsecops","DevSecOps",{"key":363,"name":364,"field":344},"blue-team-incident","Blue Team \u002F Incident",{"key":366,"name_tr":367,"name_en":368,"sort":369,"specializations":370},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[371],{"key":220,"name":221,"field":366},{"key":373,"name_tr":374,"name_en":374,"sort":375,"specializations":376},"data-engineer","Data Engineer",10,[377],{"key":220,"name":221,"field":373},{"key":379,"name_tr":380,"name_en":381,"sort":382,"specializations":383},"game-dev","Oyun Geliştirme","Game Development",11,[384],{"key":220,"name":221,"field":379},{"key":386,"name_tr":387,"name_en":387,"sort":388,"specializations":389},"ml-engineer","ML Engineer",12,[390],{"key":220,"name":221,"field":386},[14,15,16],{"junior":393,"mid":395,"senior":396},{"questions":394,"median_sec":3},20,{"questions":394,"median_sec":3},{"questions":394,"median_sec":3},[398,10],"tr",[400,401],"google","github",21750,true]