Hvordan tackles dit webudviklerinterview Q&A: hvad gør en doktype?

En del af interviewprocessen for en webudviklerposition involverer sandsynligvis besvarelse af nogle spørgsmål. Ja, det forventes ikke kun, at vi gør web-ting, men det forventes også, at vi kender web-tingene.

Jeg er meget i stand til at skrive et HTML-dokument ved hjælp af semantiske tags og følge de bedste webstandarder, men der er ting, jeg aldrig har tænkt på at lære.

Jeg modtog for nylig en liste over spørgsmål til webudviklerinterview, og da jeg først kiggede på listen, stoppede mit hjerte næsten.

  • Hvad gør en doktype?
  • Er der problemer med at vise sider som applikation / xhtml + xml?
  • Hvad er forskellen mellem funktionsdetektering, funktionsinferens og brug af UA-strengen?

Helt ærligt kunne jeg ikke svare på de fleste af spørgsmålene.

Jeg antager, at det er her, en CS-grad kan komme til nytte.

Men som selvlært udvikler fokuserede jeg på at gøre, snarere end at vide. Da jeg selv leder efter et job, tænkte jeg imidlertid, at det kunne være klogt at forberede et webudviklerinterview og besvare nogle af disse spørgsmål.

Så i de næste jeg-ved ikke-hvor-mange indlæg vil jeg tage et spørgsmål fra et webudviklerinterview (der er meget elskværdig leveret af Rose fra Verify rekrutteringsbureauet i Dublin, Irland) og besvare det efter bedste evne.

Jeg vil tackle nogle HTML, nogle CSS og nogle JavaScript-spørgsmål.

Svarene vil ikke være udtømmende, men de vil forhåbentlig give dig og mig en god start, hvis vi ønsker at grave lidt dybere.

Spørgsmål: Hvad gør en?

Doctype er forkortelsen for "dokumenttype." Duh, ikke? Jeg mener, hvem ville have troet?

Men seriøst, hvorfor skal vi angive doktypen, når vi gemmer dokumentet som en HTML-fil, hvilket helt sikkert betyder, at det er et HTML-dokument? Sagen er, at du også har brug for en til en .php-side, der inkluderer HTML-markering.

Det er her, det bliver forvirrende. Så lad os pakke det lidt ud.

Doktypedeklaration fortæller browseren, hvilken type dokument man kan forvente: HTML5, HTML4.0x, XHTML1.0 (Strict, Transitional eller Frameset), XHTML1.1 og andre.

Men hvorfor kræves det?

Af ældre grunde.

I de tidlige dage af Internettet konkurrerede to hovedbrowsere mod hinanden. Netscape Navigator og Internet Explorer. De kom med nye funktioner, der ofte var uforenelige med de andre, allerede eksisterende funktioner eller andre browsere.

Det var en vanskelig tid for udviklerne (lad os alle tage et minut og tælle vores velsignelser).

Så grundlæggeren af ​​World Wide Web, Sir Tim Berners-Lee, grundlagde World Wide Web Consortium (W3C) for at standardisere de protokoller og teknologier, der blev brugt til at opbygge internettet og for at gøre livet lettere for både udviklere og brugere.

De nye protokoller var gode til de nye browsere og implementeringer, men de ville helt bryde de eksisterende sider.

Indtast dokumenttypedefinitioner (DTD'er).

DTD'er fortæller parseren, hvordan man oversætter koden til det, du ser på skærmen, så udseendet er ensartet i forskellige browsere.

For at gengive et HTML4.01-dokument skal du bruge denne kode øverst i dit dokument:

For at gengive et HTML5-dokument skal du inkludere denne kode i stedet:

HTML5 er ganske vist meget lettere at erklære.

Brug af doktypedeklarationen er et krav, som W3C stiller til os; uden det fungerer HTML-validatorerne ikke (fordi de ikke ved, hvilken standard de skal kontrollere din kode mod), og browseren gengiver muligvis dokumentet i en quirks-tilstand.

Hvad siger du? En quirks mode?

Hvis du ikke erklærer doktypen, kan browsere fortolke dokumentet som noget andet end HTML og skifte til quirks-tilstand, hvilket grundlæggende er en tilstand til dokumenter uden doktypedeklaration.

Der kan være mange quirks i quirks-tilstanden; det kan stort set ødelægge, hvordan dit dokument vises på skærmen!

Quirks-tilstand, næsten standardtilstand og den fulde standardtilstand er noget, jeg skal se på næste gang.

For øjeblikket skal du passe på din doktype og se dig snart!

Hvis du har nydt denne artikel og fundet den gavnlig, kan du overveje at give mig en kommentar eller nogle klapper. Tak skal du have!