Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

16 May 2007

Code Complete, Second Edition


Code Complete, Second Edition
by Steve McConnell
  • Paperback: 960 pages
  • Publisher: Microsoft Press; 2 edition (June 2004)
  • Language: English
  • ISBN-10: 0735619670
  • ISBN-13: 978-0735619678
  • Product Dimensions: 9.1 x 7.3 x 1.8 inches
  • Shipping Weight: 3.2 pounds
  • Average Customer Review: based on 67 reviews.


http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/sr=1-1/qid=1169499581?ie=UTF8&s=books

3 May 2007

The Day

어제 새로 이사 온 Fairview Crescent의 내 집엔 아직 룸메들이 안 들어와서 현정이랑 같이 지내고 있다.
오늘 12: 30분에 있던 마이크로소프트 전화 인터뷰는 걱정 했던 것 보단 평이했다는 느낌이야. 예를 들면,
  • 스트링에 있는 문자 중 중복 된 것 찾기
  • 링크드 리스트의 가운데 노드 찾기
  • 키보드를 테스트 하게 된다면 어떻게 할 것인가. (시간과 자원이 무한하다는 가정)
  • 컴퓨터를 하는 이유.
  • 컴퓨터에 처음 발을 들이게 된 계기
내가 관심 있다고 했던 Business solution 쪽으로 내 정보를 보낸다고 하니 난 NTCU에서 즐기며 기다려야지 =)
다만, 혹시 내가 질문의 뒤에 숨은 의도를 파악하지 못한 건 아닐까 하는 우려 정도?
실수도 하고 완벽하진 않았던 인터뷰였지만, 나와 통화 했던 그녀가 나의 열정과 관심을 알아 주셨으면 하는 희망으로 기분 UP 해야지 =) 인터뷰 준비한다고 자료 구조나 알고리즘, 퀴즈 같은 것을 보는 자체로도 재미있었어 ^~^* 마이크로소프트, 정말이지 매번 내 편견을 깨는 구나. 인터뷰 문제들이 식상하지가 않아.. 내 스타일이야 ㅋㄷ 여행 하면서 심심할 때 생각해 볼 만한 문제들~

우박이 쏟아졌다가 개었다가 비가 한 바탕 내렸다가 개었다가 하는 변덕스러운 날씨에도 불구하고 피곤한 몸을 이끌고, Northwestern Technology Conference에 갔는데 생각보다 적은 수의 학생들이 있었어. 대략 서른명 남짓? 그래도 좋아. 왜냐하면 오히려 더 단란하게 행사를 보낼 수 있으니까. 내일과 모레 있을 컨퍼런스가 기대돼 ^~^*
일찍 일어나야지!!
꺄악!! 재밌어 재밌어!! 오늘도 즐거운 하루였다. =p

28 April 2007

The Initial Interview

Once your recruiter has had a chance to review your resume and gotten to know you a little better through brief chats or e-mail, they may wish to schedule an initial interview with you. These interviews are very casual and are usually held over the phone or on your campus. They are intended only to give us a general idea of your skills and interests and are usually not for specific open positions or teams.

Some things to keep in mind:

Be prepared to discuss your strengths, expertise, and any experience or previous jobs that appear on your resume.
If you're interested in one of our core technology positions-Software Design Engineer, Software Design Engineer in Test, or Program Manager-you may be asked some general problem-solving, design, or algorithm questions.

9 April 2007

Vista slower than XP at start-up, shutdown, gripe users

Au contraire, says Microsoft; Vista should be faster for most [read more...]

Said Jon: "XP is undoubtedly quicker than Vista. I don't think there will be a way around that. You'll never get extra functionality, without some performance cost, assuming the same hardware."

Well, that's right. But what we have to do is trying to give more functionality with same cost, isn't it?
I laughed twice while reading this article
at here.
"I'm currently writing this on my other PC, because nothing has happened on my Vista machine for about 15 minutes."
...
and here.
Microsoft has positioned Vista's new sleep mode -- a hybrid state that combines Windows XP's separate hibernation and standby modes -- as the default setting, essentially conditioning users to not power-off their PCs. Some have reasoned that the move was made to mask Vista's long boot and shutdown times.
Lol. So, is that reason why the next client version of Windows after Vista (Windows Seven) is upcoming?
Although Vista is cool, it should be better to meet customers' needs.

7 April 2007

Resume & Interview Tips

from Microsoft Canada Career Centre
Resume Tips

A well-prepared resume may not lead directly to a job offer, but it will improve your chances of being considered for a position and perhaps help you land an interview. Here are a few suggestions for submitting a resume to Microsoft
Canada.

  • Make certain your resume is up-to-date and clearly describes your strengths, past jobs, and expertise.
  • To show that you are more qualified than the competition for the positions you are seeking, present specific accomplishments and achievements: percentages increased, accounts expanded, awards won, etc.
  • Provide a description of the specific positions that interest you, and your skills and qualifications, so we can best match your abilities and interests with appropriate positions in our company.
  • Be factual and don't exaggerate on dates or titles. A background check that discovers inaccurate information could immediately disqualify you from consideration.
  • Use the spell checker feature on your computer or ask a friend to review your resume for typos or grammatical errors.
  • Be sure to include your current contact information.
Preparing for the Interview

A typical Microsoft interview is anything but typical. The types of questions you'll be asked will vary depending on the position you're looking for, but all are meant to investigate your capabilities and potential to grow. We look for original, creative thinkers, people with a passion for what they do and the energy to make those around them better. Let us offer a few words of advice on how to make the most of your Microsoft Canada interview.

Come well rested. You will typically meet with three to six different people over the course of your interview. You want to be mentally prepared.

Dress comfortably (business or professional casual attire). Wear whatever makes you comfortable in an interview. Microsoft prizes intelligence and contribution over style.

Relax and be yourself. Natural enthusiasm and positive attitude will take you a long way to making a positive impression.

Be honest.

Remember, an interview is an opportunity for you to get to know us, as well as for us to get to know you. Relax. Ask questions. Listen. Learn. This may be the beginning of an incredible journey.

3 April 2007

Hyun Jung's Life: Imagine Cup 2007, Toronto Regional Final

Hyun Jung's Life: Imagine Cup 2007, Toronto Regional Final


I have been in Toronto last weekends for Regional Final.
It was awesome!!
All Canadian students who I met there were not only intelligent, but also nice and funny. =)
Although I couldn't get a chance to go to the
Final, it was good trip by itself.
Thanks, MS =)


-
---------------[ Toronto Regional Final ]------------------------------------------------
  • Hyun Jung University of British Columbia
    • Ranked #38 among all Canadian competitors
    • Ranked #8 among all UBC students
------------------------------------------------------------------------------------------------------
  • University of British Columbia British Columbia
    • Ranked #1 among all Universities in Canada. (Two guys are finalists.)
We ALL are winners!!! d(^~^)b
------------------------------------------------------------------------------------------------------

I used...
Language: C#
IDE: Microsoft Visual C# 2005 Express Edition
OS: Windows XP

To Make Better Programs


  1. Fully Understand Customer's Needs
    • 고객, 즉 사용자가 무엇을 원하는지 파악하는 것이 중요하다. 아무리 좋은 기능이라고 해도 당신의 고객이 원하지 않는다면 가치가 없다.
  2. Scheduling: According to The Mythical Man-Month, you may spend time for
    Design (1/3), Coding (1/6), Component testing (1/4), and System testing (1/4). That means Design (4) : Coding (2) : Component testing (3) : System testing (3)
    • Brooks law에 따르면 늦어진 프로젝트에 사람을 충원하는 것은 프로젝트를 더욱 느리게 만들 뿐이다. 대게 실제 코딩을 하는 데 대부분의 시간을 쓴다고 생각하지만 실제 코딩은 1/6의 시간을 차지하는 것이 적당하다. 그리고 테스트에 전체의 1/2의 기간이 소요된다.
  3. Communication Between Team Members
    • Class들의 Cohesion(응집성)만 중요한 것이 아니다. 조직행동론에 따르면 높은 Cohesion을 보이는 팀은 높은 성과를 내거나 낮은 성과를 낸다. (반면, 응집력이 작은 팀은 약간 좋은 성과를 내거나, 약간 낮은 성과를 낸다.) 성패를 좌우하는 것은 탁 팀원들의 공통 목표를 제대로 인식하고 goal을 향해 나아가는 가이다.
  4. Exactly Understand What Problem Is
    • 해결해야 하는 문제가 무엇인지 올바로 파악해야, 문제를 풀 수 있다.
  5. Appropriate Software Design (using Design Patterns)
    • 문제에 적절한 디자인 패턴을 이용한다. 자신이 알고 있는 디자인을 Golden hammer로 모든 곳에 적용하려 해서는 안 된다. (Golden hammer와 Anti-pattern을 참고.)
  6. Spiral Design Process: Waterfalls model은 지양해야 한다.
    Star lifecycle model, simple interaction design model, simple interaction design model, usability engineering lifecycle 등 Evaluation을 강조한 다양한 Design process가 있다.

    • Spiral model (Waterfalls model을 사용하지 말라.)
    • Interface Design and Usability Engineering
  7. Make a couple of scenarios
    • 예상되는 사용 시나리오를 몇 개 작성해 본다. 프로그램이 어떻게 사용 될지, 어떻게 사용자, H/W, 시스템이 서로 영향을 미칠지 구체적으로 기술한다.
  8. Understand What I have to do for a project, by attending meetings.
    • 특히 팀으로 진행 되는 경우, 각자의 역할이 무엇인지 명확하게 설정 되어 있어야 서로 overlap되지 않아 효율을 높일 수 있다.
  9. Cohesion and Decoupling (especially for OOP)
    • OOP의 기본 개념이다. 보다 maintainable한 프로그램을 위한 조건이다. 프로그램을 디자인할 때 염두해야 한다.
  10. Documentation (Comments, API, Javadoc, helper methods, etc.)
    • 이 역시 maintainable한 프로그램을 위한 조건이다. 덧붙여 프로젝트가 진행 됨에 따라 개발자가 교체되거나 개발팀 외부의 사람과 대화 할 때 유용하다.

Figure. Spiral model: www.swc.scipy.org/lec/dev01.html
Figure. Interface Design and Usability Engineering: http://grouplab.cpsc.ucalgary.ca/saul/481/