```html

AI är anledningen till att arbetsintervjuer har blivit svårare nu

Under de senaste veckorna har jag förberett mig för arbetsintervjuer. Något som fångade min uppmärksamhet var hur svårighetsgraden på frågorna har ökat dramatiskt. År 2021 förväntades det att man skulle lösa en fråga inom dynamisk programmering (DP), rekursion, eller trädstrukturer på 45 minuter, vilket i sig är tufft. Men år 2024 ger företag probleminställningar på leetcode-svårighetsnivå och kräver att dessa löses på mindre än 30 minuter.

Exempel på svårare intervjufrågor

Exempel 1 [ställd av ett FAANG-företag]: Denna fråga kräver dynamisk programmering på grafer med bitmaskning och backtracking. Kanske även topologisk sortering.

Exempel 2 [ställd av Uber]: Här är vad KenKen-pussel från wiki ser ut. Lycka till med att lösa detta på en halvtimme!

Vem löser dessa frågor?

Självklart är det personer som använder verktyg som: Ultracode, Final Round AI, Cheetah och andra liknande verktyg. Skaparen av Ultracode uttryckte det bäst: "Ultracode är väl utrustat för att besvara vilken teknisk fråga du än kastar på det. Algoritmisk, OOP, systemdesign. Det spelar ingen roll. Till och med någon utan teknisk bakgrund som jag själv kan klara en snygg intervju."

Folk använder verkligen dessa verktyg, och det kan du se för dig själv.

Vad betyder detta för oss som traditionellt studerar?

Vi kommer ständigt att bli överträffade såvida vi inte börjar använda dessa verktyg. Detta är en verklig "tragic of the commons"-situation, där alla förlorar på lång sikt om fusket blir normen.

Källan är Interviewing.io, och det visar att folk som använder GPT regelbundet fastnar. Idén om att upptäcka fusk är uppenbar handlar om ett urvalsbias. Man lägger bara märke till när det är uppenbart. Självklart har personen lagt 0 ansträngning på att fuska (som de flesta fuskare faktiskt skulle göra rättvist sett). Men genom att använda ovanstående verktyg, eller bara ha någon form av uppsättning skulle göra problemet mycket svårare att upptäcka.

Lösningen

Lösningen är att genomföra intervjuerna personligen. Det finns inget annat sätt. Borde intervjuare bry sig? Absolut. Eftersom AI inte kan utföra alla funktioner av en mjukvaruutvecklare (än). Detta innebär att den fejkade personen du anställer måste göra de riktiga uppgifterna, och du måste övervaka aktiviteten.

Tack för att du läste!

Fördjupning: Tekniska intervjuer och programmeringsutmaningar

Tekniska intervjuer och programmeringsutmaningar har blivit allt mer komplexa i takt med att AI-verktyg som Ultracode och liknande lösningar har blivit tillgängliga. Många utvecklare frågar sig hur de ska förbereda sig för dessa intensiva intervjusituationer utan att förlita sig på AI-assistans. Här är några strategier för att förbättra dina färdigheter i tekniska intervjuer och programmering:

  • Öva regelbundet på LeetCode: Använd plattformen för att bekanta dig med olika typer av algoritmproblem och datastrukturer.
  • Studera avancerade programmeringskoncept: Fördjupa dig i ämnen som dynamisk programmering, grafalgoritmer och bitmanipulation.
  • Delta i kodningsutmaningar: Engagera dig i tävlingar på plattformar som HackerRank eller CodeForces för att skärpa dina problemlösningsförmågor under tidspress.
  • Granska lösningar och optimeringar: Efter att ha löst problem, studera andra utvecklares lösningar för att lära dig effektivare metoder.
  • Öva muntlig kommunikation: Träna på att förklara din tankeprocess och lösningar högt, vilket är en viktig färdighet under tekniska intervjuer.

Genom att fokusera på dessa områden kan du förbättra dina chanser att prestera väl i tekniska intervjuer, oavsett om du möter LeetCode-stil problem eller mer praktiska programmeringsutmaningar. Kom ihåg att även om AI-verktyg som Ultracode kan ge snabba svar, är det din djupgående förståelse och problemlösningsförmåga som verkligen räknas i en karriär inom mjukvaruutveckling.

```