First: the company. Aim for small companies with fewer than 30 employees. Avoid larger companies, who have faceless HR departments and rigid hiring processes. You want a tiny company where interviews and hiring decisions are performed by your peers - senior developers and team leads, rather than managers. You want the person who holds the hiring power to have a chance to put themselves in your shoes, and see your future potential rather than what you can bring to the company. You're hoping they take a risk with you, and to a certain extent you're trying to provoke a pity hire.
Second: the interview. When asked technical questions, answer to the best of your ability. Be willing to admit you don't know, instead of spewing nonsense. Hint: "Hrm, I don't know that one... yet." Know beforehand what programming language the company uses, and have a basic working knowledge. If asked to do a coding test, you must be able to give it your best shot. I didn't finish the test I was given, but the logic I had put down was sensible and headed in the right direction. It was enough to give the impression I had a technical mind and, more importantly, that I was able to begin working on a task.
Third: salary. Prepare to be disappointed. My first job's salary was ~40% the market rate of a junior developer. You could say the company was "taking advantage of me", but they were a) taking a risk hiring someone without experience, b) paying me three times what I made working as a Walmart cashier, c) giving me my first step into my preferred industry, and d) giving me experience to put on my résumé.
Fourth: once hired, stay with the company for a minimum of two years. Do everything in your power not to duck out earlier. You really need your résumé, with its single entry as a developer, to hold some weight. Once you have this, the number of doors that open up will give you a choice of where to head next. You may never have a realistic shot at a company like Google, but you will be paid market rate.
tldr; Start with small companies, where you will be interviewed and hired by senior developers and team leads instead of managers and an HR department. Be willing to start at low salary. Your first company is about gaining experience for your craft and your résumé, not to make money.