A PhD is a long degree, probably it will be 4 years of your life. And, different from your first, taught degree, it is extremely specialised on one or two areas. That is a long time to spend on something if it does not excite you.
So, the first thing is to ask yourself why you want a PhD. There are lots of reasons people have, but the best reason, in my opinion, is that you really, really want to explore some areas or questions in computer science. Are you fascinated by some problem and just wish someone would give you the time to try out all your ideas on it? That's an excellent way to begin!
Let me tell you what I see my role as. I see myself as your advisor, not your supervisor. By that I mean that I am not your boss. You will make your own decisions and are quite at liberty not to take my advice. In fact, I expect you to argue with me - if you haven't told me I'm wrong about at least one thing by the end you can't have become the expert that a PhD is supposed to qualify you to be. I think it is important that students get that freedom (I could not have stomached my PhD if my advisor had been the supervisor type). But, I am aware that some people prefer to be told what to do step by step and treat a PhD more like a job or a taught degree than the creative self driven experience I want for you. That's okay, we can do that too, but if you know this ahead of time, consider a different academic - there are lots who do the boss thing.
If you do want to do a PhD with me, here's how it will go:
After you first contact me, I'll give you a short 'do at home' programming test. This serves two purposes for me. The first is that it quickly filters out the time wasters. "You're joking!" I hear you cry? No really, there are lots of people who send out form letters to hundreds of academics. Often, they have copied and pasted my research interests into their letter, and probably not even bothered to make the fonts consistent with the rest of their letter. These people tend not to reply to a programming test. The second thing is that it gives me a quick idea of your programming ability. I assume that you already know how to program, and unless you are amazing in some other ways, I would probably recommend you not do a PhD with me if you can't program. This test doesn't have a deadline, but how long you take to complete it will be taken into account.
We have a phone/Skype/Hangout/etc interview. For me, I want to hear about why you want to do a PhD, what your ideas are, and find out if you're someone I could work with. I'll also give you a short 'live' programming test. "Another one, really?" Yes, some people have actually cheated on the at home test before! Often I invite another academic to the call to get a second opinion. You should use this call to find out at least how a PhD would work with me and whether you think you could work with me.
You should probably talk to some of my students (or the students of any academic you intend to study with). Send them an email and maybe arrange a chat. Do they like working with me? What are my worst faults? Would they rather they had done a PhD with someone else? And on and on. You never know what things they might tell you and they could save you from making a horrible mistake!
Now, you apply with all the forms here. One important part here is that you write a research proposal. This is just a few sides of A4, structured a bit like a research paper (abstract, background, related work, etc). Even if I think you are great and want to accept you, students have to make it through selection panels where things like your CV and research proposal will be discussed and must be approved by several academics.
While we wait for that, we (well probably I) find you funding. You might need to fill out more forms to apply for various scholarships. Normally the funding pays your fees and gives you a living allowance. Sometimes it might also include travel money and a small equipment budget. The fees for overseas students are about twice that of EU/UK students (although Brexit might soon mean that will include EU students, too!). There are also fewer pots of money that can be used for overseas students. These things mean overseas students are harder to fund and typically have to be that much better to make it worthwhile. Please don't let that discourage you, funding is often found for great students!
Assuming we're all good up to this point you should get an acceptance letter from the University. It could still be several months before your start date. You have to work out your travel and accommodation (sorry the University doesn't give much help and gives no financial help beyond your stipend). Probably during this time, if you are up for it, we will meet online occasionally (say once a month) to discuss papers and ideas, etc. But, if you are busy working or doing whatever, don't feel you have to have these meetings.
Great! Hopefully you would accept the offer! This should be fantastic! I can't wait to meet you in person!