As it’s an internship, it seems like you should know the minimum that you may get hired on your passion and enthusiasm rather than pure knowledge. But it wouldn’t hurt to know:
For HTML, ensure you know the standard elements, semantic HTML, forms, and a bit on accessibility.
For CSS, ensure you understand how responsive design works (flexbox/grid/media queries).
For JS, I would brush up on the fundamentals, so ensure you know the difference between let and const, primitives Vs objects, array methods, how to manipulate the DOM (not just in jQuery), and asynchronous (promises). Basically, just know how to do stuff in vanilla JS rather than relying on the jQuery version.
Also, you’ll need to be able to chat about a FE project and be prepared to talk about why you made the decision to use specific HTML, CSS, or JS.
What company (or type of company) is this for?
Important concepts are generally;
handling Async requests
events and listeners (concepts like capturing and bubbling)
JS-specific quirks (scoping, types of function, etc)
what is closure?
Describe a promise.
Explain what the dom is, and how js manipulates it.
Difference between const and let?
What does a fat arrow function do?
What does “this” mean?
It depends on the role.
You’ve got more UI end of front end development, which focuses more on HTML semantics, CSS, behavioral JS (click this, do that, maybe trigger a basic AJAX request to an endpoint), animation, accessibility, and performance (from a Google PageSpeed perspective).
Questions for these will focus on:
the correct HTML tags to use and when what order they should be used in DOM nesting;
an understanding of CSS selector types, the cascade, modern build tools, methodologies;
if animation is part of it, it might be basic CSS and JS animations, or potentially libraries like GSAP;
an understanding of accessibility tools (alt tags, ARIA, etc) and things like why it’s important to make websites accessible (hint – it’s the law);
performance is usually around being able to understand what makes a good website, responsive to different devices (beyond just making it change to different viewports – i.e. how to use JS to ensure that a background video isn’t downloaded by mobile users, etc), how to read reports like Google’s PageSpeed and Lighthouse tools.
Then you’ve got the ‘back-end on the client-side’ variety of front-end development (which really shouldn’t be called front-end development – something like client-side development is more accurate), which is more JS-based logic, state management, and routing. These roles typically are much closer to back-end roles.
The important thing to remember is that in an intern role, it isn’t crucial to know all of this; it’s more about being able to show an awareness of these things, and demonstrate how you would go about working with them. They shouldn’t (I hope) expect you to be able to do all of these things, but an appreciation and awareness of them would put you at the top of the pile.
For context, I’m a web developer with over 20 years of experience that specialized in front-end UI/performance, etc, just under 15 years ago, and have been a hiring manager for the last 10 years.