英文面试(General)

1. Self introduction

Hello, my name is Vincent, thank you for giving me this opportunity today. I just graduated from the University of New South Wales and got Master’s degree of IT. The reason why I choose to study IT is because when I was reading my bachelor's degree, I participated many mathematical contests in modeling. These contests require you to solve real-world problems by using some mathamatical strategies. And I found that many solutions of the questions are relevant with programming or programming thinking. This experience inspired my interest in programming. So I decided to study a Master‘s degree of IT to improve my programming skills.

And in my Master’s period, I did many projects, and these projects improved my technical skills like python programming, data processing, data analysing and so on. However, I understand that the knowledge porvided by university is always limited. If I want to be a professional programmer, I need develop lifelong learning habit. So in my free time, I also learned many other IT skills including HTML, CSS, JavaScript, Django and so on. I'm currently doing a Django project which is a staff management system to improve my understanding of web development.

In addition, before I applying this job, I also searched some information about your company. As far as I know, Joidea is mainly focused on providing technical solutions for many industries including education, hospitality(酒店), agriculture and aged care. I think the thing what you are doing is just what I want to do, which is solving the real-world problems. So if I could get this internship opportunity, I will very cherish this chance and I believe that my technical skills and learning capabilities will bring values to your company. Thank you.

2. Why do you want this job?

3. What is the most difficult problem you meet when you doing the project? And how did you solved the problem?

In my project, I think the most difficult problem I had ever meet is that when I finished the function of user register and thinking if there are still some parts that could be optimised, I assumed a scene, which is that in the future, if this project is launched and become very very popular with many users. If one day, several users registered the same username in the same point of time, and theirs requests are prcessed by different servers, then the servers will check if the username exists or not, and if not, they will create that username on the same time. This means that only one user could successfully register this username and other users' browser will report error because username is unique. This problem is very common in real large-scale commercial web development, but for a personal project, to be honest,  it is not necessary to solve. Even though I just ignore this problem, I can still find a job. However, I want to make my project to be perfect and very closed to the large-scale commercial website, which is important for my future career development. So I decided to accept this challenge. Then I analysed the problem and searched much related materials. I learned that this is a concurrent write problem, and we usually use another web page to hide the error report because the error report is not caused by our code, but some rarely extreme cases. So my solution is to use the exception capture mechanism(异常捕获机制). Specifically, If the user got the error, we catch this exception and return a page with message that this username has been registered by other user. To check if my solution is correct, I also asked many friends who are professional web developers, and got the response that my solution is correct.

4. 你在做这个项目的时候有用到哪些技术?

我用到的技术有:分布式路由,POST和GET方法,ORM,ModelForm(尽量别说,这块不太会。。。)

你可能感兴趣的:(英语,笔记)