Tuesday, June 22, 2010

job interview questions (1)

Write a summary of my previous interview experience for future improvement.
1) Before starting job interview.
Find company information, think about possible interview questions, practice, practice and practice interview questions, dress well and arrive the company half an hour early, shake hand, eye contact, be polite and friendly. Some "break the ice" questions:
--------------------------------------------------------------------
a) How are you today?
I'm fine, thank you. And you?
b) Did you have any trouble finding us?
No, the office isn't too difficult to find.
c)Isn't this great weather we're having?
Yes, it's wonderful. I love this time of year.
--------------------------------------------------------------
Even the situation is negative, answer in positive way.


2) The first question  normally is: tell me about yourself?
Four steps may need to be followed.
--------------------------------------------------------
a) Brief introduction: I have over 10 years experience of computer programming, data analysis, web development and algorithm development using C++, UML, CVS, OO, Boost library, Python, PERL, R, MS Office, Shell Script, MATLAB, Maple, Mathematica, MySQL, PHP and HTML/CSS. I have extensive experience at parallel computing, numerical analysis, stochastic analysis, software documentation, distributed computing, Grid computing, and web application. development. I have PhD degree in  computational physics from UBC, mainly on computing and data analysis. My PhD thesis is to use neural network algorithm to extract a tiny signal from large amount of data.
b) Provide career summary starting from most recent work history:
Most recently, I worked as scientific computer programmer at the Division of Mathematical Modeling, Center for Disease Control at the University of British Columbia. I built software framework and computing tools using C++ , Python, JavaScript, PHP/MYSQL, Perl and Matlab for Greater Vancouver and Canada contact network to better understand and control the spread of infectious diseases in Vancouver and Canada. I used  parallel computing, random network algorithms and numerical methods to solve disease transmissions and run large amount of simulation at WestGrid. I also did software documentation, debug, test, support, data visualization and used JavaScript to develop online computational tools.

Before this, I worked as Software Programmer and Postdoctoral Research Associate at the University of Alberta. I Developed data analysis framework and Grid computing tools for the large hadron collider experiment (ATLAS). ATLAS is a international collaboration containing 164 institutions from 35 countries and uses Grid computing to analyze huge amount of data. Provide expertise in computer programming and mathematical modeling for the ATLAS group at the University of Alberta.

Before working at the University of Alberta, I worked as Software Programmer and Postdoctoral Research Associate at TRIUMF. I performed computer programming, mathematical modeling and data analysis for the electron and proton collider experiment (HERMES). Provided expertise in computer programming and mathematical modeling for the HERMES group at TRIUMF.

c) Show some soft skills: I am a good team player, very creative and productive. I have great interpersonal skills, sound judgment, initiative and leadership. At free time, I enjoy swimming, hiking, spending time with my family and reading new technology trends. I am a webmaster of several computing Blogs and forums. I am members of several IT professional associations.

d) Tie my response to the company: I have a lot of expertise in C++ , Matlab, scripting language , data analysis, statistics analysis, web  development,  mathematical modeling, new algorithm research and development. I am looking forward to using my skills to contribute to the growth of your company.
------------------------------------------------------------------------------------


3. What is your long-range objective? Where do you want to be 10 to 15 years from now?
My long-range objective is to be an excellent computer programmer. As part of a team, I want to add value and continue to grow with the company. If the company expands, my plan is to move into a position of responsibility where I can lead a team.

4. What makes a successful team?
To make a successful team, each team member knows, agrees on and is committed to accomplishing a shared goal. Each team member contributes to a climate of trust and openness, identifies and corrects their own mistakes, trusts and depends on the other members of the team. Each team member communicates openly and honestly, values diversity as an asset and makes decisions by general agreement.

(Giving an example is important): During my working at the University of Alberta, I was part of software development team in a big international collaboration, from 37 countries. We were working together via teleconferences, weekly phone meetings, face to face meetings, emails and internal notes. We respect each other and work together to set clear schedule and time line. Our team finished projects on time and received excellent review from collaborations.


5. What will your supervise say about you?
Due to my good work performance and nice personality, I have very good
relation with my current supervisor and previous supervisors. I often contact my supervisors and have dinners sometimes. If you ask my supervisors, they will always say that I am a good computer programmer, great at communication, always finish projects on time, hardworking, team-player, easy to get along and honest.


6. What books do you read for programming?
I read C/C++ programming, Matlab programming text books, Python, PERL, shell script, HTML/PHP, parallel computing, Grid computing, MySQL and boost library online manuals, Linux system administration, TCP/IP network. I often participate computer programming discussion in online forums and participate MATLAB seminars.

7. Tell me what is your biggest achievement?
I designed software framework and data analysis framework for several world-class experiments such as ATLAS and OPAL experiments at CERN, HERME experiment at DESY. I wrote thousands of lines of C++ code and several manuals. I published 3 papers and co-author of 90 publications. My publications are still cited. I am proud of my previous achievement and looking forward to contributing more to your company.

8. Describe a situation in which you have tight time line and now you resolve the problem?
When I worked as a software programmer at the University of Alberta, I am part of software release team. Each release has a tight deadline. I mad a detail schedule and discussed with my supervisor and colleagues. I worked hard and make sure each step finished on time. I often discussed possible bugs and how to fix them with my international collaborators via telephone and email. Searching through Internet sometimes also helped me resolve the problem. Finally I finished my project on time and got compliments in the Collaboration.

9. What would you do in the first month to establish effective relationships with colleagues?
The relationships with my colleagues are important. Good workplace relationships can help me do my job better. They can make going to work everyday enjoyable. The first month is especially important to establish effective relationships with my colleagues.
1) Learn from my colleagues. Be friendly, accept advice and get to know my co-workers. Understand company culture.
2)Respect my colleagues. Don't discuss topics that could make my colleagues uncomfortable. Religion, politics and sex life all fall under the heading of topics to avoid discussing with my colleagues. Do my best to avoid offending those with whom I work.
3) Practice Good Office Etiquette. Good manners are as important at work as they are anywhere else.

10. Describe why you feel your experience, knowledge, ability and
personal suitability make you a good candidate for this position.
(Read through job description. Match resumes to job ads
For example: You required C++ and MATLAB coding experience. I have ten year C++ and MATLAB programming experience in BCCDC, University of Alberta, TRIUMF and UBC. You required a M.SC degree while I have a PhD degree from UBC. You required good communication skills. I worked in several international collaborations for ten years. I have experience at desk-help, tutor and teaching. I am a co-author of 92 publications)
For example FinCAD:
I have 10 years experience at quantitative research, numerical analysis, Monte Carlo Simulation, Mathematical modeling, software documentation, computer programming using C++, Object oriented design, Boost library, Matlab, Ms Office, Python and html in BCCDC, UBC, TRIUMF and University of Alberta.

I always had an interest in finance. I have personal
investment of mutual fund/stocks in TD bank and TD Waterhouse.
I read financial news every day and study/predict the trend of
Canadian S&P/TSX Composite Index. I read "derivative market" book
and attend some financial investment seminars and workshops.
I understand the concepts of option, call, put and financial tools.

I have excellent communication skills , in verbal and written due to
that I worked at three large international collaborations for 10 years.
I have experience at supervising students, editorial board members,
software consulting, presenting talks in conferences and publishing papers
in Journals.

I am very interested in switching my career from academia to financial field and build my knowledge in quantitative analysis. I believe that I am well suited for building financial models and software packages in the fast-paced and analytical environment.



11. What is your weakness?
As English is my second language, I probably have some accents. But this will not prevent me from good communication. I also keep working to improve my English.

12. What is your salary expectation?
My salary exception is XX000 annually, but I am open to negotiate.

13. Do you have any question for us?
It is great to talk to you. Now I have more understanding of your company and the role of this position. I am looking froward to adding values and contributing to the growth of your company. When do you make the final decision? Can I have your name card? (smile, thank you, shake hand, bye)

14.
What do you know about FINCAD?

FINCAD provides software and services for pricing and managing the risk of financial securities and derivatives that is essential for banks, corporate treasuries and asset management firms.
Founded in 1990, FinancialCAD Corporation (FINCAD) has become the industry standard in financial analytics providing derivative analytics tools and services to over 35,000 financial professionals and financial software builders around the world (70 countries).

FINCAD offers web-based solutions for the analysis of capital markets'
financial instruments and derivatives. FINCAD creates valuation, pricing,
risk assessment, cash flow forecasting, and regulatory compliance tools
for their clients in a number of different markets.

15. What is the role of Quantitative developer?
The role of Quantitative Developer is to research, design, document
and develop program mathematical solutions for specific financial
problems.

a. Conducts detailed research and analysis of defined financial
engineering problems.
b. Provides financial expertise in the design of business
solutions.
c. Assists in the specification/documentation of detailed
requirements for features.
d. Provides time estimates for allocated work items. Regularly
reports progress on allocated work including issues that threaten the
quality or timeliness of the work.
e. Participate in the continual improvement of the quantitative
research (and development) processes and procedures implemented at FINCAD.
f. Continually improves knowledge of the financial domain by
reading books, attending seminars/courses and subsequently disseminating
the knowledge amongst the whole R&D team.
g Acts as a domain expert for areas allocated by Head of
Quantitative Research.
h. Participates in the review of peers work.

5 comments:

  1. Example:
    1. What do you know about FINCAD?

    FINCAD provides software and services for pricing and managing the risk of financial securities and derivatives that is essential for banks, corporate treasuries and asset management firms.
    Founded in 1990, FinancialCAD Corporation (FINCAD) has become the industry standard in financial analytics providing derivative analytics tools and services to over 35,000 financial professionals and financial software builders around the world (70 countries).

    ReplyDelete
  2. 1. What do you know about D-wave?

    D-Wave Systems, Inc. develops and commercializes quantum supercomputing systems for commercial use. D-Wave’s core focus is the development of superconducting processors capable of running adiabatic quantum algorithms for solving quadratic unconstrained binary optimization (QUBO) problems. QUBO is a well-known NP-hard optimization problem.

    AQUA@Home is a distributed computing project operated by D-Wave Systems and running on the Berkeley Open Infrastructure for Network Computing (BOINC) software platform. Its goal is to predict the performance of superconducting adiabatic quantum computers on a variety of problems arising in fields ranging from materials science to machine learning. It designs and analyzes quantum computing algorithms, using Quantum Monte Carlo techniques.

    AQUA@Home is the first BOINC project to provide multi-threaded applications. It is also the first project to deploy an OpenCL test application under BOINC.

    2) What is graph theory? DO you have experience
    using graph?

    Graph theory is the study of graphs. A graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected objects are represented by mathematical abstractions called vertices, and the links that connect some pairs of vertices are called edges. Typically, a graph is depicted in diagrammatic form as a set of dots for the vertices, joined by lines or curves for the edges. Graphs are one of the objects of study in discrete mathematics.

    I used graph theory to simulate Canada contact network and Greater Vancouver contact network. Each person is a vertex. Average degree of connection (edge) is 15. There are 30 million vertices in Canada which need to optimize the simulation algorithm so it can be run in WestGrid. I implement the MPI (parallel computing) algorithm in simulation to avoid crash due to lack of memory.

    3) What is quantum Monte Carlo? Do you have
    experience at using quantum Monte Carlo?

    Quantum Monte Carlo is a large class of computer algorithms that simulate quantum systems with the idea of solving the quantum many-body problem. They use, in one way or another, the Monte Carlo method to handle the many-dimensional integrals that arise. Quantum Monte Carlo allows a direct representation of many-body effects in the wave function, at the cost of statistical uncertainty that can be reduced with more simulation time. For bosons, there exist numerically exact and polynomial-scaling algorithms. For fermions, there exist very good approximations and numerically exact exponentially scaling quantum Monte Carlo algorithms, but none that are both.

    I have ten years experience in Monte Carlo simulation in nuclear and particle physics.
    I learned quantum Monte Carlo simulation in
    my university courses.

    ReplyDelete
  3. 4. What is Combinatorial optimization?
    Combinatorial optimization is a topic in theoretical computer science and applied mathematics that consists of finding the least-cost solution to a mathematical problem in which each solution is associated with a numerical cost. Some common problems involving combinatorial optimization are the traveling salesman problem and the minimum spanning tree problem.

    5. What is discrete optimization?
    As opposed to continuous optimization, the variables used in the mathematical program (or some of them) are restricted to assume only discrete values, such as the integers.

    Two notable branches of discrete optimization are:

    * combinatorial optimization, which refers to problems on graphs, matroids and other discrete structures
    * integer programming

    ReplyDelete
  4. Hi, I find your site very informative. Have you had any recent interviews with D-wave?

    ReplyDelete
  5. Hi, Le:
    Thanks for your comments! I have only telephone interview with D-wave. I do not post the interview
    content for the fairness of selection process.

    ReplyDelete