Explain JS threading and useState vs useRef | OpenAI Interview Question