Just to update since I know many here have never interviewed for a programming position:
I completed the second interview earlier this week, and it really was just going over the coding challenge they had me do. My submission was correct, but they said I could have done more than what they asked me to do (basically showcase all of the skills they're looking for and not just the new skills they taught). So I went back and added the things they mentioned and submitted it to them. It also was an interview with more people, and the people who weren't present at the first interview asked a couple of questions based on my resume, i.e. info about the programming courses I took and what we did in those courses. I also showed them the samples of projects I had worked on that I had shown in my 1st interview.
The second interview really was for just anyone who actually turned in the coding challenge they had all the candidates do and did so pretty fast, and everyone who actually had projects they've worked on even if not professionally. So it wasn't like it was narrowed down to the top candidates like many 2nd interviews. They also weren't concerned with what degree candidates have. Everyone at the interview said narrowing down to the 2 chosen candidates will come down to their impression of the candidates' ability to learn fast.
So, I think my experience might be more so what to expect if you apply for an internship that's not at a major company, i.e. Google, Apple, Microsoft, etc, or an apprenticeship. There was no phone interview or hardcore/scary white board technical skills test.
Hopefully this helps someone, because I definitely had a hard time finding accurate info online about what a realistic internship/apprentice or very very entry-level position interview process is like! They might not all be like mine, but at least they're not all FizzBuzz or something like that, or all dismissing you if you don't have a Computer Science degree!