That's really extreme. There are definitely better ways to manage it. Tiktok in Singapore has been very thoughtful in their approach which seems to be working.
Everything in React is just a function, so there is expectation of how it works. The data binding in Svelte is a bit magical and not always clear if there are race conditions, but I'm a Svelte noob trying to port my existing app to it.
Ad hominems aside. I am guessing you are working in the renewable energy industry since you are pretty confident in other ways of increasing adoption. I'm not familiar on the topic, so I would like to hear from an expert like yourself. Could you elaborate how?
Social engineering is social engineering. You're hacking humans if anything, but you're not hacking a system by definition. You can social engineer people for other reasons than hacking a system.
Hacking is the act of identifying and then exploiting weaknesses in a computer system or network, usually to gain unauthorized access to personal or organizational data.
In this case, they weren't exploiting any weakness of the system thus they did not hack. Logging in is an authorized action. Who is using those credentials is another story. Clearly it is a user mistake. It's like leaking your SSN and saying people hacked your credit card.
For DB systems, I had to specifically choose this as a deep course and dived into creating a database from scratch.
I would argue those are specialized areas, not base knowledge. Moreover, what kind of questions are you asking? It is more likely that you have a misaligned assessment of an undergraduates knowledge.
I don't get how anyone can build a serious application on vanilla JS. I love vanilla JS, but it would require one to re-invent the wheel to manage all the state. You'll end up borrowing tons of ideas and rolling your own framework. At that point, you might as well have used something like React, Svelte, etc...
If you're doing anything animation related, there is no point in using React's useState because it causes re-renders. The right approach here is to use useRef.