Теория:

Все имена существительные относятся к одному из трёх родов:
  
мужской род — огонь, ребёнок, дед, старшина;
женский род — вода, тётя, лошадь, ночь;
средний род — кольцо, поле, окно;
 
Также существуют слова общего рода. Они могут обозначать лицо мужского и женского пола:
скромный (скромная) тихоня, мой (моя) коллега.
  
Существительные общего рода в современном русском языке часто имеют разговорно-просторечную стилистическую окраску и выражают неодобрительную оценку.
Пример:
соня (разг.), мямля (разг., неодобр.), забулдыга (простореч.), забияка (разг.) и т. д.;
Реже они являются стилистически нейтральными.
Пример:
калека (нейтр.), сирота (нейтр.) и т. п.
Несклоняемые имена существительные иноязычного происхождения распределяются по родам следующим образом:
 
к мужскому роду относятся названия лиц мужского пола (рантье, денди),
названия животных и птиц (пони, какаду);
 
к женскому роду относятся названия лиц женского пола (леди, мадемуазель);
 
к среднему роду относятся неодушевленные существительные (кашне, дзюдо).
 
Обрати внимание!
к мужскому роду относятся слова кофе (напиток), пенальти (удар), сулугуни (сыр), хинди (язык);
 
к женскому роду относятся: салями (колбаса), авеню (улица), бере (груша);
 
и к мужскому, и к женскому роду относятся существительные типа визави, протеже, инкогнито, хиппи;
 
только во множественном числе употребляется слово жалюзи.
У несклоняемых имён существительных иноязычного происхождения могут наблюдаться колебания в роде, при этом одна из форм является стилистически нейтральной, а другая — разговорной.
Пример:
кофе (м. р., нейтр.) — кофе (ср. р., разг.); авеню (ж. р., нейтр.) — авеню (ср. р., разг.); тату (ж. р., нейтр.) — тату (ср. р., разг.) и т. д.
Род несклоняемых имён собственных иноязычного происхождения определяется по родовому слову:
 
«Вог» — м. р. (журнал);
Сочи — м. р. (город);
По — ж. р. (река);
Конго — ж. р. (страна).
 
Род аббревиатур определяется по роду ключевого слова:
 
МГУ — м. р. (университет); РАН — ж. р. (академия) и т. п.

Примечание. Если аббревиатура склоняется, то род определяется по окончанию, например:
ссуз (-а, -у, -ом, -е) — м. р. (ср.: среднее специальное учебное заведение).
 
Род несклоняемых имён существительных обозначается синтаксически в согласуемых формах прилагательных, причастий и т. д.
Пример:
крепкий кофе; сперва мадам за ним ходила, потом мосье её сменил (П.).
Обрати внимание!
При определении рода некоторых существительных возникают трудности; их надо запомнить:
тюль, -я (м. р.), шампунь, -я (м. р.), рояль, -я (м. р.), вуаль, -и (ж. р.).
В случае затруднений следует обращаться к орфографическому словарю.
Источники:
Розенталь Д. Э., Теленкова М. А., «Словарь трудностей русского языка», 5-е изд., доп. — М.: Рус. яз., 1986. — 704 с.