The only limiting factor is SQL Agent will not start a job if it is already running, so even if a job is scheduled to run at 4:00, if someone manually started it or a previous schedule started it and it was still running when 4:00 came around, it won't start another occurrence of it.