They're synonyms, but "weird" isn't a word that I would use in a school essay. In other words, it's a little more conversational, informal.
Teenagers and kids generally use the word "weird" more often than "strange". However, adults do say it, too.
If there is any difference between the words "weird" and "strange", it's that "weird" sometimes has a comical or humorous effect attached to it.
Odd, weird, strange, unusual -- all of these words convey the same meaning.