[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:database\u002Fpg-transactions-locking":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","","pg-transactions-locking","Pg Transactions Locking","en",75,2475,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,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":25,"name":26,"count":11},"indexing","Indexing",{"key":28,"name":29,"count":11},"mongodb-aggregation","Mongodb Aggregation",{"key":31,"name":32,"count":11},"mongodb-indexes-queries","Mongodb Indexes Queries",{"key":34,"name":35,"count":11},"mongodb-operations","Mongodb Operations",{"key":37,"name":38,"count":11},"mongodb-replication-sharding","Mongodb Replication Sharding",{"key":40,"name":41,"count":11},"mongodb-schema-modeling","Mongodb Schema Modeling",{"key":43,"name":44,"count":11},"mongodb-transactions-consistency","Mongodb Transactions Consistency",{"key":46,"name":47,"count":11},"mysql-indexes","Mysql Indexes",{"key":49,"name":50,"count":11},"mysql-innodb-transactions","Mysql Innodb Transactions",{"key":52,"name":53,"count":11},"mysql-operations","Mysql Operations",{"key":55,"name":56,"count":11},"mysql-query-optimization","Mysql Query Optimization",{"key":58,"name":59,"count":11},"mysql-replication-scaling","Mysql Replication Scaling",{"key":61,"name":62,"count":11},"mysql-types-constraints","Mysql Types Constraints",{"key":64,"name":65,"count":11},"nosql-models","Nosql Models",{"key":67,"name":68,"count":11},"performance-tuning","Performance Tuning",{"key":70,"name":71,"count":11},"pg-indexes","Pg Indexes",{"key":73,"name":74,"count":11},"pg-mvcc-vacuum","Pg Mvcc Vacuum",{"key":76,"name":77,"count":11},"pg-operations","Pg Operations",{"key":79,"name":80,"count":11},"pg-query-planning","Pg Query Planning",{"key":8,"name":9,"count":11},{"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":136,"explanation":147},"019f5d67-ffc4-7896-8495-1beb38cd36cc",1,"What is the default transaction isolation level in PostgreSQL when a client connects without changing any settings?",[135,138,141,144],{"key":136,"text":137},"a","READ COMMITTED",{"key":139,"text":140},"b","READ UNCOMMITTED",{"key":142,"text":143},"c","REPEATABLE READ",{"key":145,"text":146},"d","SERIALIZABLE","PostgreSQL's default isolation level is READ COMMITTED. Each statement in a transaction gets its own fresh snapshot as of that statement's start, unlike REPEATABLE READ or SERIALIZABLE, which snapshot once at transaction start.",{"id":149,"topic":9,"difficulty":132,"body":150,"options":151,"correct_key":139,"explanation":160},"019f5d67-ffc5-707d-b7c8-a8fabdc4d7a1","A single UPDATE statement is executed with no surrounding BEGIN\u002FCOMMIT. What happens in PostgreSQL?",[152,154,156,158],{"key":136,"text":153},"It is not committed until an explicit COMMIT is issued later",{"key":139,"text":155},"It runs and commits as its own implicit transaction",{"key":142,"text":157},"It is queued until the next BEGIN block starts",{"key":145,"text":159},"It fails because DML statements require an explicit transaction","Outside of an explicit BEGIN...COMMIT block, PostgreSQL wraps every individual statement in its own implicit transaction, so it commits immediately once it succeeds.",{"id":162,"topic":9,"difficulty":132,"body":163,"options":164,"correct_key":142,"explanation":173},"019f5d67-ffc5-777c-be9c-2c6ef209ed42","Inside an explicit BEGIN block, several UPDATE statements are executed, and then ROLLBACK is issued (no SAVEPOINTs used). What is the result?",[165,167,169,171],{"key":136,"text":166},"Only the last UPDATE statement is undone",{"key":139,"text":168},"Statements run before some internal checkpoint remain applied",{"key":142,"text":170},"All changes made since BEGIN are discarded",{"key":145,"text":172},"ROLLBACK asks for confirmation before undoing any DML","Without SAVEPOINTs to control the granularity, ROLLBACK undoes every change made since BEGIN, restoring the database to the state it was in before the transaction started.",{"id":175,"topic":9,"difficulty":132,"body":176,"options":177,"correct_key":145,"explanation":186},"019f5d67-ffc5-7de3-8b66-18bd6357a428","In `pg_stat_activity`, a session shows `state = 'idle in transaction'`. What does this mean?",[178,180,182,184],{"key":136,"text":179},"The transaction has committed and the connection is now free",{"key":139,"text":181},"The backend process crashed and needs to be restarted",{"key":142,"text":183},"The session is currently waiting on disk I\u002FO for a query",{"key":145,"text":185},"A transaction is open, but the client isn't sending a query","'idle in transaction' means the client opened a transaction (e.g. via BEGIN) and is currently not sending any query — the transaction is still open, holding whatever snapshot and locks it acquired.",{"id":188,"topic":9,"difficulty":132,"body":189,"options":190,"correct_key":136,"explanation":199},"019f5d67-ffc6-74b7-b4fa-415ba7de003e","In a fresh session, with no prior configuration changes, the following is run:\n```sql\nSHOW transaction_isolation;\n```\nWhat does it print?",[191,193,195,197],{"key":136,"text":192},"read committed",{"key":139,"text":194},"serializable",{"key":142,"text":196},"repeatable read",{"key":145,"text":198},"read uncommitted","Verified by running `SHOW transaction_isolation;` in a fresh session against PostgreSQL 18: it prints `read committed`, the server's default isolation level.",{"id":201,"topic":9,"difficulty":132,"body":202,"options":203,"correct_key":139,"explanation":212},"019f5d67-ffc6-7a99-9cc3-af4020db73f6","A developer runs a single INSERT statement (no BEGIN) that violates a NOT NULL constraint and fails. They then run a SELECT to check whether any row was inserted. What do they find?",[204,206,208,210],{"key":136,"text":205},"A partial row exists, with NULL stored in the failed column",{"key":139,"text":207},"No row was inserted; the failed statement's transaction rolled back",{"key":142,"text":209},"The table is now locked until a manual VACUUM runs",{"key":145,"text":211},"The row was inserted but is marked as invalid","Since the standalone statement runs in its own implicit transaction, a constraint violation aborts that transaction as a whole, so nothing from it is ever committed.",{"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]