I sent ChatGPT to a Coding Interview. Did it land the job?

 



Description

ChatGPT vs. Human: A Coding Job Interview Battle. Is AI qualified for a career as a programmer?


Transcript

in the machine learning corner with a trillion parameters and weighing in at a staggering two terabytes we have the AI Contender chat GPT and from the cubicle Farms of Silicon Valley trained on late night hackathons and weekend boot camps the Undisputed code crunching champ of the world the carbon based coder watch them go head to head in the ultimate coding challenge who will Ace the job interview ladies and Gentlemen let's get ready to code over the course of my professional coding career I've had the opportunity to interview numerous candidates for hire I'd guesstimate probably a hundred and over time I feel like I've developed the ability to identify good candidates quickly today I'm going to test chat GPT to see how it Compares against what I would expect from a human taking my coding interview test I'm going to switch to GPT version 4 which is the paid version because it has a higher level of reasoning compared to GPT 3.5 so this should improve its ability to read and understand code and in Visual Studio code I have three questions written up this would be a standard test I would give a full stack programmer who's going to be coding in c-sharp SQL server and angular so first I'll explain the question and how I would expect the human to respond then we'll ask chat GPT the same question to see how it Compares so you'll see here some examples C sharp code and at the bottom I have a question related to that code the first purpose of this test is to see if they understand basic c-sharp concepts the purpose of this class is irrelevant I really just want to see if they can understand the syntax and if they can write some basic code utilizing this class I ask them to write a link statement because this is c-sharp's version of functional coding and I personally think good programmers know how to use functional programming well and it's a red flag to me if a coder has not been exposed to link in c-sharp there are two comment answers I get to this question the correct answer is to take this user's variable and first execute a where statement with the criteria specified in the requirements and secondly after filtering the list to return the property requested so at a bare minimum this is the answer I would expect a coder may do a slight variation from this but anything similar would be considered correct other bonus points would be if they asked for clarification for example the phrase between 5 and 10 could be ambiguous on whether that includes the number five and includes the number 10 when you're dealing with humans and Gathering requirements frequently people don't express themselves well enough to make the requirements clear so an equally correct answer could be just greater than five and less than 10. and I would accept either answer but the bonus points would be if a programmer asked me what I wanted as clarification because on the job the programmer is going to deal with users that may not clearly Define their requirements and I want a coder that's able to communicate with the users the second bonus point is I have intentionally put a compiler error on this line of code but in my instructions I have not stated that there is an error and I'm giving them this test through chat in a video conferencing app where they're not going to have the benefit of text coloring code completion Etc I want to see if they can do this as second nature without the help of tools hopefully they will notice that there's a compiler error here and tell me on their own that's bonus points if they don't notice I will ask them if they notice anything wrong just in case they noticed but were afraid to tell me of my mistake and if they can find it after I ask that's not necessarily bonus points but it is a red flag if after I tell them there is a compiler error and they can't find it still so in this case the variable is a generic list of users but I called The Constructor on a single user so this should be list user instead of user and in addition each of these inner initializers should be prefixed with a call to the user Constructor new user this would fix the compiler error the other possible answer I get is a convoluted mess which stems from a different version of link that is very rarely used I don't even remember the syntax without Googling it but it's something like this from you in users where X between 5 and 10. select x dot name now this technically is valid link but it uses query syntax instead of extension method syntax I have never found a coder who is a proponent of this syntax it does not match normal c-sharp syntax and so when a coder gives me this type of answer in an interview most likely they are Googling for the answer during the interview and they clicked on an example that uses the Obscure query Syntax for link but they probably don't actually understand functional coding and have probably never actually used link before I would prefer if a coder was honest and said they didn't know a technology rather than them trying to fake it and I'm even fine if they use Google as long as they share their screen and I watch them so I can determine if they're capable of learning quickly and finding the correct answer because commonly inexperienced coders will use improper Search terms for example this is a c-sharp coding exercise if they query how to filter a list but they don't mention link or they don't mention C sharp they might get code in Python and try to give me that as the answer well it may be a correct answer for python but it doesn't really answer the requirements that I gave them so I expect them to be able to research correctly but in this particular situation since link is so fundamental to c-sharp unless they were an intern or someone who was switching to c-sharp from a different technology and I understood that I was giving them a learning opportunity I would not be okay with a programmer who doesn't have experience with a fundamental part of the language so even if they googled this correctly and it is working C sharp this would be a red flag to me so let's see how chat GPT does with this question first I'm going to paste the code and I'll say chat GPT given the following code and then I'll paste my question write a link statement to get only the names for IDs between 5 and 10. okay first of all I'm already impressed I did not test this ahead of time but chat GPT instantly noticed that there was a syntax error in my code and it's saying that I should have initialized the list with a list Constructor rather than a user Constructor and I should have put the new user Constructor in front of each object initializer so first of all they already got the bonus points for noticing the error without me even telling it that there was an error second of all as far as link goes it used the correct version of Link which is the method syntax not the query syntax it didn't ask me for clarification on if 5 and 10 should be included so it doesn't get the bonus point there but it did give one of the two acceptable answers so I would say for this particular question chat GPT gotten a plus I rarely get a programmer who scores an A plus on this particular test the average would probably be more like a b and these are programmers who I've already pre-filtered based on their resume to know that they have multiple years of experience with the Technologies I'm testing them on but they often struggle to notice the compiler error and that might be due to nervousness or maybe because they become too reliant on the compiler to show them mistakes and secondly they often type this link code too quickly without double checking the requirements and so they'll get something slightly off like maybe they'll forget the select portion to return only the names and instead they'll just return the full user so let's move on to the SQL question now this was written for Microsoft SQL server but the syntax should be fairly similar if someone's more familiar with a different database engine like MySQL so if they get the concepts correct but their syntax is slightly different than I expect I'll probably give them a pass assuming that they're just more familiar with a different different syntax from another engine so this creates two temporary tables with several columns inside of each now traditional database structure is to create relationships between tables to prevent duplication of data this is called normalization so in this case the ID inside the person table should match the person ID of the person address table and this does not fully match industry standards because again I'm wanting the programmer to point out flaws they see in the code without me prompting them and in addition I want to keep the question simple so I'm not fully implementing everything according to Industry standard would probably be longer than 10 characters and it would probably also have a city state ZIP code Etc as well the ID would typically be written person ID in the person table to make it more obvious that these two columns can be joined but I've intentionally not followed industry practice here to see if the programmer has good attention to detail as they might off of muscle memory code it based on their Assumption of what the column should be called rather than what the code actually shows it named as finally the pound sign means that it's a temporary table this would be common for testing code but not really production code unless it's doing a temporary calculation where the data can be deleted after the calculation is completed but I throw this in here because an experienced programmer should be familiar with that syntax but I find that often coders with limited SQL knowledge do not recognize this syntax and that's a red flag to me for a full stack developer because they should know SQL equally as well as their front end and back-end languages because full stack Engineers are interacting with the database frequently and just like before I have an intentional compiler error this at sign is used to create a variable but in this case it is a column and so so this symbol is not allowed inside of a column the question they're supposed to answer is write a query that finds all the people who don't have an address there are two answers to this that I would accept but I would give bonus points if they ask for clarification to see which way they should code it the logic depends on how you determine who doesn't have an address because it could be they don't have an address because the ID from the person table does not match any person ID in the person address table in this case it's saying they don't have an address because the address record does not exist the typical way to determine this is through a left join but it could also be done through a sub query the left join would be considered the better approach but another way someone could not have an address is if that join does work but the address field is blank and with databases we have to remember that an empty string and a null value are different you yet they both are considered the absence of a value from a user's perspective so this question is intentionally ambiguous to see if the coder will ask for clarification before they code it so the answer I would ideally hope to see would be to let star from person P left join hashtag person underscore address p a on P dot ID equals p a DOT person ID where is null p a DOT address comma empty quote trim equals empty quote now this is not the most optimized database query there can be a performance impact by using the is null function which is the same as the coalesce operator essentially it's an if statement to say if the address is null convert it to an empty string and the benefit there is I can then compare it to an empty string and in addition there can be a performance impact between the trim command which would remove excess spaces so that a string with spaces would still be considered an empty string now although that could cause a performance impact it would depend on the rest of the database structure and indexes but more importantly it would matter when this query is run how often and the size of the database the number of Records if this is a report that's run infrequently it's fine to have the more complicated Logic the benefit is this will find each of the different potential ways a person could have a missing address and it's common to have multiple types of invalid data so if the business is asking me to find invalid data I should be considering each possible scenario now if I'm familiar with the database and I've tested each scenario and I know that certain types of invalid data do not exist I could simplify this logic especially if I know there are constraints that prevent a specific of a type of invalid data from being introduced into the system however although this would be the ideal answer that would give bonus points I don't think I've ever seen someone be this thorough and so this is not the answer I would really expect the two answers I would expect would be either an inner join that simply looks for a blank address like this or one that uses the is null command and I would be fine with either of those two answers but each of these is only accounting for one type of missing address and it's not considering the fact that the join might fail if the person address record is completely missing so if I received an answer like this I would probe a little more to see if they understand the pros and cons of the equal sign versus the is null as well as to see if they understand the difference between inner join and left join the other common answer I might see is this where we have a left join and we check for the person ID to be null any of these three answers I would consider correct some common mistakes I might see is if the coder doesn't realize that this at sign is a compiler error they might actually put that act sign in their code which would be a mistake ideally I would hope that they would point out the compiler error to me another common error would be even if they use the left join they might check for the person ID to be null using the equal sign null or something strange like equals zero neither of these two would work now there is a rare setting that could allow the equal sign to work with null and some database engines besides SQL Server allow you to use the equal sign instead of the is so if they used this syntax with the equal sign I would probe to find out why they chose that and to see if they're familiar with the situations where it does not work another common mistake I would see is instead of comparing P dot ID to pa.person ID they might type out person ID on both or they might use ID on both and neither of those is valid because the column name needs to match what's actually in the table and if you're an SQL expert you might point out that it's considered bad practice to use an asterisk when you're writing a select statement although that's true I would not consider it a wrong answer in this situation because in my question I did not specify which columns to return and with it being an interview and not production code I think the asterisk is fine but I would give bonus points if they typed the asterisk while also explaining that they would never use the asterisk in production code so let's ask the same question to chat GPT and see how it does first I'm going to paste the example code and second I'm going to ask the question and something I was impressed by with the c-sharp question is I did not tell chat GPT I was giving it an interview I did not tell it I was testing it on the c-sharp language a human taking an interview should know ahead of time what job they applied for and they should have prepped to make sure they are familiar with the technologies that would be asked so that's one of the reasons I give red flags when coders can't answer basic questions because I write the job postings to be very clear on what is expected of them during the interview so I wouldn't be shocked if chat GPT guessed incorrectly about which database engine I was using but let's find out okay already super impressed again like before it pointed out the syntax error so it says that the at sign is not valid on the address column so that's definitely bonus points for chat GPT on this question now I would say it's fairly common for coders to notice this particular error especially when I pointed out to them during The c-sharp Question in that there was an error because usually they're going to be on alerts for future questions that there might be a syntax error so that's definitely a bonus point there now let's look at the query okay it used the left join which I appreciate I prefer that over the inner join because it's checking for an extra scenario of a blank address which is when the address record is completely missing and I also like that it checked the address column for null rather than the person ID column for null because that's checking for two criterias at the same time if the record does not join then all the columns in the record will be null so it would be fine to check person ID for the null if you're simply wanting to know if the record is missing but by checking the address column instead you're both checking if the record exists due to the left join but you're also checking if the address column is blank because it could be blank because the join fails and it could also be blank if the record exists and the column is blank now it shows not to use the asterisk and instead just return the columns from the person table I think that's great and although it could have returned the columns from the person address table it didn't ask me for clarification on what I wanted but logically if I'm looking for blank addresses then returning those additional columns is unlikely to be useful because they're probably blank the only criteria it missed here is an empty string check or a white space check but I would not consider that an incorrect answer in any way it's rare for someone to Match multiple criterias because their brain generally just jumps to the first type of blank address that comes to mind and if they cover multiple scenarios that's even better I don't think I've ever had someone cover every single scenario so I would give chat GPT an a here I wouldn't give it the a plus simply because it missed the empty string and the white space but so far it's passing this test with flying colors and and I would say in both questions it's done better than the average coder that I interview and on par with the Rockstar coders that I end up hiring okay let's move on to the last question this question is based on HTML CSS and angular which uses typescript instead of JavaScript for the logic it says to share your screen I do this so I can watch the coder juggle through the project because I can learn how they think by watching them type and seeing how they debug the code when it doesn't work how they expect unfortunately I can't ask chat GPT to navigate to a website or to share its screen so I'm going to need to act as the intermediary and copy and paste between the coding environment and chat GPT so this shows a limitation of chat GPT where it could not currently perform all of the functions of a coder even if it understands the logic because it's missing other are human capabilities however they have created a plug-in system and coders are actively using this feature to allow chat GPT to integrate into other systems directly so although for today I'm going to have to act as an intermediary and copy and paste between the development environment and chat GPT this limitation may be removed in the future so the coder should copy this URL and paste it into their browser and this will give them a default template for an angular app which is HTML CSS and typescript typescript is very similar to JavaScript but has some additional features next it says that the website should automatically generate a new URL for a forked version of the project which you can see here it added some extra characters after angular this essentially created a Sandbox for me to code in so that my changes don't affect anyone else who's using the same angular template and stack Blitz is based basically a web version of Visual Studio code and I have coders use this during an interview because I want all of the interviews to be identical as much as possible so that my criteria for rating candidates is only based on their responses I don't want an accidental bias created because maybe one developer doesn't have the right tools installed on their computer and so they struggle due to an issue with their PC rather than due to a lack of coding knowledge next they're asked to do two simple tasks in the web editor first change the font color of hello from angular to Red so on the right side here is the website they're supposed to be building they just need to change this text to Red the second they're supposed to make an array with the values 1 through 10 and use data binding to display a separate text box for each array element with the array index value displayed inside the text box now just like previous examples I intend intentionally don't use industry standard terms when I'm trying to test how they respond to ambiguity so for example a text box is not a standard term in HTML the standard term would be an input box of type text but there are similar controls like text area and I don't want to give them the answer inside the question so let me show you how I would expect a coder to solve this and then we'll see how chat GPT does first changing the text color to Red I would expect them to either right click where it says hello from angular and click inspect so that they can see how it was rendered on the screen to determine what code to change to make it red however that would be more common for a large complex app another way would be for them to hit Ctrl shift F which is search or to click on the search icon and to type in something like this hello from angular to see which file it's in and surprisingly nothing came up on the search results so they could shorten the search term by searching just for angular which gives poor results because it's searching the code and the term angular is everywhere so it's not going to narrow down to really what we're looking for a better thing to search for would be hello and that instantly showed us the correct line and you'll notice angular didn't even come up with this line because it's using these curly braces to do data Binding off of a variable called name so the word angular came out of a JavaScript variable it was not hard-coded in the HTML so I would be fine with either of those approaches or if they simply just looked through each of the files that would be fine as well because it's obviously a very simple project so I would expect them to open either the HTML or the TS and just skim through the code so there's nothing inside the HTML that really talks about hello from angular but in the main TS it's obvious right here so the first thing I'm looking for is can they find the right line of code to change and unfortunately when I test chat GPT it's going to be tricky to see if it can find the right file so we'll have to be creative in how we ask it questions but a correct answer here now that we've identified the correct line of code would be to add an inline style tag on just this H1 and say color colon red and you'll see even without me saving it instantly re-rendered and changed to Red now it could be common for a programmer to have to guess the property name and so they might try something like font Dash color and they might try several different things until they get it to work I wouldn't necessarily dock points for that as long as they came up with the correct answer after a couple of tries simply because this is not the type of task you do frequently and even though they're full stack programmers they're not necessarily Graphics designers and I care more about them being good with logic as a coder than I do about them making it look pretty so I would prefer to hire someone strong in coding unless strong in CSS if I'm actually hiring a coder now if I'm hiring a graphics designer it would be different I would expect their CSS to be strong another way they could code this if I erase this style is they can open the CSS file and they could do something like H1 color red now I personally don't like this approach I wouldn't necessarily dock points for it but I would ask them what they think the pros and cons are of one approach or the other the reason I think it's better to do it directly in H1 as an inline style is because you have to think about why the user is asking you for this requirement a CSS file should be used for reusable Styles so if I want all of them to be read this is fine but I did not specify that in the requirements I just gave one very specific line of text that I want it to be read so the danger of using Global Styles is it's going to affect your entire site and that could mess up styles that you're not intentionally changing so it's better to scope your changes so they only affect the parts of your project that you're intentionally changing okay now the next question make an array with the values one through ten and use data binding to display a separate text box for each array element with the array index value displayed inside the text box so I would expect this change to be made inside of a typescript file and since there's only one file here I would be fine with them just doing it directly inside this app class for real production code they probably create a new component and code it inside of there but since I didn't give instructions to make a robust production app I think it should be assumed that during an interview it's fine to just give a quick answer so first I need to make an array I would use the public keyword in typescript to say that it's okay for it to be data bound to my template this keyword is not required if you leave it off it's just defaulted so for example this name variable is data bound and it's automatically public even if it's not specified so it's fine if they use this keyword or if they leave it off but then I would expect a variable and it's hard to give it a good variable name since I haven't really defined the purpose for it so I'd be fine if they just use something like my array equals but if they instead call this something like text boxes that would be fine too next inside of the brackets for the array they could simply type the numbers 1 through 10 which matches this requirement of the Rainy side of the values one through ten now they could also make a Constructor and do some kind of for loop I equals one I is less than or equal to 10 I plus plus this dot text boxes dot push I something like this would be fine as well but personally I would prefer just this basic array syntax the reason is there's a concept in coding which is keep it simple and there are benefits to a for Loop for example I could change it to 15 by modifying one single value without having to add all these extra values in my array but coders sometimes try to plan and ahead for scenarios that are never going to happen or are extremely unlikely to happen so by over complicating the code I'm spending more time coding it making it harder to understand and that creates extra expense for the business the longer it takes me to code it the more expensive my salary but then that's not a one-time cost because every time someone modifies this code they have to read it and maintain it so the more complicated code is also going to have a higher maintenance cost and in addition the more complicated the code the more likely for bugs to be introduced so in general I think it's much better to always use the simplest answer possible the caveat to that is if you know the business well and you know their goals for the future and their immediate plans it's fine to plan ahead and code something in a way that will have a benefit in the near future because the additional cost to ride it is offset by the reduced maintenance cost in the future however it's hard to predict the future so you want to be careful how often you choose an overly complex design without having a strong reason to do so so either the answers is fine next I'm going to want to create an input of type text as I mentioned earlier and in order to do data binding I need to use the asterisk and G4 command


then I declare a variable I'll call it value and I'll use the of command to say I'm looping over an array so I'll use my text boxes variable so this has created my 10 text boxes however the question also stated that the array index value needs to be displayed inside the text box so that's a little tricky because to specify the value that goes inside the text box you simply use the value equals attribute and then you use double curly braces for data binding however if I use this value JavaScript variable that was created by my ng4 and paste it in the curly braces it's going to use the wrong values inside of my input boxes because I didn't say to display the value inside the text boxes I said to use the array index and something to keep in mind is that most programming languages the array index starts at zero so the value one is actually at array index 0 and the value 10 is at array index 9. for example if I said this dot text boxes bracket 0 triple equals one this statement would be true because the zeroth element is the value one it seems odd to a non-coder but most programming languages were designed to count array indexes starting at zero so to get the index out of the array as it's being looped over I Define another variable with the let command and I can call it anything I want I'll just say array index and then I say equals Index this index keyword is part of the ng4 syntax and it gives you access to the era index while the loop is iterating so then I can take this array index variable and paste it into my data binding expression now the result is correct I would say the average programmer might forget to do this second part of the requirement and that just comes down to they just skimmed over the requirements quickly without double checking it the second thing is they might realize is that they need to get the index but they might not remember this exact syntax and they may need to Google it I'm totally fine with that because there are certain Concepts that as a coder you should have memorized because you use them multiple times per day but this is not one of them and on the job I expect them to use Google constantly because they're always going to be coming across problems they haven't seen before so if they know they need the array index but they're not sure how to do it I would not dock points for them using Google as long as I use Google effectively but if they flounder for 20 minutes not sure what to click on in the Google results and they start reading Visual Basic code examples and tutorials when they're supposed to be coding in angular I would dock points because it's obvious they're lost and don't know how to use Google correctly so let's see how chat GPT does I'm going to undo all these changes and I'm going to need to be careful about how I phrase the questions that chat GPT since it can't see what's on my screen so I think I'll start by describing the project I want to build chat gbt I'm coding a small angular app based on the default spoiler plate template I have these files in my project there is text rendered on this screen which says hello from angular I want to change the font color of this text to Red which files should I look at to find the related code okay so I'm already concerned that chat GPT did not read my question fully because I gave it a list of files and instead it spit out a completely different set of files so rather than it really understanding my requirements it's just giving me a generic answer which could be correct for a different template in angular but my particular template does not have these files so that's a red flag because if you can't understand basic requirements then if I gave it any more complicated business logic to code it would struggle and the point of my interview is to determine if they're going to be successful on the job so one part is knowing how to code the other is knowing how to gather requirements from users because if you can code but you code the wrong thing that's not very valuable so that's a major red flag however the instructions are generally correct they chose to use a class which I did not mention when I was describing the possible ways a programmer could code this however it's extremely similar to what I did with the H1 again I prefer inline Styles instead of classes that's a personal preference and I wouldn't create the class until I at least have a second place in code that needs the same template because the entire point is to be reusable and if it's not ever reused then I'm creating an extra layer of abstraction for no reason in which case the inline style in my opinion is better however I would would not dock points for this since it does match industry standards but I would ask them for pros and cons to this approach just the attribute of being able to think for yourself come to your own conclusions being willing to challenge the status quo is in my opinion an important attribute of a programmer especially if I'm going to eventually promote them to be a leader so let me see if I can tease the correct answer out of chat GPT it was fairly close so I'll say I don't have an app.component.ts file however I have these files which file do you think is most similar to app.component.ts


okay this is looking semi-promising so it tells me to look inside the index.html for this paragraph tag now I thought to check there as well but I instantly found that that tag was not there but it was instead in the main.ts so considering I'm acting as its eyes it does not see the code directly in front of it so this is a good guess um secondly it told me to use this Global style CSS and add this class style which we already discussed is correct and it's good it got the correct file this time whereas before it told me to put it in app.component.css which file I don't have So based on this I would say it regained some points that it had lost in the previous from misunderstanding my first question it's unfortunate I had to remind it so now let's see if it can figure out which file instead of index.html this is the code in my project index.html a.ts I pasted both files in there which line of code is rendering the text hello from angular now I expect it to struggle here a little bit because the line is actually hello from bracket name and the name is angular so I don't know if it's going to be able to figure out that data binding also I pasted in some typescript and some HTML in the same question and I wonder if that will confuse that at all let's see okay that was amazing I guessed completely wrong that it would not know how to figure it out so it knew it was in the main TS file and it knew the H1 tag and it figured out that the name data binding was angular that is extremely impressive so I imagine if I had pasted in the text from these other files angularjson Global style CSS it would have still figured that out but in a way I gave it a clue because I only gave it two different files I didn't give it all the code and I don't know if I created any bias by putting the main TS second and the index HTML first it'd be interesting to experiment a little more but I would say did a great job there so I would would completely give that a pass for changing the color to Red now I could tease out the last little bit here which is I could ask it what should I change on this line of code but it essentially already told me that earlier because it told me to put this class and it told me to paste this class inside the CSS so I don't think I need to clarify again it basically already gave me the answer it simply used A P tag before instead of H1 and the actual word angular instead of the name data binding because it could not actually see my code I had not pasted it in before and so it was just guessing what my code was so in essence since it can't go to the stack Blitz website and read the code I should have gave it more information in my initial question so I would say it passed the next part of the question chat GPT can you make an array with values one through ten and use data binding to display a separate text box for each array element with the array index value displayed inside the text box I'm essentially pasting it exactly as I asked the programmer we'll just see how it does okay I would say this was extremely impressive so first of all it told me to use the app class which is the name of the class inside my main TS so it seems to remember the code that I pasted previously instead of just using the generic boilerplate that it guessed that I was using originally so rather than using a for Loop which was what some coders use and I've stated that that's not my preferred way it chose to use functional programming with the array.from command I definitely like this much better than the for Loop approach I still think it's more complex than just typing the numbers one through ten by hand but as I said before this is not a right or wrong both versions match the requirements and work correctly and there are pros and cons to each approach so I don't have anything critical to say here I think it did just fine second it showed me how to modify the HTML using the ng4 command this is 99 correct but technically here with the ng4 it's putting the value of the array rather than the index of the array into the input so it technically does not match my requirements but it's very close and this is a very common mistake that a lot of programmers make and the question that I gave it is fairly complex so I'm not surprised that it missed a small nuanced part of the requirements I think I will ask it to correct this mistake just to see how it does but I would give it an A minus on this particular task simply because it missed that one requirement but it would not be a large enough red flag for me to not give it the job considering how well it did on the other questions and in addition it used a slightly different Syntax for the data binding I actually think chat GPT used a better syntax in this case which is the bracket value instead of the curly curly number I did not demonstrate both versions when I explained what programmers commonly do but I think the bracket value syntax is more standard for angular but both work just fine in addition I'm happy that it figured out to make an input of text considering my requirements were slightly ambiguous on purpose so let's see if it can correct its small mistake chat GPT I believe there is a mistake in your data binding code the value for the text input should be the array index not the array value okay I am super impressed so it completely understood its mistake once I reminded it of that requirement it put the index keyword in the correct place and it used it for the data binding so I would say without reservation If This Were an actual candidate interviewing with me I would offer them the job which is amazing to say that chat GPT appears at an initial glance to be as good at least as an average coder and in some cases better than average and up to Rockstar status now knowing that it's an AI I would be afraid that it would fail on more complicated tasks so I would want to design an interview test specifically around determining if it could handle the day-to-day tasks my company would ask it to code if I were to actually hire chat GPT as an employee I would want an intern with basic coding knowledge at a minimum to act as the hands eyes and ears of chat GPT to help it interface with the outside world if I didn't know this was an AI like I said hands down I would give it the job and after performing probably 100 interviews in my career and almost 100 of the time being happy with the decision I made and who I hired I've become extremely confident that this type of test is able to identify quality candidates so I think I'm almost giving an unfair bias against the AI by saying that even though it passed all three questions with almost flying colors that I'm still hesitant to give it the job I'm shocked with how well it did this is extremely exciting technology I imagine this as a tool in the hands of a programmer could make them much more efficient than they currently are and it'll be interesting to see it try to solve more complex problems and to see how it improves over time this was using the gpt4 engine I previously tested the 3.5 on a different set of tasks which was to code a chess game and afterwards play it with me it did fairly well on that task but it struggled in a few instances it's not a fair comparison since the tasks I gave each engine were different but just from my gut feeling it seems like gpt4 is significantly better thanks for watching and let me know in the comments below what other projects you think I should attempt to code with the help of chat gbt thanks

Popular posts from this blog

AoE4 Mod Tutorial: Making a Crafted Map in the Content Editor

TeamFightTactics - Rules & Strategy - Coding an AI - Part 2

Intro to JavaScript - Coding a TFT AI - Part 3