Repository: h5bp/Front-end-Developer-Interview-Questions Branch: main Commit: 33f5498b653e Files: 85 Total size: 645.0 KB Directory structure: gitextract_fwetkuuh/ ├── .all-contributorsrc ├── .editorconfig ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ ├── stale.yml │ └── workflows/ │ ├── codeql-analysis.yml │ └── gh-pages-build.yml ├── .gitignore ├── CONTRIBUTORS.md ├── LICENSE.md ├── README.md ├── config/ │ └── eleventy.config.js ├── package.json └── src/ ├── 404.njk ├── _data/ │ ├── contributors.json │ ├── helpers.js │ ├── maintainers.json │ ├── og.json │ ├── questions.json │ ├── site.json │ └── translations.json ├── _includes/ │ ├── assets/ │ │ ├── css/ │ │ │ ├── content.css │ │ │ ├── defaults.css │ │ │ ├── footer.css │ │ │ ├── header.css │ │ │ ├── navigation.css │ │ │ ├── prism.css │ │ │ └── variables.css │ │ └── js/ │ │ └── app.js │ ├── components/ │ │ ├── footer.njk │ │ └── navigation.njk │ └── layouts/ │ ├── default.njk │ └── page.njk ├── about.njk ├── index.njk ├── questions/ │ ├── coding-questions.md │ ├── css-questions.md │ ├── fun-questions.md │ ├── general-questions.md │ ├── html-questions.md │ ├── javascript-questions.md │ ├── network-questions.md │ ├── performance-questions.md │ └── testing-questions.md ├── sitemap.xml.njk ├── translations/ │ ├── _template/ │ │ └── README.md │ ├── arabic/ │ │ └── README.md │ ├── bengali/ │ │ └── README.md │ ├── bulgarian/ │ │ └── README.md │ ├── burmese/ │ │ └── README.md │ ├── chinese/ │ │ └── README.md │ ├── chinese-traditional/ │ │ └── README.md │ ├── croatian/ │ │ └── README.md │ ├── czech/ │ │ └── README.md │ ├── danish/ │ │ └── README.md │ ├── dutch/ │ │ └── README.md │ ├── farsi/ │ │ └── README.md │ ├── french/ │ │ └── README.md │ ├── german/ │ │ └── README.md │ ├── greek/ │ │ └── README.md │ ├── hebrew/ │ │ └── README.md │ ├── hindi/ │ │ └── README.md │ ├── hungarian/ │ │ └── README.md │ ├── indonesian/ │ │ └── README.md │ ├── italian/ │ │ └── README.md │ ├── japanese/ │ │ └── README.md │ ├── korean/ │ │ ├── README.md │ │ └── Reference.md │ ├── latvian/ │ │ └── README.md │ ├── polish/ │ │ └── README.md │ ├── portuguese/ │ │ └── README.md │ ├── romanian/ │ │ └── README.md │ ├── russian/ │ │ └── README.md │ ├── serbian/ │ │ └── README.md │ ├── slovakian/ │ │ └── README.md │ ├── slovenian/ │ │ └── README.md │ ├── spanish/ │ │ └── README.md │ ├── swedish/ │ │ └── README.md │ ├── turkish/ │ │ └── README.md │ ├── ukrainian/ │ │ └── README.md │ └── vietnamese/ │ └── README.md └── translations.njk ================================================ FILE CONTENTS ================================================ ================================================ FILE: .all-contributorsrc ================================================ { "projectName": "Front-end-Developer-Interview-Questions", "projectOwner": "h5bp", "files": [ "CONTRIBUTORS.md", "README.md" ], "imageSize": 120, "commit": true, "contributorsPerLine": 6, "contributors": [ { "login": "darcyclarke", "name": "Darcy Clarke", "avatar_url": "https://avatars2.githubusercontent.com/u/459713?v=4", "profile": "http://darcyclarke.me/", "contributions": [ "ideas", "doc", "infra", "review", "question", "talk", "maintenance" ] }, { "login": "appleboy", "name": "Bo-Yi Wu", "avatar_url": "https://avatars0.githubusercontent.com/u/21979?v=4", "profile": "http://about.me/appleboy", "contributions": [ "doc", "review" ] }, { "login": "NikolayIT", "name": "Nikolay Kostov", "avatar_url": "https://avatars1.githubusercontent.com/u/3106986?v=4", "profile": "http://nikolay.it", "contributions": [ "translation" ] }, { "login": "janhancic", "name": "Jan Hancic", "avatar_url": "https://avatars3.githubusercontent.com/u/356488?v=4", "profile": "http://hancic.info", "contributions": [ "translation" ] }, { "login": "richgilbank", "name": "Rich Gilbank", "avatar_url": "https://avatars2.githubusercontent.com/u/1245284?v=4", "profile": "http://twitter.com/richgilbank", "contributions": [ "doc", "review" ] }, { "login": "mattiasw", "name": "Mattias Wallander", "avatar_url": "https://avatars0.githubusercontent.com/u/564615?v=4", "profile": "https://github.com/mattiasw", "contributions": [ "translation" ] }, { "login": "Songhun", "name": "Songhun", "avatar_url": "https://avatars0.githubusercontent.com/u/760451?v=4", "profile": "http://gplus.to/songhun", "contributions": [ "doc", "translation" ] }, { "login": "electricg", "name": "Giulia Alfonsi", "avatar_url": "https://avatars3.githubusercontent.com/u/458523?v=4", "profile": "http://giugee.com/portfolio", "contributions": [ "translation" ] }, { "login": "mmhan", "name": "Mike Myat Min Han", "avatar_url": "https://avatars0.githubusercontent.com/u/301672?v=4", "profile": "http://mmhan.net", "contributions": [ "translation" ] }, { "login": "SunLn", "name": "SunLn", "avatar_url": "https://avatars0.githubusercontent.com/u/1861976?v=4", "profile": "http://www.zhihu.com/people/deng-chen-hua", "contributions": [ "translation" ] }, { "login": "javarouka", "name": "Yi, Hangehee", "avatar_url": "https://avatars2.githubusercontent.com/u/1438503?v=4", "profile": "http://javarouka.github.com", "contributions": [ "translation" ] }, { "login": "shawnqiang", "name": "shawnqiang", "avatar_url": "https://avatars1.githubusercontent.com/u/284017?v=4", "profile": "https://github.com/shawnqiang", "contributions": [ "translation" ] }, { "login": "guilhermepontes", "name": "Guilherme Pontes", "avatar_url": "https://avatars2.githubusercontent.com/u/2065325?v=4", "profile": "http://guilhermepontes.com", "contributions": [ "translation" ] }, { "login": "lufeihaidao", "name": "lufeihaidao", "avatar_url": "https://avatars3.githubusercontent.com/u/1731864?v=4", "profile": "https://github.com/lufeihaidao", "contributions": [ "translation" ] }, { "login": "dz1984", "name": "Donald Zhan", "avatar_url": "https://avatars2.githubusercontent.com/u/3182876?v=4", "profile": "http://about.me/DonaldZhan", "contributions": [ "translation" ] }, { "login": "minamarkham", "name": "Mina Markham", "avatar_url": "https://avatars1.githubusercontent.com/u/876210?v=4", "profile": "http://mina.codes", "contributions": [ "doc" ] }, { "login": "paulirish", "name": "Paul Irish", "avatar_url": "https://avatars0.githubusercontent.com/u/39191?v=4", "profile": "http://paulirish.com", "contributions": [ "doc" ] }, { "login": "mathieuhays", "name": "Mathieu Hays", "avatar_url": "https://avatars2.githubusercontent.com/u/5703113?v=4", "profile": "https://mathieuhays.co.uk", "contributions": [ "translation" ] }, { "login": "yanni4night", "name": "Yong Yin", "avatar_url": "https://avatars0.githubusercontent.com/u/1710436?v=4", "profile": "https://yanni4night.github.io", "contributions": [ "doc" ] }, { "login": "blackfalcon", "name": "Dale Sande / @anotheruiguy", "avatar_url": "https://avatars3.githubusercontent.com/u/181089?v=4", "profile": "http://dalesande.com", "contributions": [ "doc", "infra", "review" ] }, { "login": "marcobiedermann", "name": "Marco Biedermann", "avatar_url": "https://avatars0.githubusercontent.com/u/5244986?v=4", "profile": "https://www.marcobiedermann.com", "contributions": [ "infra" ] }, { "login": "Victa", "name": "Victor Coulon", "avatar_url": "https://avatars2.githubusercontent.com/u/594365?v=4", "profile": "http://victorcoulon.com", "contributions": [ "translation", "review" ] }, { "login": "demoive", "name": "Paulo Ávila", "avatar_url": "https://avatars0.githubusercontent.com/u/472288?v=4", "profile": "https://github.com/demoive", "contributions": [ "doc" ] }, { "login": "ekremkaraca", "name": "Ekrem Karaca", "avatar_url": "https://avatars0.githubusercontent.com/u/690612?v=4", "profile": "https://github.com/ekremkaraca", "contributions": [ "translation" ] }, { "login": "achalv", "name": "Achal Varma", "avatar_url": "https://avatars3.githubusercontent.com/u/1014428?v=4", "profile": "http://achalv.com", "contributions": [ "doc" ] }, { "login": "AurelioDeRosa", "name": "Aurelio De Rosa", "avatar_url": "https://avatars2.githubusercontent.com/u/1430979?v=4", "profile": "https://www.audero.it", "contributions": [ "doc" ] }, { "login": "d-i-b", "name": "Min Zhao", "avatar_url": "https://avatars2.githubusercontent.com/u/553940?v=4", "profile": "https://github.com/d-i-b", "contributions": [ "translation" ] }, { "login": "alrra", "name": "Cătălin Mariș", "avatar_url": "https://avatars1.githubusercontent.com/u/1223565?v=4", "profile": "https://twitter.com/alrra", "contributions": [ "doc", "translation" ] }, { "login": "s10wen", "name": "Simon Owen", "avatar_url": "https://avatars2.githubusercontent.com/u/1136114?v=4", "profile": "https://s10wen.com", "contributions": [ "doc" ] }, { "login": "MaximKhlobystov", "name": "Maxim Khlobystov", "avatar_url": "https://avatars0.githubusercontent.com/u/5004762?v=4", "profile": "https://github.com/MaximKhlobystov", "contributions": [ "doc", "review" ] }, { "login": "dermatobia", "name": "Sara", "avatar_url": "https://avatars2.githubusercontent.com/u/4896612?v=4", "profile": "https://github.com/dermatobia", "contributions": [ "doc", "translation" ] }, { "login": "jhummel", "name": "Jason Hummel", "avatar_url": "https://avatars0.githubusercontent.com/u/495484?v=4", "profile": "https://github.com/jhummel", "contributions": [ "doc" ] }, { "login": "kunsachdeva", "name": "Kunal Sachdeva", "avatar_url": "https://avatars2.githubusercontent.com/u/5383258?v=4", "profile": "https://github.com/kunsachdeva", "contributions": [ "doc" ] }, { "login": "strugee", "name": "AJ Jordan", "avatar_url": "https://avatars0.githubusercontent.com/u/911174?v=4", "profile": "https://strugee.net", "contributions": [ "doc" ] }, { "login": "paulalexandru", "name": "paulalexandru", "avatar_url": "https://avatars2.githubusercontent.com/u/10955105?v=4", "profile": "https://github.com/paulalexandru", "contributions": [ "doc", "translation" ] }, { "login": "rozehan", "name": "dot", "avatar_url": "https://avatars0.githubusercontent.com/u/2157467?v=4", "profile": "https://github.com/rozehan", "contributions": [ "infra", "translation" ] }, { "login": "everblut", "name": "Everardo Medina", "avatar_url": "https://avatars3.githubusercontent.com/u/1256959?v=4", "profile": "http://twitter.com/billowblut", "contributions": [ "translation" ] }, { "login": "gauravmuk", "name": "Gaurav Nanda", "avatar_url": "https://avatars0.githubusercontent.com/u/250947?v=4", "profile": "https://github.com/gauravmuk", "contributions": [ "doc" ] }, { "login": "malaman", "name": "Andrii Malaman", "avatar_url": "https://avatars0.githubusercontent.com/u/6554653?v=4", "profile": "https://github.com/malaman", "contributions": [ "doc" ] }, { "login": "syymza", "name": "Daniele Zanni", "avatar_url": "https://avatars3.githubusercontent.com/u/419147?v=4", "profile": "http://www.betterpixels.co.uk", "contributions": [ "translation" ] }, { "login": "ffreitasalves", "name": "Fernando Freitas Alves", "avatar_url": "https://avatars3.githubusercontent.com/u/1414472?v=4", "profile": "https://fernandofreitasalves.com", "contributions": [ "translation" ] }, { "login": "tjwudi", "name": "John Wu", "avatar_url": "https://avatars0.githubusercontent.com/u/5257816?v=4", "profile": "https://github.com/tjwudi", "contributions": [ "doc" ] }, { "login": "pnevares", "name": "Pablo Nevares", "avatar_url": "https://avatars0.githubusercontent.com/u/211764?v=4", "profile": "https://github.com/pnevares", "contributions": [ "doc", "translation" ] }, { "login": "f3liperamos", "name": "Felipe Ramos", "avatar_url": "https://avatars3.githubusercontent.com/u/4040037?v=4", "profile": "https://github.com/f3liperamos", "contributions": [ "doc" ] }, { "login": "arthurvr", "name": "Arthur Verschaeve", "avatar_url": "https://avatars0.githubusercontent.com/u/6025224?v=4", "profile": "http://twitter.com/arthur_versch", "contributions": [ "doc", "review", "translation" ] }, { "login": "isdampe", "name": "Richard Denton", "avatar_url": "https://avatars1.githubusercontent.com/u/7271686?v=4", "profile": "https://github.com/isdampe", "contributions": [ "doc" ] }, { "login": "kubum", "name": "Andrey Fadeyev", "avatar_url": "https://avatars3.githubusercontent.com/u/169803?v=4", "profile": "https://github.com/kubum", "contributions": [ "translation" ] }, { "login": "rimager", "name": "rimager", "avatar_url": "https://avatars0.githubusercontent.com/u/7401367?v=4", "profile": "https://github.com/rimager", "contributions": [ "doc" ] }, { "login": "rjain11", "name": "Rishabh Jain", "avatar_url": "https://avatars3.githubusercontent.com/u/5899771?v=4", "profile": "https://github.com/rjain11", "contributions": [ "doc" ] }, { "login": "Kaijun", "name": "Kaijun Chen", "avatar_url": "https://avatars3.githubusercontent.com/u/1693027?v=4", "profile": "https://github.com/Kaijun", "contributions": [ "translation" ] }, { "login": "NkS90", "name": "Nithya", "avatar_url": "https://avatars2.githubusercontent.com/u/2872399?v=4", "profile": "https://github.com/NkS90", "contributions": [ "doc" ] }, { "login": "erwanjegouzo", "name": "Erwan Jegouzo", "avatar_url": "https://avatars3.githubusercontent.com/u/366909?v=4", "profile": "http://www.erwanjegouzo.com", "contributions": [ "doc" ] }, { "login": "teameh", "name": "Tieme van Veen", "avatar_url": "https://avatars3.githubusercontent.com/u/1330668?v=4", "profile": "https://www.linkedin.com/in/tiemevanveen", "contributions": [ "doc" ] }, { "login": "linkgod", "name": "Hsun", "avatar_url": "https://avatars3.githubusercontent.com/u/1736020?v=4", "profile": "https://github.com/linkgod", "contributions": [ "translation" ] }, { "login": "adrienchretien", "name": "Adrien CHRETIEN", "avatar_url": "https://avatars2.githubusercontent.com/u/1096295?v=4", "profile": "https://github.com/adrienchretien", "contributions": [ "translation" ] }, { "login": "shnere", "name": "Alan Rodríguez", "avatar_url": "https://avatars1.githubusercontent.com/u/780497?v=4", "profile": "https://github.com/shnere", "contributions": [ "translation" ] }, { "login": "harisadam", "name": "Adam Haris", "avatar_url": "https://avatars0.githubusercontent.com/u/797521?v=4", "profile": "http://harisadam.com", "contributions": [ "translation" ] }, { "login": "toshimaru", "name": "Toshimaru", "avatar_url": "https://avatars0.githubusercontent.com/u/803398?v=4", "profile": "http://toshimaru.net/", "contributions": [ "translation" ] }, { "login": "shankarcabus", "name": "Shankar Cabus", "avatar_url": "https://avatars3.githubusercontent.com/u/1202421?v=4", "profile": "http://shankarcabus.com.br", "contributions": [ "translation" ] }, { "login": "lukasz-jakub-adamczuk", "name": "Ash", "avatar_url": "https://avatars0.githubusercontent.com/u/1239848?v=4", "profile": "https://github.com/lukasz-jakub-adamczuk", "contributions": [ "translation" ] }, { "login": "hanksudo", "name": "Hank Wang", "avatar_url": "https://avatars2.githubusercontent.com/u/467745?v=4", "profile": "https://github.com/hanksudo", "contributions": [ "translation" ] }, { "login": "Graybobo", "name": "KILLHAPPY.", "avatar_url": "https://avatars2.githubusercontent.com/u/790332?v=4", "profile": "https://graybobo.github.io/", "contributions": [ "doc" ] }, { "login": "msval", "name": "Marko Švaljek", "avatar_url": "https://avatars0.githubusercontent.com/u/2877320?v=4", "profile": "http://msvaljek.blogspot.com", "contributions": [ "translation" ] }, { "login": "Antonio-Laguna", "name": "Antonio Laguna", "avatar_url": "https://avatars2.githubusercontent.com/u/946645?v=4", "profile": "https://www.funcion13.com", "contributions": [ "doc", "translation" ] }, { "login": "mi2oon", "name": "Mithun Dhiman", "avatar_url": "https://avatars3.githubusercontent.com/u/464143?v=4", "profile": "http://www.mi2oon.com", "contributions": [ "translation" ] }, { "login": "Darklg", "name": "Kévin Rocher / @Darklg", "avatar_url": "https://avatars1.githubusercontent.com/u/307957?v=4", "profile": "http://darklg.me", "contributions": [ "translation" ] }, { "login": "dpashkevich", "name": "Dmitry Pashkevich", "avatar_url": "https://avatars3.githubusercontent.com/u/1157741?v=4", "profile": "http://dpashk.com", "contributions": [ "translation" ] }, { "login": "karmeljuk", "name": "karmeljuk", "avatar_url": "https://avatars0.githubusercontent.com/u/5672886?v=4", "profile": "https://github.com/karmeljuk", "contributions": [ "translation" ] }, { "login": "schuer", "name": "Dirk Schürjohann", "avatar_url": "https://avatars2.githubusercontent.com/u/1297466?v=4", "profile": "https://decaf.de", "contributions": [ "translation" ] }, { "login": "cybear", "name": "Björn Söderqvist", "avatar_url": "https://avatars1.githubusercontent.com/u/73858?v=4", "profile": "https://github.com/cybear", "contributions": [ "translation" ] }, { "login": "nitinhayaran", "name": "Nitin Hayaran", "avatar_url": "https://avatars1.githubusercontent.com/u/50523?v=4", "profile": "http://www.nitinh.com", "contributions": [ "doc" ] }, { "login": "Poetro", "name": "Peter Galiba", "avatar_url": "https://avatars0.githubusercontent.com/u/412052?v=4", "profile": "http://poetro.hu/", "contributions": [ "doc" ] }, { "login": "nheinrich", "name": "Neil Heinrich", "avatar_url": "https://avatars2.githubusercontent.com/u/23180?v=4", "profile": "http://neilheinrich.com", "contributions": [ "doc" ] }, { "login": "ohgyun", "name": "Ohgyun Ahn", "avatar_url": "https://avatars2.githubusercontent.com/u/582314?v=4", "profile": "http://ohgyun.com", "contributions": [ "translation" ] }, { "login": "nerdog", "name": "nerdog", "avatar_url": "https://avatars3.githubusercontent.com/u/1648813?v=4", "profile": "https://github.com/nerdog", "contributions": [ "translation" ] }, { "login": "leopic", "name": "Leo Picado", "avatar_url": "https://avatars2.githubusercontent.com/u/117184?v=4", "profile": "http://leo.cr", "contributions": [ "translation" ] }, { "login": "unity", "name": "Romain Dardour", "avatar_url": "https://avatars3.githubusercontent.com/u/9458?v=4", "profile": "http://refine.hull.io", "contributions": [ "translation" ] }, { "login": "alex-seville", "name": "Alex Seville", "avatar_url": "https://avatars2.githubusercontent.com/u/1172331?v=4", "profile": "http://blog.alexanderseville.com/", "contributions": [ "doc" ] }, { "login": "hooray", "name": "胡尐睿丶", "avatar_url": "https://avatars3.githubusercontent.com/u/1574903?v=4", "profile": "http://hooray.cnblogs.com", "contributions": [ "translation" ] }, { "login": "vermilion1", "name": "Vitalii Petrychuk", "avatar_url": "https://avatars3.githubusercontent.com/u/744568?v=4", "profile": "http://petrychuk.com", "contributions": [ "translation" ] }, { "login": "Tairraos", "name": "Tairraos", "avatar_url": "https://avatars1.githubusercontent.com/u/185069?v=4", "profile": "http://tairraos.github.io", "contributions": [ "doc", "translation" ] }, { "login": "draev", "name": "Dmitrii Raev", "avatar_url": "https://avatars2.githubusercontent.com/u/842729?v=4", "profile": "https://github.com/draev", "contributions": [ "translation" ] }, { "login": "bpu", "name": "Bartek", "avatar_url": "https://avatars1.githubusercontent.com/u/3254402?v=4", "profile": "https://github.com/bpu", "contributions": [ "translation" ] }, { "login": "vitorbal", "name": "Vitor Balocco", "avatar_url": "https://avatars2.githubusercontent.com/u/626038?v=4", "profile": "https://twitter.com/vitorbal", "contributions": [ "doc" ] }, { "login": "jonathantneal", "name": "Jonathan Neal", "avatar_url": "https://avatars0.githubusercontent.com/u/188426?v=4", "profile": "http://jonathantneal.com", "contributions": [ "doc" ] }, { "login": "Muqito", "name": "Christoffer Lans", "avatar_url": "https://avatars3.githubusercontent.com/u/3002925?v=4", "profile": "https://github.com/Muqito", "contributions": [ "translation" ] }, { "login": "LFeh", "name": "Felipe Fialho", "avatar_url": "https://avatars0.githubusercontent.com/u/3603793?v=4", "profile": "http://www.felipefialho.com/", "contributions": [ "translation" ] }, { "login": "pim", "name": "Piotrek Mierzejewski", "avatar_url": "https://avatars3.githubusercontent.com/u/85532?v=4", "profile": "http://piotrek.co", "contributions": [ "translation" ] }, { "login": "wibron", "name": "Patrik Wibron", "avatar_url": "https://avatars3.githubusercontent.com/u/233347?v=4", "profile": "http://patrikwibron.se/", "contributions": [ "translation" ] }, { "login": "vdv73rus", "name": "Dmitry Vislov", "avatar_url": "https://avatars3.githubusercontent.com/u/971061?v=4", "profile": "http://vdv73.ru", "contributions": [ "translation" ] }, { "login": "castus", "name": "Krzysztof Romanowski", "avatar_url": "https://avatars2.githubusercontent.com/u/522810?v=4", "profile": "http://krzysztofromanowski.pl", "contributions": [ "doc" ] }, { "login": "nightire", "name": "Albert Yu", "avatar_url": "https://avatars3.githubusercontent.com/u/1104018?v=4", "profile": "http://www.very-geek.com", "contributions": [ "translation" ] }, { "login": "slara", "name": "Sebastian Lara Menares", "avatar_url": "https://avatars3.githubusercontent.com/u/585824?v=4", "profile": "https://twitter.com/slaramen", "contributions": [ "translation" ] }, { "login": "sunnylost", "name": "sunnylost", "avatar_url": "https://avatars3.githubusercontent.com/u/693496?v=4", "profile": "http://sunnylost.com/", "contributions": [ "translation" ] }, { "login": "miniflycn", "name": "Daniel Yang", "avatar_url": "https://avatars3.githubusercontent.com/u/2239584?v=4", "profile": "https://github.com/miniflycn", "contributions": [ "doc" ] }, { "login": "frontdevde", "name": "Michael P. Pfeiffer", "avatar_url": "https://avatars0.githubusercontent.com/u/1562646?v=4", "profile": "http://contains.me/", "contributions": [ "translation" ] }, { "login": "Inkdpixels", "name": "Tyll Weiß", "avatar_url": "https://avatars1.githubusercontent.com/u/1557092?v=4", "profile": "http://craft-interactive.de/", "contributions": [ "translation" ] }, { "login": "andreisebastianc", "name": "Andrei Sebastian Cîmpean", "avatar_url": "https://avatars2.githubusercontent.com/u/636000?v=4", "profile": "http://andreime.com", "contributions": [ "translation" ] }, { "login": "denis-sokolov", "name": "Denis Sokolov", "avatar_url": "https://avatars0.githubusercontent.com/u/113721?v=4", "profile": "http://sokolov.cc/", "contributions": [ "doc" ] }, { "login": "arcanous", "name": "Harijs Deksnis", "avatar_url": "https://avatars3.githubusercontent.com/u/4963067?v=4", "profile": "https://github.com/arcanous", "contributions": [ "translation" ] }, { "login": "roblarsen", "name": "Rob Larsen", "avatar_url": "https://avatars0.githubusercontent.com/u/361421?v=4", "profile": "http://htmlcssjavascript.com/", "contributions": [ "ideas", "doc", "infra", "review", "question", "talk", "maintenance" ] }, { "login": "cezaraugusto", "name": "Cezar Augusto", "avatar_url": "https://avatars0.githubusercontent.com/u/4672033?v=4", "profile": "https://cezaraugusto.net/", "contributions": [ "ideas", "infra", "review", "maintenance" ] }, { "login": "vvscode", "name": "Vasiliy Vanchuk", "avatar_url": "https://avatars1.githubusercontent.com/u/6904368?v=4", "profile": "https://www.linkedin.com/in/vvanchuk/", "contributions": [ "ideas", "review", "maintenance" ] }, { "login": "veronvynguyen", "name": "Vy Nguyen", "avatar_url": "https://avatars.githubusercontent.com/u/17018972?v=4", "profile": "https://github.com/veronvynguyen", "contributions": [ "content" ] }, { "login": "PChaparro", "name": "Pedro Chaparro", "avatar_url": "https://avatars.githubusercontent.com/u/94259578?v=4", "profile": "https://pchaparro.netlify.app/", "contributions": [ "translation" ] }, { "login": "WildxHV", "name": "Harshvardhan Singh Sisodia", "avatar_url": "https://avatars.githubusercontent.com/u/71403298?v=4", "profile": "https://github.com/WildxHV", "contributions": [ "translation" ] }, { "login": "gabrielrbarbosa", "name": "Gabriel R. Barbosa", "avatar_url": "https://avatars.githubusercontent.com/u/12158575?v=4", "profile": "https://github.com/gabrielrbarbosa", "contributions": [ "translation" ] }, { "login": "talhatahir", "name": "Talha Tahir", "avatar_url": "https://avatars.githubusercontent.com/u/8845428?v=4", "profile": "https://github.com/talhatahir", "contributions": [ "content" ] }, { "login": "subashcs", "name": "Subash Chandra Sapkota", "avatar_url": "https://avatars.githubusercontent.com/u/29421465?v=4", "profile": "http://www.subashcs.com.np/", "contributions": [ "code" ] }, { "login": "sarahesbie", "name": "Sarah Brown", "avatar_url": "https://avatars.githubusercontent.com/u/4270573?v=4", "profile": "https://github.com/sarahesbie", "contributions": [ "content" ] }, { "login": "coliff", "name": "Christian Oliff", "avatar_url": "https://avatars.githubusercontent.com/u/1212885?v=4", "profile": "https://christianoliff.com/", "contributions": [ "code", "infra", "maintenance" ] }, { "login": "andershagbard", "name": "Anders Søgaard", "avatar_url": "https://avatars.githubusercontent.com/u/9662430?v=4", "profile": "https://github.com/andershagbard", "contributions": [ "content" ] }, { "login": "iaurg", "name": "Italo A.", "avatar_url": "https://avatars.githubusercontent.com/u/11761170?v=4", "profile": "https://segredo.dev/", "contributions": [ "code" ] }, { "login": "cpvalente", "name": "Carlos Valente", "avatar_url": "https://avatars.githubusercontent.com/u/34649812?v=4", "profile": "https://github.com/cpvalente", "contributions": [ "translation" ] }, { "login": "baumannzone", "name": "Jorge Baumann", "avatar_url": "https://avatars.githubusercontent.com/u/5422102?v=4", "profile": "https://baumannzone.dev/", "contributions": [ "translation" ] }, { "login": "satyamsundaram", "name": "Satyam Sundaram", "avatar_url": "https://avatars.githubusercontent.com/u/54367435?v=4", "profile": "https://satyamsundaram.tech/", "contributions": [ "content" ] }, { "login": "NegiAkash890", "name": "Akash Negi", "avatar_url": "https://avatars.githubusercontent.com/u/55234838?v=4", "profile": "https://github.com/NegiAkash890", "contributions": [ "content" ] }, { "login": "tounsils", "name": "Ilyes Tounsi", "avatar_url": "https://avatars.githubusercontent.com/u/44228841?v=4", "profile": "https://www.tn76.com/", "contributions": [ "code" ] }, { "login": "swati-gwc", "name": "Swati Tripathi", "avatar_url": "https://avatars.githubusercontent.com/u/63490144?v=4", "profile": "https://swati-gwc.github.io/", "contributions": [ "translation" ] }, { "login": "dafaputra00", "name": "Aziz Dafa Putra", "avatar_url": "https://avatars.githubusercontent.com/u/62801712?v=4", "profile": "https://github.com/dafaputra00", "contributions": [ "translation" ] }, { "login": "Abg4real", "name": "Abg4real", "avatar_url": "https://avatars.githubusercontent.com/u/55308761?v=4", "profile": "https://github.com/Abg4real", "contributions": [ "content" ] }, { "login": "nataliepina", "name": "Natalie Pina", "avatar_url": "https://avatars.githubusercontent.com/u/34781875?v=4", "profile": "https://github.com/nataliepina", "contributions": [ "content" ] }, { "login": "bt-dot", "name": "Bruce Tang", "avatar_url": "https://avatars.githubusercontent.com/u/55170799?v=4", "profile": "https://github.com/bt-dot", "contributions": [ "content" ] }, { "login": "vltansky", "name": "Vlad Tansky", "avatar_url": "https://avatars.githubusercontent.com/u/5851280?v=4", "profile": "https://github.com/vltansky", "contributions": [ "code", "design" ] }, { "login": "voy", "name": "Vojtech Jasny", "avatar_url": "https://avatars.githubusercontent.com/u/194726?v=4", "profile": "https://github.com/voy", "contributions": [ "content" ] }, { "login": "Linda-Ikechukwu", "name": "Linda Ikechukwu", "avatar_url": "https://avatars.githubusercontent.com/u/32891838?v=4", "profile": "https://codewithlinda.com/", "contributions": [ "content" ] }, { "login": "iownthegame", "name": "Hui-Yu Lee", "avatar_url": "https://avatars.githubusercontent.com/u/1487369?v=4", "profile": "https://github.com/iownthegame", "contributions": [ "translation" ] }, { "login": "aej11a", "name": "Andrew Jones", "avatar_url": "https://avatars.githubusercontent.com/u/10066422?v=4", "profile": "https://github.com/aej11a", "contributions": [ "content" ] }, { "login": "Teesy99", "name": "Teesta Koch", "avatar_url": "https://avatars.githubusercontent.com/u/45621118?v=4", "profile": "https://github.com/Teesy99", "contributions": [ "doc" ] } ], "repoType": "github", "commitConvention": "none" } ================================================ FILE: .editorconfig ================================================ # editorconfig.org root = true [*] charset = utf-8 end_of_line = lf indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true [*.md] trim_trailing_whitespace = false ================================================ FILE: .github/CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at rob@htmlcssjavascript.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org ================================================ FILE: .github/CONTRIBUTING.md ================================================ # Contributing to Front-end Developer Interview Questions Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved. *Please submit one PR per question* Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features. ## Using the issue tracker The [issue tracker](https://github.com/h5bp/Front-end-Developer-Interview-Questions/issues) is the preferred channel for spelling mistakes, errors or any general feedback. Please respect the following restrictions: * Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others. * Please **do not** open issues or pull requests that involve including **answers** to any of the questions. ## Pull requests Please adhere to the coding conventions used throughout the project (spelling, indentation, punctuation etc.). Adhering to the following process is the best way to get your work included in the project: 1. [Fork](https://help.github.com/articles/fork-a-repo) the project, clone your fork, and configure the remotes: ```bash # Clone your fork of the repo into the current directory git clone https://github.com//Front-end-Developer-Interview-Questions.git # Navigate to the newly cloned directory cd Front-end-Developer-Interview-Questions # Assign the original repo to a remote called "upstream" git remote add upstream https://github.com/h5bp/Front-end-Developer-Interview-Questions.git ``` 2. If you cloned a while ago, get the latest changes from upstream: ```bash git checkout main git pull upstream main ``` 3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix: ```bash git checkout -b ``` 4. Locally merge (or rebase) the upstream development branch into your topic branch: ```bash git pull [--rebase] upstream main ``` 5. Set-up the website ```bash # install dependencies npm install # run the website and watch for changes (http://localhost:9090) npm start ``` Our website is made with [Eleventy](https://11ty.io). * If you are looking to edit infrastructure/templating files of the website and not sure how to, [check their docs](https://11ty.io/docs). * If you are looking to change a question/translation file, just change the markdown file you want and the website will be updated once it is deployed. 6. Squash your commits down to a single one (we want to keep the main branch nice and clean) 7. Push your topic branch up to your fork: ```bash git push origin ``` 8. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description. **IMPORTANT**: By submitting patches, you agree to allow the project owners to license your work under the terms of the [MIT License](../LICENSE.md). ================================================ FILE: .github/ISSUE_TEMPLATE.md ================================================ The issue tracker is the preferred channel for feedback on the project, bugs relating to the publishing infrastructure (which is still a a work-in-progress) or other discussion points. Note: - *Please do not open issues or pull requests that involve including answers to any of the questions.* - *If you have a proposal for a new question or revision of an existing question, please just open a pull request.* ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. Fixes # (issue) ## Type of change Please delete options that are not relevant. - [ ] New Question - [ ] Revision of an existing question - [ ] Infrastructure change (automation, etc.) - [ ] Other (please elaborate) # Checklist: - [ ] My content follows the style guidelines of this project - [ ] I have performed a self-review of my own content Pull requests should be thought of as a conversation. There will be some back and forth when trying to get code merged into this or any other project. With all but the simplest changes you can and should expect that the maintainers of the project will request changes to your code. Please be aware of that and check in after you open your PR in order to get your code merged in cleanly. Thanks! ================================================ FILE: .github/dependabot.yml ================================================ version: 2 updates: - package-ecosystem: npm directory: "/" schedule: interval: monthly time: "03:00" - package-ecosystem: github-actions directory: "/" schedule: interval: monthly ================================================ FILE: .github/stale.yml ================================================ # Number of days of inactivity before an issue becomes stale daysUntilStale: 30 # Number of days of inactivity before a stale issue is closed daysUntilClose: 7 # Issues with these labels will never be considered stale exemptLabels: - pinned - security - help-wanted # Label to use when marking an issue as stale staleLabel: wontfix # Comment to post when marking an issue as stale. Set to `false` to disable markComment: > This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. # Comment to post when closing a stale issue. Set to `false` to disable closeComment: This issue has been automatically closed because it has not had recent activity. Thank you for your contributions. ================================================ FILE: .github/workflows/codeql-analysis.yml ================================================ name: "CodeQL" on: push: branches: [ main ] pull_request: branches: [ main ] schedule: - cron: '34 20 * * 0' jobs: analyze: name: Analyze runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: [ 'javascript' ] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} - name: Autobuild uses: github/codeql-action/autobuild@v4 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v4 ================================================ FILE: .github/workflows/gh-pages-build.yml ================================================ name: Eleventy Build on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] jobs: build_deploy: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@master - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: "16.x" - run: npm install - name: Build uses: TartanLlama/actions-eleventy@master with: args: --config=config/eleventy.config.js --pathprefix=Front-end-Developer-Interview-Questions - name: Deploy uses: peaceiris/actions-gh-pages@v4 with: publish_dir: ./_site publish_branch: gh-pages github_token: ${{ secrets.GITHUB_TOKEN }} ================================================ FILE: .gitignore ================================================ node_modules .DS_Store _site ================================================ FILE: CONTRIBUTORS.md ================================================ [![All Contributors](https://img.shields.io/badge/all_contributors-103-orange.svg?style=flat-square)](#contributors-) ## Contributors Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
Darcy Clarke
Darcy Clarke

🤔 📖 🚇 👀 💬 📢 🚧
Bo-Yi Wu
Bo-Yi Wu

📖 👀
Nikolay Kostov
Nikolay Kostov

🌍
Jan Hancic
Jan Hancic

🌍
Rich Gilbank
Rich Gilbank

📖 👀
Mattias Wallander
Mattias Wallander

🌍
Songhun
Songhun

📖 🌍
Giulia Alfonsi
Giulia Alfonsi

🌍
Mike Myat Min Han
Mike Myat Min Han

🌍
SunLn
SunLn

🌍
Yi, Hangehee
Yi, Hangehee

🌍
shawnqiang
shawnqiang

🌍
Guilherme Pontes
Guilherme Pontes

🌍
lufeihaidao
lufeihaidao

🌍
Donald Zhan
Donald Zhan

🌍
Mina Markham
Mina Markham

📖
Paul Irish
Paul Irish

📖
Mathieu Hays
Mathieu Hays

🌍
Yong Yin
Yong Yin

📖
Dale Sande / @anotheruiguy
Dale Sande / @anotheruiguy

📖 🚇 👀
Marco Biedermann
Marco Biedermann

🚇
Victor Coulon
Victor Coulon

🌍 👀
Paulo Ávila
Paulo Ávila

📖
Ekrem Karaca
Ekrem Karaca

🌍
Achal Varma
Achal Varma

📖
Aurelio De Rosa
Aurelio De Rosa

📖
Min Zhao
Min Zhao

🌍
Cătălin Mariș
Cătălin Mariș

📖 🌍
Simon Owen
Simon Owen

📖
Maxim Khlobystov
Maxim Khlobystov

📖 👀
Sara
Sara

📖 🌍
Jason Hummel
Jason Hummel

📖
Kunal Sachdeva
Kunal Sachdeva

📖
AJ Jordan
AJ Jordan

📖
paulalexandru
paulalexandru

📖 🌍
dot
dot

🚇 🌍
Everardo Medina
Everardo Medina

🌍
Gaurav Nanda
Gaurav Nanda

📖
Andrii Malaman
Andrii Malaman

📖
Daniele Zanni
Daniele Zanni

🌍
Fernando Freitas Alves
Fernando Freitas Alves

🌍
John Wu
John Wu

📖
Pablo Nevares
Pablo Nevares

📖 🌍
Felipe Ramos
Felipe Ramos

📖
Arthur Verschaeve
Arthur Verschaeve

📖 👀 🌍
Richard Denton
Richard Denton

📖
Andrey Fadeyev
Andrey Fadeyev

🌍
rimager
rimager

📖
Rishabh Jain
Rishabh Jain

📖
Kaijun Chen
Kaijun Chen

🌍
Nithya
Nithya

📖
Erwan Jegouzo
Erwan Jegouzo

📖
Tieme van Veen
Tieme van Veen

📖
Hsun
Hsun

🌍
Adrien CHRETIEN
Adrien CHRETIEN

🌍
Alan Rodríguez
Alan Rodríguez

🌍
Adam Haris
Adam Haris

🌍
Toshimaru
Toshimaru

🌍
Shankar Cabus
Shankar Cabus

🌍
Ash
Ash

🌍
Hank Wang
Hank Wang

🌍
KILLHAPPY.
KILLHAPPY.

📖
Marko Švaljek
Marko Švaljek

🌍
Antonio Laguna
Antonio Laguna

📖 🌍
Mithun Dhiman
Mithun Dhiman

🌍
Kévin Rocher / @Darklg
Kévin Rocher / @Darklg

🌍
Dmitry Pashkevich
Dmitry Pashkevich

🌍
karmeljuk
karmeljuk

🌍
Dirk Schürjohann
Dirk Schürjohann

🌍
Björn Söderqvist
Björn Söderqvist

🌍
Nitin Hayaran
Nitin Hayaran

📖
Peter Galiba
Peter Galiba

📖
Neil Heinrich
Neil Heinrich

📖
Ohgyun Ahn
Ohgyun Ahn

🌍
nerdog
nerdog

🌍
Leo Picado
Leo Picado

🌍
Romain Dardour
Romain Dardour

🌍
Alex Seville
Alex Seville

📖
胡尐睿丶
胡尐睿丶

🌍
Vitalii Petrychuk
Vitalii Petrychuk

🌍
Tairraos
Tairraos

📖 🌍
Dmitrii Raev
Dmitrii Raev

🌍
Bartek
Bartek

🌍
Vitor Balocco
Vitor Balocco

📖
Jonathan Neal
Jonathan Neal

📖
Christoffer Lans
Christoffer Lans

🌍
Felipe Fialho
Felipe Fialho

🌍
Piotrek Mierzejewski
Piotrek Mierzejewski

🌍
Patrik Wibron
Patrik Wibron

🌍
Dmitry Vislov
Dmitry Vislov

🌍
Krzysztof Romanowski
Krzysztof Romanowski

📖
Albert Yu
Albert Yu

🌍
Sebastian Lara Menares
Sebastian Lara Menares

🌍
sunnylost
sunnylost

🌍
Daniel Yang
Daniel Yang

📖
Michael P. Pfeiffer
Michael P. Pfeiffer

🌍
Tyll Weiß
Tyll Weiß

🌍
Andrei Sebastian Cîmpean
Andrei Sebastian Cîmpean

🌍
Denis Sokolov
Denis Sokolov

📖
Harijs Deksnis
Harijs Deksnis

🌍
Rob Larsen
Rob Larsen

🤔 📖 🚇 👀 💬 📢 🚧
Cezar Augusto
Cezar Augusto

🤔 🚇 👀 🚧
Vasiliy Vanchuk
Vasiliy Vanchuk

🤔 👀 🚧
Vy Nguyen
Vy Nguyen

🖋
Pedro Chaparro
Pedro Chaparro

🌍
Harshvardhan Singh Sisodia
Harshvardhan Singh Sisodia

🌍
Gabriel R. Barbosa
Gabriel R. Barbosa

🌍
Talha Tahir
Talha Tahir

🖋
Subash Chandra Sapkota
Subash Chandra Sapkota

💻
Sarah Brown
Sarah Brown

🖋
Christian Oliff
Christian Oliff

💻 🚇 🚧
Anders Søgaard
Anders Søgaard

🖋
Italo A.
Italo A.

💻
Carlos Valente
Carlos Valente

🌍
Jorge Baumann
Jorge Baumann

🌍
Satyam Sundaram
Satyam Sundaram

🖋
Akash Negi
Akash Negi

🖋
Ilyes Tounsi
Ilyes Tounsi

💻
Swati Tripathi
Swati Tripathi

🌍
Aziz Dafa Putra
Aziz Dafa Putra

🌍
Abg4real
Abg4real

🖋
Natalie Pina
Natalie Pina

🖋
Bruce Tang
Bruce Tang

🖋
Vlad Tansky
Vlad Tansky

💻 🎨
Vojtech Jasny
Vojtech Jasny

🖋
Linda Ikechukwu
Linda Ikechukwu

🖋
Hui-Yu Lee
Hui-Yu Lee

🌍
Andrew Jones
Andrew Jones

🖋
Teesta Koch
Teesta Koch

📖
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! ================================================ FILE: LICENSE.md ================================================ The MIT License (MIT) Copyright (c) 2012 - 2023 Contributors to https://github.com/h5bp/Front-end-Developer-Interview-Questions Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Front-end Developer Interview Questions This repository contains a number of front-end interview questions that can be used when vetting potential candidates. It is by no means recommended to use every single question here on the same candidate (that would take hours). Choosing a few items from this list should help you vet the intended skills you require. **Note:** Keep in mind that many of these questions are open-ended and could lead to interesting discussions that tell you more about the person's capabilities than a straight answer would. You can read more about this project & its history [here](https://h5bp.org/Front-end-Developer-Interview-Questions/about/). ## Table of Contents 1. [General Questions](src/questions/general-questions.md) 2. [HTML Questions](src/questions/html-questions.md) 3. [CSS Questions](src/questions/css-questions.md) 4. [JS Questions](src/questions/javascript-questions.md) 5. [Accessibility Questions](https://scottaohara.github.io/accessibility_interview_questions/) (external link) 6. [Testing Questions](src/questions/testing-questions.md) 7. [Performance Questions](src/questions/performance-questions.md) 8. [Network Questions](src/questions/network-questions.md) 9. [Coding Questions](src/questions/coding-questions.md) 10. [Fun Questions](src/questions/fun-questions.md) ## Getting Involved 1. [Contributors](#contributors) 2. [How to Contribute](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/.github/CONTRIBUTING.md) 3. [License](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/LICENSE.md) The project is currently maintained by: - [@roblarsen](https://github.com/roblarsen) ## Contributors Feeling inspired? Check our [Contributing guide](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/.github/CONTRIBUTING.md) to get started!
Darcy Clarke
Darcy Clarke

🤔 📖 🚇 👀 💬 📢 🚧
Bo-Yi Wu
Bo-Yi Wu

📖 👀
Nikolay Kostov
Nikolay Kostov

🌍
Jan Hancic
Jan Hancic

🌍
Rich Gilbank
Rich Gilbank

📖 👀
Mattias Wallander
Mattias Wallander

🌍
Songhun
Songhun

📖 🌍
Giulia Alfonsi
Giulia Alfonsi

🌍
Mike Myat Min Han
Mike Myat Min Han

🌍
SunLn
SunLn

🌍
Yi, Hangehee
Yi, Hangehee

🌍
shawnqiang
shawnqiang

🌍
Guilherme Pontes
Guilherme Pontes

🌍
lufeihaidao
lufeihaidao

🌍
Donald Zhan
Donald Zhan

🌍
Mina Markham
Mina Markham

📖
Paul Irish
Paul Irish

📖
Mathieu Hays
Mathieu Hays

🌍
Yong Yin
Yong Yin

📖
Dale Sande / @anotheruiguy
Dale Sande / @anotheruiguy

📖 🚇 👀
Marco Biedermann
Marco Biedermann

🚇
Victor Coulon
Victor Coulon

🌍 👀
Paulo Ávila
Paulo Ávila

📖
Ekrem Karaca
Ekrem Karaca

🌍
Achal Varma
Achal Varma

📖
Aurelio De Rosa
Aurelio De Rosa

📖
Min Zhao
Min Zhao

🌍
Cătălin Mariș
Cătălin Mariș

📖 🌍
Simon Owen
Simon Owen

📖
Maxim Khlobystov
Maxim Khlobystov

📖 👀
Sara
Sara

📖 🌍
Jason Hummel
Jason Hummel

📖
Kunal Sachdeva
Kunal Sachdeva

📖
AJ Jordan
AJ Jordan

📖
paulalexandru
paulalexandru

📖 🌍
dot
dot

🚇 🌍
Everardo Medina
Everardo Medina

🌍
Gaurav Nanda
Gaurav Nanda

📖
Andrii Malaman
Andrii Malaman

📖
Daniele Zanni
Daniele Zanni

🌍
Fernando Freitas Alves
Fernando Freitas Alves

🌍
John Wu
John Wu

📖
Pablo Nevares
Pablo Nevares

📖 🌍
Felipe Ramos
Felipe Ramos

📖
Arthur Verschaeve
Arthur Verschaeve

📖 👀 🌍
Richard Denton
Richard Denton

📖
Andrey Fadeyev
Andrey Fadeyev

🌍
rimager
rimager

📖
Rishabh Jain
Rishabh Jain

📖
Kaijun Chen
Kaijun Chen

🌍
Nithya
Nithya

📖
Erwan Jegouzo
Erwan Jegouzo

📖
Tieme van Veen
Tieme van Veen

📖
Hsun
Hsun

🌍
Adrien CHRETIEN
Adrien CHRETIEN

🌍
Alan Rodríguez
Alan Rodríguez

🌍
Adam Haris
Adam Haris

🌍
Toshimaru
Toshimaru

🌍
Shankar Cabus
Shankar Cabus

🌍
Ash
Ash

🌍
Hank Wang
Hank Wang

🌍
KILLHAPPY.
KILLHAPPY.

📖
Marko Švaljek
Marko Švaljek

🌍
Antonio Laguna
Antonio Laguna

📖 🌍
Mithun Dhiman
Mithun Dhiman

🌍
Kévin Rocher / @Darklg
Kévin Rocher / @Darklg

🌍
Dmitry Pashkevich
Dmitry Pashkevich

🌍
karmeljuk
karmeljuk

🌍
Dirk Schürjohann
Dirk Schürjohann

🌍
Björn Söderqvist
Björn Söderqvist

🌍
Nitin Hayaran
Nitin Hayaran

📖
Peter Galiba
Peter Galiba

📖
Neil Heinrich
Neil Heinrich

📖
Ohgyun Ahn
Ohgyun Ahn

🌍
nerdog
nerdog

🌍
Leo Picado
Leo Picado

🌍
Romain Dardour
Romain Dardour

🌍
Alex Seville
Alex Seville

📖
胡尐睿丶
胡尐睿丶

🌍
Vitalii Petrychuk
Vitalii Petrychuk

🌍
Tairraos
Tairraos

📖 🌍
Dmitrii Raev
Dmitrii Raev

🌍
Bartek
Bartek

🌍
Vitor Balocco
Vitor Balocco

📖
Jonathan Neal
Jonathan Neal

📖
Christoffer Lans
Christoffer Lans

🌍
Felipe Fialho
Felipe Fialho

🌍
Piotrek Mierzejewski
Piotrek Mierzejewski

🌍
Patrik Wibron
Patrik Wibron

🌍
Dmitry Vislov
Dmitry Vislov

🌍
Krzysztof Romanowski
Krzysztof Romanowski

📖
Albert Yu
Albert Yu

🌍
Sebastian Lara Menares
Sebastian Lara Menares

🌍
sunnylost
sunnylost

🌍
Daniel Yang
Daniel Yang

📖
Michael P. Pfeiffer
Michael P. Pfeiffer

🌍
Tyll Weiß
Tyll Weiß

🌍
Andrei Sebastian Cîmpean
Andrei Sebastian Cîmpean

🌍
Denis Sokolov
Denis Sokolov

📖
Harijs Deksnis
Harijs Deksnis

🌍
Rob Larsen
Rob Larsen

🤔 📖 🚇 👀 💬 📢 🚧
Cezar Augusto
Cezar Augusto

🤔 🚇 👀 🚧
Vasiliy Vanchuk
Vasiliy Vanchuk

🤔 👀 🚧
Vy Nguyen
Vy Nguyen

🖋
Pedro Chaparro
Pedro Chaparro

🌍
Harshvardhan Singh Sisodia
Harshvardhan Singh Sisodia

🌍
Gabriel R. Barbosa
Gabriel R. Barbosa

🌍
Talha Tahir
Talha Tahir

🖋
Subash Chandra Sapkota
Subash Chandra Sapkota

💻
Sarah Brown
Sarah Brown

🖋
Christian Oliff
Christian Oliff

💻 🚇 🚧
Anders Søgaard
Anders Søgaard

🖋
Italo A.
Italo A.

💻
Carlos Valente
Carlos Valente

🌍
Jorge Baumann
Jorge Baumann

🌍
Satyam Sundaram
Satyam Sundaram

🖋
Akash Negi
Akash Negi

🖋
Ilyes Tounsi
Ilyes Tounsi

💻
Swati Tripathi
Swati Tripathi

🌍
Aziz Dafa Putra
Aziz Dafa Putra

🌍
Abg4real
Abg4real

🖋
Natalie Pina
Natalie Pina

🖋
Bruce Tang
Bruce Tang

🖋
Vlad Tansky
Vlad Tansky

💻 🎨
Vojtech Jasny
Vojtech Jasny

🖋
Linda Ikechukwu
Linda Ikechukwu

🖋
Hui-Yu Lee
Hui-Yu Lee

🌍
Andrew Jones
Andrew Jones

🖋
Teesta Koch
Teesta Koch

📖
## License [Copyright (c) Contributors of the Front-end Developer Interview Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/LICENSE.md) ================================================ FILE: config/eleventy.config.js ================================================ const { DateTime } = require('luxon') const CleanCSS = require('clean-css') const UglifyJS = require('uglify-es') const htmlmin = require('html-minifier') const { EleventyI18nPlugin } = require("@11ty/eleventy"); const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight') const markdown = require('markdown-it')({ html: true, breaks: true, linkify: true, typographer: true }).use(require('markdown-it-anchor'), { level: [2], permalink: true, permalinkBefore: true, permalinkSymbol: '' }) module.exports = eleventyConfig => { eleventyConfig.addPlugin(syntaxHighlight) eleventyConfig.addPlugin(EleventyI18nPlugin, { defaultLanguage: 'en', }); eleventyConfig.setLibrary('md', markdown) eleventyConfig.addFilter('cssmin', code => { return new CleanCSS({}).minify(code).styles }) eleventyConfig.addFilter('jsmin', (code) => { let minified = UglifyJS.minify(code) if (minified.error) { console.error('UglifyJS error: ', minified.error) return code } return minified.code }) // Minify HTML output eleventyConfig.addTransform('htmlmin', (content, outputPath) => { if (outputPath.indexOf('.html') > -1) { let minified = htmlmin.minify(content, { useShortDoctype: true, removeComments: true, collapseWhitespace: true }) return minified } return content }) eleventyConfig.addFilter('markdownify', str => { return markdown.render(str) }) eleventyConfig.addFilter('markdownify_inline', str => markdown.renderInline(str) ) eleventyConfig.addFilter('strip_html', str => { return str.replace(/|||<.*?>/g, '') }) // https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string eleventyConfig.addFilter('html_date_string', dateObj => { return DateTime.fromJSDate(dateObj).toFormat('yyyy-LL-dd') }) eleventyConfig.addFilter('github_permalink', str => { return str.replace(/\/index.html/g, '.md') }) eleventyConfig.addFilter('permalink', str => { return str.replace(/\.html/g, '') }) eleventyConfig.addPassthroughCopy('src/assets') return { templateFormats: ['njk', 'md', 'html'], dir: { input: 'src', includes: '_includes', data: '_data', output: '_site' }, markdownTemplateEngine: 'njk', htmlTemplateEngine: 'njk', dataTemplateEngine: 'njk', passthroughFileCopy: true } } ================================================ FILE: package.json ================================================ { "name": "front-end-developer-interview-questions", "version": "1.0.0", "description": "A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.", "scripts": { "build": "eleventy --config=config/eleventy.config.js --pathprefix='Front-end-Developer-Interview-Questions/'", "contributors:add": "all-contributors add", "contributors:generate": "all-contributors generate && cp .all-contributorsrc ./src/_data/contributors.json", "start": "eleventy --config=config/eleventy.config.js --serve --port 9090 --quiet" }, "repository": { "type": "git", "url": "git+https://github.com/h5bp/Front-end-Developer-Interview-Questions.git" }, "keywords": [ "css", "front-end", "html", "interview", "js", "questions" ], "author": "H5BP", "contributors": [ { "name": "Rob Larsen", "email": "rob@htmlcssjavascript.com" }, { "name": "Darcy Clarke", "email": "darcy@darcyclarke.me" } ], "license": "MIT", "bugs": { "url": "https://github.com/h5bp/Front-end-Developer-Interview-Questions/issues" }, "homepage": "https://github.com/h5bp/Front-end-Developer-Interview-Questions#readme", "devDependencies": { "@11ty/eleventy": "^2.0.1", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "all-contributors-cli": "^6.26.1", "clean-css": "^5.3.3", "html-minifier": "^4.0.0", "luxon": "^3.4.4", "markdown-it": "^14.1.0", "markdown-it-anchor": "^8.6.7", "uglify-es": "^3.3.9" }, "resolutions": { "axios": "0.18.1" } } ================================================ FILE: src/404.njk ================================================ --- title: 404 - Page not found description: Think this is wrong? [Open an issue](https://github.com/h5bp/Front-end-Developer-Interview-Questions/issues/new) permalink: /404.html excludeFromSitemap: true --- {% extends 'layouts/page.njk' %} {% set content %} {% endset %} {% block main %}
{{ content | markdownify | safe }}
{% endblock %} ================================================ FILE: src/_data/contributors.json ================================================ { "projectName": "Front-end-Developer-Interview-Questions", "projectOwner": "h5bp", "files": [ "CONTRIBUTORS.md", "README.md" ], "imageSize": 120, "commit": true, "contributorsPerLine": 6, "contributors": [ { "login": "darcyclarke", "name": "Darcy Clarke", "avatar_url": "https://avatars2.githubusercontent.com/u/459713?v=4", "profile": "http://darcyclarke.me/", "contributions": [ "ideas", "doc", "infra", "review", "question", "talk", "maintenance" ] }, { "login": "appleboy", "name": "Bo-Yi Wu", "avatar_url": "https://avatars0.githubusercontent.com/u/21979?v=4", "profile": "http://about.me/appleboy", "contributions": [ "doc", "review" ] }, { "login": "NikolayIT", "name": "Nikolay Kostov", "avatar_url": "https://avatars1.githubusercontent.com/u/3106986?v=4", "profile": "http://nikolay.it", "contributions": [ "translation" ] }, { "login": "janhancic", "name": "Jan Hancic", "avatar_url": "https://avatars3.githubusercontent.com/u/356488?v=4", "profile": "http://hancic.info", "contributions": [ "translation" ] }, { "login": "richgilbank", "name": "Rich Gilbank", "avatar_url": "https://avatars2.githubusercontent.com/u/1245284?v=4", "profile": "http://twitter.com/richgilbank", "contributions": [ "doc", "review" ] }, { "login": "mattiasw", "name": "Mattias Wallander", "avatar_url": "https://avatars0.githubusercontent.com/u/564615?v=4", "profile": "https://github.com/mattiasw", "contributions": [ "translation" ] }, { "login": "Songhun", "name": "Songhun", "avatar_url": "https://avatars0.githubusercontent.com/u/760451?v=4", "profile": "http://gplus.to/songhun", "contributions": [ "doc", "translation" ] }, { "login": "electricg", "name": "Giulia Alfonsi", "avatar_url": "https://avatars3.githubusercontent.com/u/458523?v=4", "profile": "http://giugee.com/portfolio", "contributions": [ "translation" ] }, { "login": "mmhan", "name": "Mike Myat Min Han", "avatar_url": "https://avatars0.githubusercontent.com/u/301672?v=4", "profile": "http://mmhan.net", "contributions": [ "translation" ] }, { "login": "SunLn", "name": "SunLn", "avatar_url": "https://avatars0.githubusercontent.com/u/1861976?v=4", "profile": "http://www.zhihu.com/people/deng-chen-hua", "contributions": [ "translation" ] }, { "login": "javarouka", "name": "Yi, Hangehee", "avatar_url": "https://avatars2.githubusercontent.com/u/1438503?v=4", "profile": "http://javarouka.github.com", "contributions": [ "translation" ] }, { "login": "shawnqiang", "name": "shawnqiang", "avatar_url": "https://avatars1.githubusercontent.com/u/284017?v=4", "profile": "https://github.com/shawnqiang", "contributions": [ "translation" ] }, { "login": "guilhermepontes", "name": "Guilherme Pontes", "avatar_url": "https://avatars2.githubusercontent.com/u/2065325?v=4", "profile": "http://guilhermepontes.com", "contributions": [ "translation" ] }, { "login": "lufeihaidao", "name": "lufeihaidao", "avatar_url": "https://avatars3.githubusercontent.com/u/1731864?v=4", "profile": "https://github.com/lufeihaidao", "contributions": [ "translation" ] }, { "login": "dz1984", "name": "Donald Zhan", "avatar_url": "https://avatars2.githubusercontent.com/u/3182876?v=4", "profile": "http://about.me/DonaldZhan", "contributions": [ "translation" ] }, { "login": "minamarkham", "name": "Mina Markham", "avatar_url": "https://avatars1.githubusercontent.com/u/876210?v=4", "profile": "http://mina.codes", "contributions": [ "doc" ] }, { "login": "paulirish", "name": "Paul Irish", "avatar_url": "https://avatars0.githubusercontent.com/u/39191?v=4", "profile": "http://paulirish.com", "contributions": [ "doc" ] }, { "login": "mathieuhays", "name": "Mathieu Hays", "avatar_url": "https://avatars2.githubusercontent.com/u/5703113?v=4", "profile": "https://mathieuhays.co.uk", "contributions": [ "translation" ] }, { "login": "yanni4night", "name": "Yong Yin", "avatar_url": "https://avatars0.githubusercontent.com/u/1710436?v=4", "profile": "https://yanni4night.github.io", "contributions": [ "doc" ] }, { "login": "blackfalcon", "name": "Dale Sande / @anotheruiguy", "avatar_url": "https://avatars3.githubusercontent.com/u/181089?v=4", "profile": "http://dalesande.com", "contributions": [ "doc", "infra", "review" ] }, { "login": "marcobiedermann", "name": "Marco Biedermann", "avatar_url": "https://avatars0.githubusercontent.com/u/5244986?v=4", "profile": "https://www.marcobiedermann.com", "contributions": [ "infra" ] }, { "login": "Victa", "name": "Victor Coulon", "avatar_url": "https://avatars2.githubusercontent.com/u/594365?v=4", "profile": "http://victorcoulon.com", "contributions": [ "translation", "review" ] }, { "login": "demoive", "name": "Paulo Ávila", "avatar_url": "https://avatars0.githubusercontent.com/u/472288?v=4", "profile": "https://github.com/demoive", "contributions": [ "doc" ] }, { "login": "ekremkaraca", "name": "Ekrem Karaca", "avatar_url": "https://avatars0.githubusercontent.com/u/690612?v=4", "profile": "https://github.com/ekremkaraca", "contributions": [ "translation" ] }, { "login": "achalv", "name": "Achal Varma", "avatar_url": "https://avatars3.githubusercontent.com/u/1014428?v=4", "profile": "http://achalv.com", "contributions": [ "doc" ] }, { "login": "AurelioDeRosa", "name": "Aurelio De Rosa", "avatar_url": "https://avatars2.githubusercontent.com/u/1430979?v=4", "profile": "https://www.audero.it", "contributions": [ "doc" ] }, { "login": "d-i-b", "name": "Min Zhao", "avatar_url": "https://avatars2.githubusercontent.com/u/553940?v=4", "profile": "https://github.com/d-i-b", "contributions": [ "translation" ] }, { "login": "alrra", "name": "Cătălin Mariș", "avatar_url": "https://avatars1.githubusercontent.com/u/1223565?v=4", "profile": "https://twitter.com/alrra", "contributions": [ "doc", "translation" ] }, { "login": "s10wen", "name": "Simon Owen", "avatar_url": "https://avatars2.githubusercontent.com/u/1136114?v=4", "profile": "https://s10wen.com", "contributions": [ "doc" ] }, { "login": "MaximKhlobystov", "name": "Maxim Khlobystov", "avatar_url": "https://avatars0.githubusercontent.com/u/5004762?v=4", "profile": "https://github.com/MaximKhlobystov", "contributions": [ "doc", "review" ] }, { "login": "dermatobia", "name": "Sara", "avatar_url": "https://avatars2.githubusercontent.com/u/4896612?v=4", "profile": "https://github.com/dermatobia", "contributions": [ "doc", "translation" ] }, { "login": "jhummel", "name": "Jason Hummel", "avatar_url": "https://avatars0.githubusercontent.com/u/495484?v=4", "profile": "https://github.com/jhummel", "contributions": [ "doc" ] }, { "login": "kunsachdeva", "name": "Kunal Sachdeva", "avatar_url": "https://avatars2.githubusercontent.com/u/5383258?v=4", "profile": "https://github.com/kunsachdeva", "contributions": [ "doc" ] }, { "login": "strugee", "name": "AJ Jordan", "avatar_url": "https://avatars0.githubusercontent.com/u/911174?v=4", "profile": "https://strugee.net", "contributions": [ "doc" ] }, { "login": "paulalexandru", "name": "paulalexandru", "avatar_url": "https://avatars2.githubusercontent.com/u/10955105?v=4", "profile": "https://github.com/paulalexandru", "contributions": [ "doc", "translation" ] }, { "login": "rozehan", "name": "dot", "avatar_url": "https://avatars0.githubusercontent.com/u/2157467?v=4", "profile": "https://github.com/rozehan", "contributions": [ "infra", "translation" ] }, { "login": "everblut", "name": "Everardo Medina", "avatar_url": "https://avatars3.githubusercontent.com/u/1256959?v=4", "profile": "http://twitter.com/billowblut", "contributions": [ "translation" ] }, { "login": "gauravmuk", "name": "Gaurav Nanda", "avatar_url": "https://avatars0.githubusercontent.com/u/250947?v=4", "profile": "https://github.com/gauravmuk", "contributions": [ "doc" ] }, { "login": "malaman", "name": "Andrii Malaman", "avatar_url": "https://avatars0.githubusercontent.com/u/6554653?v=4", "profile": "https://github.com/malaman", "contributions": [ "doc" ] }, { "login": "syymza", "name": "Daniele Zanni", "avatar_url": "https://avatars3.githubusercontent.com/u/419147?v=4", "profile": "http://www.betterpixels.co.uk", "contributions": [ "translation" ] }, { "login": "ffreitasalves", "name": "Fernando Freitas Alves", "avatar_url": "https://avatars3.githubusercontent.com/u/1414472?v=4", "profile": "https://fernandofreitasalves.com", "contributions": [ "translation" ] }, { "login": "tjwudi", "name": "John Wu", "avatar_url": "https://avatars0.githubusercontent.com/u/5257816?v=4", "profile": "https://github.com/tjwudi", "contributions": [ "doc" ] }, { "login": "pnevares", "name": "Pablo Nevares", "avatar_url": "https://avatars0.githubusercontent.com/u/211764?v=4", "profile": "https://github.com/pnevares", "contributions": [ "doc", "translation" ] }, { "login": "f3liperamos", "name": "Felipe Ramos", "avatar_url": "https://avatars3.githubusercontent.com/u/4040037?v=4", "profile": "https://github.com/f3liperamos", "contributions": [ "doc" ] }, { "login": "arthurvr", "name": "Arthur Verschaeve", "avatar_url": "https://avatars0.githubusercontent.com/u/6025224?v=4", "profile": "http://twitter.com/arthur_versch", "contributions": [ "doc", "review", "translation" ] }, { "login": "isdampe", "name": "Richard Denton", "avatar_url": "https://avatars1.githubusercontent.com/u/7271686?v=4", "profile": "https://github.com/isdampe", "contributions": [ "doc" ] }, { "login": "kubum", "name": "Andrey Fadeyev", "avatar_url": "https://avatars3.githubusercontent.com/u/169803?v=4", "profile": "https://github.com/kubum", "contributions": [ "translation" ] }, { "login": "rimager", "name": "rimager", "avatar_url": "https://avatars0.githubusercontent.com/u/7401367?v=4", "profile": "https://github.com/rimager", "contributions": [ "doc" ] }, { "login": "rjain11", "name": "Rishabh Jain", "avatar_url": "https://avatars3.githubusercontent.com/u/5899771?v=4", "profile": "https://github.com/rjain11", "contributions": [ "doc" ] }, { "login": "Kaijun", "name": "Kaijun Chen", "avatar_url": "https://avatars3.githubusercontent.com/u/1693027?v=4", "profile": "https://github.com/Kaijun", "contributions": [ "translation" ] }, { "login": "NkS90", "name": "Nithya", "avatar_url": "https://avatars2.githubusercontent.com/u/2872399?v=4", "profile": "https://github.com/NkS90", "contributions": [ "doc" ] }, { "login": "erwanjegouzo", "name": "Erwan Jegouzo", "avatar_url": "https://avatars3.githubusercontent.com/u/366909?v=4", "profile": "http://www.erwanjegouzo.com", "contributions": [ "doc" ] }, { "login": "teameh", "name": "Tieme van Veen", "avatar_url": "https://avatars3.githubusercontent.com/u/1330668?v=4", "profile": "https://www.linkedin.com/in/tiemevanveen", "contributions": [ "doc" ] }, { "login": "linkgod", "name": "Hsun", "avatar_url": "https://avatars3.githubusercontent.com/u/1736020?v=4", "profile": "https://github.com/linkgod", "contributions": [ "translation" ] }, { "login": "adrienchretien", "name": "Adrien CHRETIEN", "avatar_url": "https://avatars2.githubusercontent.com/u/1096295?v=4", "profile": "https://github.com/adrienchretien", "contributions": [ "translation" ] }, { "login": "shnere", "name": "Alan Rodríguez", "avatar_url": "https://avatars1.githubusercontent.com/u/780497?v=4", "profile": "https://github.com/shnere", "contributions": [ "translation" ] }, { "login": "harisadam", "name": "Adam Haris", "avatar_url": "https://avatars0.githubusercontent.com/u/797521?v=4", "profile": "http://harisadam.com", "contributions": [ "translation" ] }, { "login": "toshimaru", "name": "Toshimaru", "avatar_url": "https://avatars0.githubusercontent.com/u/803398?v=4", "profile": "http://toshimaru.net/", "contributions": [ "translation" ] }, { "login": "shankarcabus", "name": "Shankar Cabus", "avatar_url": "https://avatars3.githubusercontent.com/u/1202421?v=4", "profile": "http://shankarcabus.com.br", "contributions": [ "translation" ] }, { "login": "lukasz-jakub-adamczuk", "name": "Ash", "avatar_url": "https://avatars0.githubusercontent.com/u/1239848?v=4", "profile": "https://github.com/lukasz-jakub-adamczuk", "contributions": [ "translation" ] }, { "login": "hanksudo", "name": "Hank Wang", "avatar_url": "https://avatars2.githubusercontent.com/u/467745?v=4", "profile": "https://github.com/hanksudo", "contributions": [ "translation" ] }, { "login": "Graybobo", "name": "KILLHAPPY.", "avatar_url": "https://avatars2.githubusercontent.com/u/790332?v=4", "profile": "https://graybobo.github.io/", "contributions": [ "doc" ] }, { "login": "msval", "name": "Marko Švaljek", "avatar_url": "https://avatars0.githubusercontent.com/u/2877320?v=4", "profile": "http://msvaljek.blogspot.com", "contributions": [ "translation" ] }, { "login": "Antonio-Laguna", "name": "Antonio Laguna", "avatar_url": "https://avatars2.githubusercontent.com/u/946645?v=4", "profile": "https://www.funcion13.com", "contributions": [ "doc", "translation" ] }, { "login": "mi2oon", "name": "Mithun Dhiman", "avatar_url": "https://avatars3.githubusercontent.com/u/464143?v=4", "profile": "http://www.mi2oon.com", "contributions": [ "translation" ] }, { "login": "Darklg", "name": "Kévin Rocher / @Darklg", "avatar_url": "https://avatars1.githubusercontent.com/u/307957?v=4", "profile": "http://darklg.me", "contributions": [ "translation" ] }, { "login": "dpashkevich", "name": "Dmitry Pashkevich", "avatar_url": "https://avatars3.githubusercontent.com/u/1157741?v=4", "profile": "http://dpashk.com", "contributions": [ "translation" ] }, { "login": "karmeljuk", "name": "karmeljuk", "avatar_url": "https://avatars0.githubusercontent.com/u/5672886?v=4", "profile": "https://github.com/karmeljuk", "contributions": [ "translation" ] }, { "login": "schuer", "name": "Dirk Schürjohann", "avatar_url": "https://avatars2.githubusercontent.com/u/1297466?v=4", "profile": "https://decaf.de", "contributions": [ "translation" ] }, { "login": "cybear", "name": "Björn Söderqvist", "avatar_url": "https://avatars1.githubusercontent.com/u/73858?v=4", "profile": "https://github.com/cybear", "contributions": [ "translation" ] }, { "login": "nitinhayaran", "name": "Nitin Hayaran", "avatar_url": "https://avatars1.githubusercontent.com/u/50523?v=4", "profile": "http://www.nitinh.com", "contributions": [ "doc" ] }, { "login": "Poetro", "name": "Peter Galiba", "avatar_url": "https://avatars0.githubusercontent.com/u/412052?v=4", "profile": "http://poetro.hu/", "contributions": [ "doc" ] }, { "login": "nheinrich", "name": "Neil Heinrich", "avatar_url": "https://avatars2.githubusercontent.com/u/23180?v=4", "profile": "http://neilheinrich.com", "contributions": [ "doc" ] }, { "login": "ohgyun", "name": "Ohgyun Ahn", "avatar_url": "https://avatars2.githubusercontent.com/u/582314?v=4", "profile": "http://ohgyun.com", "contributions": [ "translation" ] }, { "login": "nerdog", "name": "nerdog", "avatar_url": "https://avatars3.githubusercontent.com/u/1648813?v=4", "profile": "https://github.com/nerdog", "contributions": [ "translation" ] }, { "login": "leopic", "name": "Leo Picado", "avatar_url": "https://avatars2.githubusercontent.com/u/117184?v=4", "profile": "http://leo.cr", "contributions": [ "translation" ] }, { "login": "unity", "name": "Romain Dardour", "avatar_url": "https://avatars3.githubusercontent.com/u/9458?v=4", "profile": "http://refine.hull.io", "contributions": [ "translation" ] }, { "login": "alex-seville", "name": "Alex Seville", "avatar_url": "https://avatars2.githubusercontent.com/u/1172331?v=4", "profile": "http://blog.alexanderseville.com/", "contributions": [ "doc" ] }, { "login": "hooray", "name": "胡尐睿丶", "avatar_url": "https://avatars3.githubusercontent.com/u/1574903?v=4", "profile": "http://hooray.cnblogs.com", "contributions": [ "translation" ] }, { "login": "vermilion1", "name": "Vitalii Petrychuk", "avatar_url": "https://avatars3.githubusercontent.com/u/744568?v=4", "profile": "http://petrychuk.com", "contributions": [ "translation" ] }, { "login": "Tairraos", "name": "Tairraos", "avatar_url": "https://avatars1.githubusercontent.com/u/185069?v=4", "profile": "http://tairraos.github.io", "contributions": [ "doc", "translation" ] }, { "login": "draev", "name": "Dmitrii Raev", "avatar_url": "https://avatars2.githubusercontent.com/u/842729?v=4", "profile": "https://github.com/draev", "contributions": [ "translation" ] }, { "login": "bpu", "name": "Bartek", "avatar_url": "https://avatars1.githubusercontent.com/u/3254402?v=4", "profile": "https://github.com/bpu", "contributions": [ "translation" ] }, { "login": "vitorbal", "name": "Vitor Balocco", "avatar_url": "https://avatars2.githubusercontent.com/u/626038?v=4", "profile": "https://twitter.com/vitorbal", "contributions": [ "doc" ] }, { "login": "jonathantneal", "name": "Jonathan Neal", "avatar_url": "https://avatars0.githubusercontent.com/u/188426?v=4", "profile": "http://jonathantneal.com", "contributions": [ "doc" ] }, { "login": "Muqito", "name": "Christoffer Lans", "avatar_url": "https://avatars3.githubusercontent.com/u/3002925?v=4", "profile": "https://github.com/Muqito", "contributions": [ "translation" ] }, { "login": "LFeh", "name": "Felipe Fialho", "avatar_url": "https://avatars0.githubusercontent.com/u/3603793?v=4", "profile": "http://www.felipefialho.com/", "contributions": [ "translation" ] }, { "login": "pim", "name": "Piotrek Mierzejewski", "avatar_url": "https://avatars3.githubusercontent.com/u/85532?v=4", "profile": "http://piotrek.co", "contributions": [ "translation" ] }, { "login": "wibron", "name": "Patrik Wibron", "avatar_url": "https://avatars3.githubusercontent.com/u/233347?v=4", "profile": "http://patrikwibron.se/", "contributions": [ "translation" ] }, { "login": "vdv73rus", "name": "Dmitry Vislov", "avatar_url": "https://avatars3.githubusercontent.com/u/971061?v=4", "profile": "http://vdv73.ru", "contributions": [ "translation" ] }, { "login": "castus", "name": "Krzysztof Romanowski", "avatar_url": "https://avatars2.githubusercontent.com/u/522810?v=4", "profile": "http://krzysztofromanowski.pl", "contributions": [ "doc" ] }, { "login": "nightire", "name": "Albert Yu", "avatar_url": "https://avatars3.githubusercontent.com/u/1104018?v=4", "profile": "http://www.very-geek.com", "contributions": [ "translation" ] }, { "login": "slara", "name": "Sebastian Lara Menares", "avatar_url": "https://avatars3.githubusercontent.com/u/585824?v=4", "profile": "https://twitter.com/slaramen", "contributions": [ "translation" ] }, { "login": "sunnylost", "name": "sunnylost", "avatar_url": "https://avatars3.githubusercontent.com/u/693496?v=4", "profile": "http://sunnylost.com/", "contributions": [ "translation" ] }, { "login": "miniflycn", "name": "Daniel Yang", "avatar_url": "https://avatars3.githubusercontent.com/u/2239584?v=4", "profile": "https://github.com/miniflycn", "contributions": [ "doc" ] }, { "login": "frontdevde", "name": "Michael P. Pfeiffer", "avatar_url": "https://avatars0.githubusercontent.com/u/1562646?v=4", "profile": "http://contains.me/", "contributions": [ "translation" ] }, { "login": "Inkdpixels", "name": "Tyll Weiß", "avatar_url": "https://avatars1.githubusercontent.com/u/1557092?v=4", "profile": "http://craft-interactive.de/", "contributions": [ "translation" ] }, { "login": "andreisebastianc", "name": "Andrei Sebastian Cîmpean", "avatar_url": "https://avatars2.githubusercontent.com/u/636000?v=4", "profile": "http://andreime.com", "contributions": [ "translation" ] }, { "login": "denis-sokolov", "name": "Denis Sokolov", "avatar_url": "https://avatars0.githubusercontent.com/u/113721?v=4", "profile": "http://sokolov.cc/", "contributions": [ "doc" ] }, { "login": "arcanous", "name": "Harijs Deksnis", "avatar_url": "https://avatars3.githubusercontent.com/u/4963067?v=4", "profile": "https://github.com/arcanous", "contributions": [ "translation" ] }, { "login": "roblarsen", "name": "Rob Larsen", "avatar_url": "https://avatars0.githubusercontent.com/u/361421?v=4", "profile": "http://htmlcssjavascript.com/", "contributions": [ "ideas", "doc", "infra", "review", "question", "talk", "maintenance" ] }, { "login": "cezaraugusto", "name": "Cezar Augusto", "avatar_url": "https://avatars0.githubusercontent.com/u/4672033?v=4", "profile": "https://cezaraugusto.net/", "contributions": [ "ideas", "infra", "review", "maintenance" ] }, { "login": "vvscode", "name": "Vasiliy Vanchuk", "avatar_url": "https://avatars1.githubusercontent.com/u/6904368?v=4", "profile": "https://www.linkedin.com/in/vvanchuk/", "contributions": [ "ideas", "review", "maintenance" ] }, { "login": "veronvynguyen", "name": "Vy Nguyen", "avatar_url": "https://avatars.githubusercontent.com/u/17018972?v=4", "profile": "https://github.com/veronvynguyen", "contributions": [ "content" ] }, { "login": "PChaparro", "name": "Pedro Chaparro", "avatar_url": "https://avatars.githubusercontent.com/u/94259578?v=4", "profile": "https://pchaparro.netlify.app/", "contributions": [ "translation" ] }, { "login": "WildxHV", "name": "Harshvardhan Singh Sisodia", "avatar_url": "https://avatars.githubusercontent.com/u/71403298?v=4", "profile": "https://github.com/WildxHV", "contributions": [ "translation" ] }, { "login": "gabrielrbarbosa", "name": "Gabriel R. Barbosa", "avatar_url": "https://avatars.githubusercontent.com/u/12158575?v=4", "profile": "https://github.com/gabrielrbarbosa", "contributions": [ "translation" ] }, { "login": "talhatahir", "name": "Talha Tahir", "avatar_url": "https://avatars.githubusercontent.com/u/8845428?v=4", "profile": "https://github.com/talhatahir", "contributions": [ "content" ] }, { "login": "subashcs", "name": "Subash Chandra Sapkota", "avatar_url": "https://avatars.githubusercontent.com/u/29421465?v=4", "profile": "http://www.subashcs.com.np/", "contributions": [ "code" ] }, { "login": "sarahesbie", "name": "Sarah Brown", "avatar_url": "https://avatars.githubusercontent.com/u/4270573?v=4", "profile": "https://github.com/sarahesbie", "contributions": [ "content" ] }, { "login": "coliff", "name": "Christian Oliff", "avatar_url": "https://avatars.githubusercontent.com/u/1212885?v=4", "profile": "https://christianoliff.com/", "contributions": [ "code", "infra", "maintenance" ] }, { "login": "andershagbard", "name": "Anders Søgaard", "avatar_url": "https://avatars.githubusercontent.com/u/9662430?v=4", "profile": "https://github.com/andershagbard", "contributions": [ "content" ] }, { "login": "iaurg", "name": "Italo A.", "avatar_url": "https://avatars.githubusercontent.com/u/11761170?v=4", "profile": "https://segredo.dev/", "contributions": [ "code" ] }, { "login": "cpvalente", "name": "Carlos Valente", "avatar_url": "https://avatars.githubusercontent.com/u/34649812?v=4", "profile": "https://github.com/cpvalente", "contributions": [ "translation" ] }, { "login": "baumannzone", "name": "Jorge Baumann", "avatar_url": "https://avatars.githubusercontent.com/u/5422102?v=4", "profile": "https://baumannzone.dev/", "contributions": [ "translation" ] }, { "login": "satyamsundaram", "name": "Satyam Sundaram", "avatar_url": "https://avatars.githubusercontent.com/u/54367435?v=4", "profile": "https://satyamsundaram.tech/", "contributions": [ "content" ] }, { "login": "NegiAkash890", "name": "Akash Negi", "avatar_url": "https://avatars.githubusercontent.com/u/55234838?v=4", "profile": "https://github.com/NegiAkash890", "contributions": [ "content" ] }, { "login": "tounsils", "name": "Ilyes Tounsi", "avatar_url": "https://avatars.githubusercontent.com/u/44228841?v=4", "profile": "https://www.tn76.com/", "contributions": [ "code" ] }, { "login": "swati-gwc", "name": "Swati Tripathi", "avatar_url": "https://avatars.githubusercontent.com/u/63490144?v=4", "profile": "https://swati-gwc.github.io/", "contributions": [ "translation" ] }, { "login": "dafaputra00", "name": "Aziz Dafa Putra", "avatar_url": "https://avatars.githubusercontent.com/u/62801712?v=4", "profile": "https://github.com/dafaputra00", "contributions": [ "translation" ] }, { "login": "Abg4real", "name": "Abg4real", "avatar_url": "https://avatars.githubusercontent.com/u/55308761?v=4", "profile": "https://github.com/Abg4real", "contributions": [ "content" ] }, { "login": "nataliepina", "name": "Natalie Pina", "avatar_url": "https://avatars.githubusercontent.com/u/34781875?v=4", "profile": "https://github.com/nataliepina", "contributions": [ "content" ] }, { "login": "bt-dot", "name": "Bruce Tang", "avatar_url": "https://avatars.githubusercontent.com/u/55170799?v=4", "profile": "https://github.com/bt-dot", "contributions": [ "content" ] }, { "login": "vltansky", "name": "Vlad Tansky", "avatar_url": "https://avatars.githubusercontent.com/u/5851280?v=4", "profile": "https://github.com/vltansky", "contributions": [ "code", "design" ] }, { "login": "voy", "name": "Vojtech Jasny", "avatar_url": "https://avatars.githubusercontent.com/u/194726?v=4", "profile": "https://github.com/voy", "contributions": [ "content" ] }, { "login": "Linda-Ikechukwu", "name": "Linda Ikechukwu", "avatar_url": "https://avatars.githubusercontent.com/u/32891838?v=4", "profile": "https://codewithlinda.com/", "contributions": [ "content" ] }, { "login": "iownthegame", "name": "Hui-Yu Lee", "avatar_url": "https://avatars.githubusercontent.com/u/1487369?v=4", "profile": "https://github.com/iownthegame", "contributions": [ "translation" ] }, { "login": "aej11a", "name": "Andrew Jones", "avatar_url": "https://avatars.githubusercontent.com/u/10066422?v=4", "profile": "https://github.com/aej11a", "contributions": [ "content" ] }, { "login": "Teesy99", "name": "Teesta Koch", "avatar_url": "https://avatars.githubusercontent.com/u/45621118?v=4", "profile": "https://github.com/Teesy99", "contributions": [ "doc" ] } ], "repoType": "github", "commitConvention": "none" } ================================================ FILE: src/_data/helpers.js ================================================ module.exports = { currentYear() { const today = new Date(); return today.getFullYear(); }, }; ================================================ FILE: src/_data/maintainers.json ================================================ { "all": [ { "avatar": "https://avatars0.githubusercontent.com/u/459713?v=4", "name": "Darcy Clarke", "website": "https://darcyclarke.me", "github": "https://github.com/darcyclarke", "twitter": "https://twitter.com/darcy" }, { "avatar": "https://avatars0.githubusercontent.com/u/361421?v=4", "name": "Rob Larsen", "website": "http://htmlcssjavascript.com/", "github": "https://github.com/roblarsen", "twitter": "https://twitter.com/robreact" }, { "avatar": "https://avatars1.githubusercontent.com/u/6904368?v=4", "name": "Vasiliy Vanchuk", "website": "https://bit.ly/vvscodeli", "github": "https://github.com/vvscode", "twitter": "https://twitter.com/vvscode" } ], "legacy": [ { "avatar": "https://avatars0.githubusercontent.com/u/4672033?v=4", "name": "Cezar Augusto", "website": "https://cezaraugusto.net", "github": "https://github.com/cezaraugusto", "twitter": "https://twitter.com/cezaraugusto" }, { "avatar": "https://avatars0.githubusercontent.com/u/1245284?v=4", "name": "Righ Gilbank", "website": "https://richgilbank.com/", "github": "https://github.com/richgilbank", "twitter": "https://twitter.com/richgilbank" }, { "avatar": "https://avatars0.githubusercontent.com/u/21979?v=4", "name": "Bo-Yi Wu", "website": "https://about.me/appleboy", "github": "https://github.com/appleboy", "twitter": "https://twitter.com/appleboy" } ] } ================================================ FILE: src/_data/og.json ================================================ { "all": [ { "avatar": "https://avatars0.githubusercontent.com/u/39191?v=4", "name": "Paul Irish", "website": "https://www.paulirish.com/", "github": "https://github.com/paulirish", "twitter": "https://twitter.com/paul_irish" }, { "avatar": "https://avatars0.githubusercontent.com/u/459713?v=4", "name": "Darcy Clarke", "website": "https://darcyclarke.me", "github": "https://github.com/darcyclarke", "twitter": "https://twitter.com/darcy" }, { "avatar": "https://avatars1.githubusercontent.com/u/85315?s=460&v=4", "name": "Ben Truyman", "website": "", "github": "https://github.com/bentruyman", "twitter": "https://twitter.com/bentruyman" }, { "avatar": "https://avatars1.githubusercontent.com/u/54051?s=460&v=4", "name": "Ben Alman", "website": "http://benalman.com/", "github": "https://github.com/cowboy", "twitter": "https://twitter.com/cowboy" }, { "avatar": "https://avatars1.githubusercontent.com/u/155599?s=460&v=4", "name": "Adam Sontag", "website": "http://ajpiano.com/", "github": "https://github.com/ajpiano", "twitter": "https://twitter.com/ajpiano" }, { "avatar": "https://avatars1.githubusercontent.com/u/96554?s=460&v=4", "name": "Alex Sexton", "website": "https://alexsexton.com/", "github": "https://github.com/slexaxton", "twitter": "https://twitter.com/slexaxton" }, { "avatar": "https://avatars1.githubusercontent.com/u/234160?s=460&v=4", "name": "Roger Raymond", "website": "http://asphyxia.com/", "github": "https://github.com/iansym", "twitter": "https://twitter.com/iansym" }, { "avatar": "https://avatars1.githubusercontent.com/u/58987?s=460&v=4", "name": "Rebecca Murphey", "website": "https://rmurphey.com/", "github": "https://github.com/rmurphey", "twitter": "https://twitter.com/rmurphey" }, { "avatar": "https://avatars1.githubusercontent.com/u/122117?s=460&v=4", "name": "Boaz Sender", "website": "http://boazsender.com/", "github": "https://github.com/boazsender", "twitter": "https://twitter.com/boazsender" }, { "avatar": "https://avatars1.githubusercontent.com/u/67283?s=460&v=4", "name": "Mike Taylor", "website": "https://miketaylr.com/", "github": "https://github.com/miketaylr", "twitter": "https://twitter.com/miketaylr" }, { "avatar": "https://avatars1.githubusercontent.com/u/128755?s=460&v=4", "name": "Vlad Filippov", "website": "https://vladfilippov.com/", "github": "https://github.com/vladikoff", "twitter": "https://twitter.com/vladikoff" }, { "avatar": "https://avatars1.githubusercontent.com/u/18397?s=460&v=4", "name": "Gianni Chiappetta", "website": "http://turnt.biz/", "github": "https://github.com/gf3", "twitter": "https://twitter.com/gf3" }, { "avatar": "https://avatars1.githubusercontent.com/u/188426?s=460&v=4", "name": "Jonathan Neal", "website": "https://jonneal.dev/", "github": "https://github.com/jonathantneal", "twitter": "https://twitter.com/jon_neal" }, { "avatar": "https://avatars1.githubusercontent.com/u/84644?s=460&v=4", "name": "Sam Breed", "website": "https://wookiehangover.com/", "github": "https://github.com/wookiehangover", "twitter": "https://twitter.com/sambreed" } ] } ================================================ FILE: src/_data/questions.json ================================================ { "all": [ { "abbreviation": "General", "title": "General Questions", "url": "/questions/general-questions/", "external": false }, { "abbreviation": "HTML", "title": "HTML Questions", "url": "/questions/html-questions/", "external": false }, { "abbreviation": "CSS", "title": "CSS Questions", "url": "/questions/css-questions/", "external": false }, { "abbreviation": "JavaScript", "title": "JavaScript Questions", "url": "/questions/javascript-questions/", "external": false }, { "abbreviation": "A11y", "title": "Accessibility Questions", "url": "https://scottaohara.github.io/accessibility_interview_questions/", "external": true }, { "abbreviation": "Testing", "title": "Testing Questions", "url": "/questions/testing-questions/", "external": false }, { "abbreviation": "Performance", "title": "Performance Questions", "url": "/questions/performance-questions/", "external": false }, { "abbreviation": "Network", "title": "Network Questions", "url": "/questions/network-questions/", "external": false }, { "abbreviation": "Coding", "title": "Coding Questions", "url": "/questions/coding-questions/", "external": false }, { "abbreviation": "Fun", "title": "Fun Questions", "url": "/questions/fun-questions/", "external": false } ] } ================================================ FILE: src/_data/site.json ================================================ { "title": "Front-end Developer Interview Questions", "url": "https://h5bp.org/Front-end-Developer-Interview-Questions/", "description": "A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.", "keywords": "front-end, interview questions, css questions, js questions, html questions, performance questions, interview test", "language": "en_US", "twitter": "@h5bp" } ================================================ FILE: src/_data/translations.json ================================================ { "all": [ { "language": "Arabic", "url": "arabic/" }, { "language": "Bangla", "url": "bengali/" }, { "language": "Bulgarian", "url": "bulgarian/" }, { "language": "Burmese", "url": "burmese/" }, { "language": "Chinese", "url": "chinese/" }, { "language": "Chinese-Traditional", "url": "chinese-traditional/" }, { "language": "Croatian", "url": "croatian/" }, { "language": "Czech", "url": "czech/" }, { "language": "Danish", "url": "danish/" }, { "language": "Dutch", "url": "dutch/" }, { "language": "Farsi", "url": "farsi/" }, { "language": "French", "url": "french/" }, { "language": "German", "url": "german/" }, { "language": "Hebrew", "url": "hebrew/" }, { "language": "Greek", "url": "greek/" }, { "language": "Hindi", "url": "hindi/" }, { "language": "Hungarian", "url": "hungarian/" }, { "language": "Indonesian", "url": "indonesian/" }, { "language": "Italian", "url": "italian/" }, { "language": "Japanese", "url": "japanese/" }, { "language": "Korean", "url": "korean/" }, { "language": "Latvian", "url": "latvian/" }, { "language": "Polish", "url": "polish/" }, { "language": "Portuguese", "url": "portuguese/" }, { "language": "Romanian", "url": "romanian/" }, { "language": "Russian", "url": "russian/" }, { "language": "Serbian", "url": "serbian/" }, { "language": "Slovakian", "url": "slovakian/" }, { "language": "Slovenian", "url": "slovenian/" }, { "language": "Spanish", "url": "spanish/" }, { "language": "Swedish", "url": "swedish/" }, { "language": "Turkish", "url": "turkish/" }, { "language": "Ukrainian", "url": "ukrainian/" }, { "language": "Vietnamese", "url": "vietnamese/" } ] } ================================================ FILE: src/_includes/assets/css/content.css ================================================ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: var(--font-family-body); font-weight: 400; font-size: 1.2rem; line-height: 2; color: var(--color-text); } section + section { padding-top: 2rem; } h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-heading); color: var(--color-heading); font-style: normal; line-height: 1.2; font-weight: 600; } section + section { padding-top: 2rem; } a { color: inherit; text-decoration: none; color: var(--color-secondary); transition: color ease-out var(--transition-duration); } a.current, a:hover:not(.skip-link), a:focus:not(.skip-link) { color: var(--color-primary); } a:not(.navigation-anchor)[rel~='external']:after { content: ' ➚' } ul:not(.navigation):not(.inline-list) { list-style: none; } ul:not(.navigation):not(.inline-list) li::before { content: "\25A0"; color: var(--color-primary); font-weight: bold; display: inline-block; width: 1em; margin-left: -1em; } .rtl ul:not(.navigation):not(.inline-list) li::before{ margin-right: -1em; margin-left: initial; } li { margin-bottom: 0.6rem; } strong, b { font-weight: 600; } time { display: inline-block; color: var(--color-gray-70); } [tabindex='-1'] { outline: 0; } img, svg { vertical-align: middle; } img { display: block; max-width: 100%; border-radius: var(--border-radius-default); } code { font-family: var(--font-family-code); color: var(--color-code); font-style: normal; font-size: 1rem; } blockquote:not([class]) { padding-left: 1rem; margin-left: -1rem; border-left: 2px solid var(--color-primary); color: var(--color-gray-70); font-style: italic; } code[class*=language-], pre[class*=language-] { font-size: 0.9rem; font-style: normal; } p + pre[class*=language-] { margin-bottom: 1.8rem; } mark { color: var(--color-highlight); background-color: transparent; } dt { font-weight: 700; } dd + dt { padding-top: 0.5rem; } abbr[title], acronym[title] { background: var(--color-gray-opacity); border: 1px solid var(--color-gray-opacity); cursor: help; } .container { max-width: 66rem; padding: 1.5rem 2rem 2rem; margin-right: auto; margin-left: auto; } @media (min-width: 30rem) { .container { padding: 3rem 4rem 4rem; } } .content li:not(:last-of-type) { margin-bottom: 1.2rem; } .content h2 { max-width: 33rem; } .content > *:not(:last-child) { margin-bottom: 2rem; } .content *:not(hr) + h2, .content *:not(hr) + h3 { padding-top: 1rem; } .content ul:not(.inline-list), .content ol:not(.inline-list) { padding-left: 1.2rem; } .content-simple li:not(:last-of-type) { margin-bottom: 0.5rem; } .content-edit { text-align: right; margin-top: 2rem; } .inline-list { padding: 0; list-style: none; display: flex; flex-wrap: wrap; } .inline-list li { padding: 0 5px; display: inline-block; vertical-align: middle; text-align: center; } .inline-list li::before { content: ''; margin-left: 0; } .inline-list li img { display: block; margin: auto; margin-bottom: 0.6rem; } .inline-list li a { display: inline-block; vertical-align: middle; margin: 0 0.15rem; } .inline-list-contributors li a, .inline-list-original li a { font-size: 1rem; } .avatar { max-width: 12rem; } hr { border: none; bacground: none; border-bottom: 1px solid #efefef; } ================================================ FILE: src/_includes/assets/css/defaults.css ================================================ * { margin: 0; padding: 0; box-sizing: border-box; outline-color: var(--color-primary); } ::selection { background: var(--color-primary); color: var(--background-default); } ::-moz-selection { background: var(--color-primary); color: var(--background-default); } ================================================ FILE: src/_includes/assets/css/footer.css ================================================ .footer { padding-top: 3rem; } .footer-text { font-size: 0.8rem; } ================================================ FILE: src/_includes/assets/css/header.css ================================================ .topbar { width: 100%; height: 0.18rem; background: var(--color-gradient); } .skip-link { position: absolute; top: 0; left: 0; padding: 0.5rem 1rem; background-color: var(--color-primary); color: #fff; text-decoration: none; transform: translateY(-100%); } .skip-link:focus { transform: none; } .header { margin-bottom: 2rem; } .header-big-title { font-size: 2.3rem; line-height: 1.06; margin: 1.4rem 0 0.7rem; color: var(--color-primary); word-break: break-word; } .rtl .header-big-title{ text-align: right; } @media (min-width: 30em) { .header-big-title { margin: 1.4rem 0 0.7rem; font-size: 4.6rem; } } @media (min-width: 60em) { .header-big-title { margin: 2.1rem 0 0.7rem; font-size: 5.4rem; } } @supports (mix-blend-mode: lighten) { .header-big-title { display: inline-block; position: relative; color: #000; background: #fff; mix-blend-mode: multiply; } .header-big-title::before { content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-image: url('https://h5bp.github.io/Front-end-Developer-Interview-Questions/assets/images/gradient.svg'); background-size: cover; pointer-events: none; } .header-big-title::before { mix-blend-mode: screen; } } .header-heading { font-size: 2.3rem; text-transform: uppercase; } .header-big-description { font-size: 1.2rem; line-height: 1.4; padding: 1rem 0; } @media (min-width: 30em) { .header-big-description { font-size: 1.5rem; } } @media (min-width: 60em) { .header-big-description { font-size: 1.8rem; } } .header-description { padding-top: 1rem; } ================================================ FILE: src/_includes/assets/css/navigation.css ================================================ .nav { padding: 1rem 0; position: relative; font-family: var(--font-family-heading); } .nav li { word-wrap: none; white-space: nowrap; } .navigation { list-style: none; display: flex; flex-wrap: wrap; font-size: 1rem; } .navigation-questions-label { margin-right: auto; } @media (min-width: 60em) { .navigation-questions-label { margin-right: 0; } } .navigation-toggle { display: inline-block; appearance: none; border: 0; font-size: 1rem; font-weight: 600; cursor: pointer; background: transparent; } .navigation-toggle::after { content: '\25BE'; padding-left: 0.3rem; display: inline-block; font-size: 1.2rem; font-weight: bold; color: var(--color-primary); transform-origin: center; } .navigation-toggle:hover::after, .navigation-toggle:active::after, .navigation-toggle:focus::after { color: var(--color-secondary); } .navigation.open .navigation-toggle::after { transform: scaleY(-1) translateY(-0.25em); } @media (min-width: 60em) { .navigation-toggle { color: var(--color-text); pointer-events: none; cursor: default; } .navigation-toggle::after { display: none; } } .navigation-questions-list { padding: 0.5rem 1rem; display: flex; flex-direction: column; position: absolute; top: calc(100% - 1rem); left: 0; z-index: 1; opacity: 0; transform: scale(0.5, 0); transform-origin: center top; transition: opacity .1s, transform .2s ease-out; background-color: #fff; box-shadow: 0 0 0 1px var(--color-secondary), 0 2px 4px -1px var(--color-text); } .navigation.open .navigation-questions-list { opacity: 1; transform: none; } .navigation.no-motion .navigation-questions-list { transition: none; } @media (min-width: 60em) { .navigation-questions-list { padding: 0; flex-direction: row; position: static; opacity: 1; transform: none; transition: none; background-color: transparent; box-shadow: none; } .navigation-questions-list li { margin: 0; } } .navigation-questions-anchor { visibility: hidden; } .navigation.open .navigation-questions-anchor { visibility: visible; } @media (min-width: 60em) { .navigation-questions-anchor { visibility: visible; } } .navigation-item-emoji { width: 100%; font-size: 1rem; line-height: 1rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; vertical-align: top; align-content: flex-start; border-bottom: 1px solid #efefef; } .navigation-item-home { border-bottom: none; padding-bottom: 0; font-weight: 600; } @media (min-width: 60em) { .navigation-item-emoji { width: 50%; margin-bottom: 2rem; border-bottom: 1px solid #efefef; } } .navigation-item-emoji em { font-style: normal; margin-right: 0.5rem; } .navigation-item-translations { text-align: left; } @media (min-width: 60em) { .navigation-item-translations { text-align: right; } } .navigation-item-home em { color: #835eff; } .navigation-item-emoji a { text-decoration: none; display: inline-block; vertical-align: middle; } @media (min-width: 60em) { .navigation-item:not(:last-of-type) { margin-right: 0.8rem } } .navigation-anchor[rel~="external"]::after { content: ' ➚'; color: var(--color-highlight); } .navigation-anchor.current { border-bottom: 2px solid var(--color-highlight); padding: 0 0 5px 0; } ================================================ FILE: src/_includes/assets/css/prism.css ================================================ /** * atom-dark theme for `prism.js` * Based on Atom's `atom-dark` theme: https://github.com/atom/atom-dark-syntax * @author Joe Gibson (@gibsjose) */ code[class*="language-"], pre[class*="language-"] { color: #c5c8c6; text-shadow: 0 1px rgba(0, 0, 0, 0.3); font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace; direction: ltr; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } /* Code blocks */ pre[class*="language-"] { padding: 1em; margin: .5em 0; overflow: auto; border-radius: 0.3em; } :not(pre) > code[class*="language-"], pre[class*="language-"] { background: #370b44; } /* Inline code */ :not(pre) > code[class*="language-"] { padding: .1em; border-radius: .3em; } .token.comment, .token.prolog, .token.doctype, .token.cdata { color: #7C7C7C; } .token.punctuation { color: #c5c8c6; } .namespace { opacity: .7; } .token.property, .token.keyword, .token.tag { color: #96CBFE; } .token.class-name { color: #FFFFB6; text-decoration: underline; } .token.boolean, .token.constant { color: #99CC99; } .token.symbol, .token.deleted { color: #f92672; } .token.number { color: #FF73FD; } .token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted { color: #A8FF60; } .token.variable { color: #C6C5FE; } .token.operator { color: #EDEDED; } .token.entity { color: #FFFFB6; /* text-decoration: underline; */ } .token.url { color: #96CBFE; } .language-css .token.string, .style .token.string { color: #87C38A; } .token.atrule, .token.attr-value { color: #F9EE98; } .token.function { color: #DAD085; } .token.regex { color: #E9C062; } .token.important { color: #fd971f; } .token.important, .token.bold { font-weight: bold; } .token.italic { font-style: italic; } .token.entity { cursor: help; } ================================================ FILE: src/_includes/assets/css/variables.css ================================================ :root { --font-family-heading: sans-serif; --font-family-body: Georgia, serif; --font-family-code: Menlo, Monaco, 'Courier New', monospace; --color-primary: #835EFF; --color-secondary: #FF008D; --color-safe: #8338EC; --color-gradient: linear-gradient(to right, var(--color-primary), var(--color-secondary)); --color-highlight: var(--color-primary); --color-gray-opacity: rgba(39,39,39,0.04); --color-heading: #23231A; --color-text: #23231A; --background-default: #F9F9F9; --border-radius-default: 5px; --box-shadow-default: 0 2rem 4rem rgba(0,0,0,.15); --transition-duration: 0.27s; } body.rtl{ --font-family-body: Arial, Helvetica, sans-serif; } ================================================ FILE: src/_includes/assets/js/app.js ================================================ console.log( '%cA black belt is a white belt that didn\'t quit.', 'color: #fff; font-size: 20px; text-shadow: 1px 1px 1px #000; font-family: serif;' ) var navToggle = document.getElementById('navigation-toggle') var nav = document.getElementById('navigation') navToggle.addEventListener('click', function() { nav.classList.toggle('open') }) window.addEventListener('resize', function() { if (document.width > 960) { // Remove `active` class if viewport shows full menu nav.classList.remove('active') } else { // Temporarily add class to prevent visible motion after resize nav.classList.add('no-motion') setTimeout(function () { nav.classList.remove('no-motion') }, 250); } }) ================================================ FILE: src/_includes/components/footer.njk ================================================ ================================================ FILE: src/_includes/components/navigation.njk ================================================ ================================================ FILE: src/_includes/layouts/default.njk ================================================ {% if title and page.fileSlug != '' %}{{ title }} ★ {% endif %}{{ site.title }} {% set css %} {% include "assets/css/prism.css" %} {% include "assets/css/variables.css" %} {% include "assets/css/defaults.css" %} {% include "assets/css/navigation.css" %} {% include "assets/css/header.css" %} {% include "assets/css/content.css" %} {% include "assets/css/footer.css" %} {% endset %}
{% include "components/navigation.njk" %}
{% block pageTop %}{% endblock %} {% block main %}{% endblock %}
{% include "components/footer.njk" %}
{% set js %}{% include "assets/js/app.js" %}{% endset %} ================================================ FILE: src/_includes/layouts/page.njk ================================================ {% extends 'layouts/default.njk' %} {% block pageTop %}
{% if heading and heading === true %}

{{ title }}

{% else %}

{{ title }}

{% endif %} {% if description %}

{{ description | markdownify_inline | safe }}

{% endif %}
{% endblock %} {% block main %}
{{ content | safe }}
{% endblock %} ================================================ FILE: src/about.njk ================================================ --- title: About permalink: /about/index.html --- {% extends 'layouts/page.njk' %} {% set content %} ## Overview 📦 This project started in 2009 by [Darcy Clarke](https://darcyclarke.me), releasing in [2012](http://web.archive.org/web/20120909134303/http://darcyclarke.me/development/front-end-job-interview-questions) to the public. Many of the initial questions were sourced from a shared **etherpad** document started by [Paul Irish](https://twitter.com/paul_irish). At its core, the project contains a number of front-end questions that can be used when vetting potential candidates, test yourself or used as a guide for concepts you may want to learn. It is by no means recommended to use these questions verbatim, nor expected that someone would know all the "answers". These questions are intentionally written to be open-ended and hopefully lead to interesting discussions that tell you more about a person's thought process then reference memory. #### This project was featured on [The Changelog](https://changelog.com/podcast/143) – Episode #143 (Feb 21, 2015) ## Current Maintainers 🦄
## Maintainers Emeriti 🐴
## Original Contributors ✨
## All Contributors 🌏 Saw something wrong? Want to add a question? suggest something? Check our [contributing guidelines](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/.github/CONTRIBUTING.md), open a pull-request or [fill a bug](https://github.com/h5bp/Front-end-Developer-Interview-Questions/issues/new). {% endset %} {% block main %}
{{ content | markdownify | safe }}
{% endblock %} ================================================ FILE: src/index.njk ================================================ --- title: Front-end Developer Interview Questions permalink: /index.html rtl: false --- {% extends 'layouts/default.njk' %} {% block pageTop %}

{{ title }}

A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore. Read more about it here. Better in your language? See one of our translations.

Since this project begun, thousands of questions were added by an amazing group of people, and translated to more than 30 different languages. Want to contribute? See our contribution guidelines.

{% endblock %} {% block main %}{% endblock %} ================================================ FILE: src/questions/coding-questions.md ================================================ --- title: Coding Questions layout: layouts/page.njk permalink: /questions/coding-questions/index.html --- Question: What is the value of `foo`? ```javascript var foo = 10 + '20'; ``` Question: What will be the output of the code below? ```javascript console.log(0.1 + 0.2 == 0.3); ``` Question: How would you make this work? ```javascript add(2, 5); // 7 add(2)(5); // 7 ``` Question: What value is returned from the following statement? ```javascript "i'm a lasagna hog".split("").reverse().join(""); ``` Question: What is the value of `window.foo`? ```javascript ( window.foo || ( window.foo = "bar" ) ); ``` Question: What is the outcome of the two alerts below? ```javascript var foo = "Hello"; (function() { var bar = " World"; alert(foo + bar); })(); alert(foo + bar); ``` Question: What is the value of `foo.length`? ```javascript var foo = []; foo.push(1); foo.push(2); ``` Question: What is the value of `foo.x`? ```javascript var foo = {n: 1}; var bar = foo; foo.x = foo = {n: 2}; ``` Question: What does the following code print? ```javascript console.log('one'); setTimeout(function() { console.log('two'); }, 0); Promise.resolve().then(function() { console.log('three'); }) console.log('four'); ``` Question: What is the difference between these four promises? ```javascript doSomething().then(function () { return doSomethingElse(); }); doSomething().then(function () { doSomethingElse(); }); doSomething().then(doSomethingElse()); doSomething().then(doSomethingElse); ``` Question: What will the code below output to the console and why? ```javascript (function(){ var a = b = 3; })(); console.log("a defined? " + (typeof a !== 'undefined')); console.log("b defined? " + (typeof b !== 'undefined')); ``` Question: Consider the two functions below. Will they both return the same thing? Why or why not? ```javascript function foo1() { return { bar: "hello" }; } function foo2() { return { bar: "hello" }; } ``` ================================================ FILE: src/questions/css-questions.md ================================================ --- title: CSS Questions layout: layouts/page.njk permalink: /questions/css-questions/index.html --- * What is CSS selector specificity and how does it work? * What is the difference between "resetting" and "normalizing" CSS? Which would you choose, and why? * Describe Floats and how they work. * Describe z-index and how stacking context is formed. * Describe BFC (Block Formatting Context) and how it works. * What are the various clearing techniques and which is appropriate for what context? * How would you approach fixing browser-specific styling issues? * How do you serve your pages for feature-constrained browsers? * What techniques/processes do you use? * What are the different ways to visually hide content (and make it available only for screen readers)? * Have you ever used a grid system, and if so, what do you prefer? * Have you used or implemented media queries or mobile specific layouts/CSS? * Are you familiar with styling SVG? * Can you give an example of an `@media` property other than `screen`? * What are some of the "gotchas" for writing efficient CSS? * What are the advantages/disadvantages of using CSS preprocessors? * Describe what you like and dislike about the CSS preprocessors you have used. * How would you implement a web design comp that uses non-standard fonts? * Explain how a browser determines what elements match a CSS selector. * Describe pseudo-elements and discuss what they are used for. * Explain your understanding of the box model and how you would tell the browser in CSS to render your layout in different box models. * What does ```* { box-sizing: border-box; }``` do? What are its advantages? * What is the CSS `display` property and can you give a few examples of its use? * What is the difference between inline and inline-block? * What is the difference between the "nth-of-type()" and "nth-child()" selectors? * What is the difference between a relative, fixed, absolute and statically positioned element? * What existing CSS frameworks have you used locally, or in production? How would you change/improve them? * Have you used CSS Grid? * Can you explain the difference between coding a web site to be responsive versus using a mobile-first strategy? * Have you ever worked with retina graphics? If so, when and what techniques did you use? * Is there any reason you'd want to use `translate()` instead of *absolute positioning*, or vice-versa? And why? * How is clearfix css property useful? * Can you explain the difference between px, em and rem as they relate to font sizing? * Can you give an example of a pseudo class? Can you provide an example use case for a pseudo class? * What is the difference between a block level element and an inline element? Can you provide examples of each type of element? * What is the difference between CSS Grid and Flexbox? When would you use one over the other? * What is the difference between fixed, fluid and responsive layouts? ================================================ FILE: src/questions/fun-questions.md ================================================ --- title: Fun Questions layout: layouts/page.njk permalink: /questions/fun-questions/index.html --- * What is a cool project that you've recently worked on? * What are some things you like about the developer tools you use? * Who inspires you in the front-end community? * Do you have any pet projects? What kind? ================================================ FILE: src/questions/general-questions.md ================================================ --- title: General Questions layout: layouts/page.njk permalink: /questions/general-questions/index.html --- * What did you learn yesterday/this week? * What excites or interests you about coding? * What is a recent technical challenge you experienced and how did you solve it? * When building a new web site or maintaining one, can you explain some techniques you have used to increase performance? * Can you describe some SEO best practices or techniques you have used lately? * Can you explain any common techniques or recent issues solved in regards to front-end security? * What actions have you personally taken on recent projects to increase maintainability of your code? * Talk about your preferred development environment. * Which version control systems are you familiar with? * Can you describe your workflow when you create a web page? * If you have 5 different stylesheets, how would you best integrate them into the site? * Can you describe the difference between progressive enhancement and graceful degradation? * How would you optimize a website's assets/resources? * How many resources will a browser download from a given domain at a time? * What are the exceptions? * Name 3 ways to decrease page load (perceived or actual load time). * If you jumped on a project and they used tabs and you used spaces, what would you do? * Describe how you would create a simple slideshow page. * If you could master one technology this year, what would it be? * Explain the importance of standards and standards bodies. * What is Flash of Unstyled Content? How do you avoid FOUC? * Explain what ARIA and screenreaders are, and how to make a website accessible. * Explain some of the pros and cons for CSS animations versus JavaScript animations. * What does CORS stand for and what issue does it address? * How did you handle a disagreement with your boss or your collaborator? * What resources do you use to learn about the latest in front end development and design? * What skills are needed to be a good front-end developer? * What role do you see yourself in? * Can you explain what happens when you enter a URL into the browser? * Describe the difference between SSR and CSR. Discuss the pros and cons. * Are you familiar with static rendering? * Rehydration? ================================================ FILE: src/questions/html-questions.md ================================================ --- title: HTML Questions layout: layouts/page.njk permalink: /questions/html-questions/index.html --- * What does a `doctype` do? * How do you serve a page with content in multiple languages? * What kind of things must you be wary of when designing or developing for multilingual sites? * What are `data-` attributes good for? * Consider HTML5 as an open web platform. What are the building blocks of HTML5? * Describe the difference between a `cookie`, `sessionStorage` and `localStorage`. * Describe the difference between `