This is a place devoted to giving you deeper insight
into the news, trends, people and technology behind Bing.
Developers – It’s round two of Bing’s Coding Challenge! This time we have three opportunities to showcase your technical skills through three original coding challenges. Choose carefully as you can only submit one entry!
Start marinating over the challenges and when complete, submit your entry or entries to firstname.lastname@example.org no later than 5:59pm PST, December 13, 2013. Please see official rules on how to submit your entry, prizes, and eligibility.
Submission - submit your answer by email to email@example.com with a subject line of: Microsoft Coding Challenge. Entries close at 5:59 p.m. PT on December 13th, 2013
Grand Prize: A meeting with Microsoft employees and personnel in Redmond, WA, to answer questions about your background, career, expectations, aspirations and employability. Winner will receive the standard Microsoft recruiting travel package including
1) Round trip coach airfare from major airport closest to winner's home to Seattle, WA
2) Two night’s standard hotel accommodations
3) Rental car for duration of stay
4) The opportunity to meet with Microsoft recruiting staff
5) $75 per day meal allowance
Microsoft News Experience Coding Challenge:
Assume that millions of news feeds, from thousands of news partner’s worldwide, are processed every day. This includes RSS feeds as well. Most news feeds do not follow any one (or two) schema so the first hurdle in processing these feeds (one at a time) and convert them to an internal canonical format. Next, one needs to verify that mandatory fields exists and for feeds with well-known schema (some partners well-known schema), the values are correct (or in range). Once the validation is complete, the meta-data about the news story (e.g. Source, Dateline, Headline, keywords etc.) is kept in a database whereas the story itself is kept in an XML format in a (distributed) file store. At this time, news index is also updated with this processed news story.
On the consumption (of news) side, the news is rendered via msn.com sites/pages, Bing Apps on Windows and Phone. These applications make a REST-based call to the backend services to fetch a specific news story (by ID) or search by a given page grouping (e.g. entertainment entity in Thailand showing headlines with an image). The editorial team curates the experience by attaching a set of news story (e.g. by using keywords) for a specific market (e.g. French Canada) to a specific Bing App (or msn.com site) visible entity.
Keep in mind that the experiences (Windows 8 Apps, Windows Phone Apps, msn.com sites) have to work for hundreds of millions of users consuming news in over 100+ languages in 200+ countries and regions. Similarly, news feeds could contain news in any of these languages and meant for all regions or a particular region. The experiences need to rendered in sub-seconds.
As part of this coding challenge, you are invited to design any or all parts of the end-to-end data-flow/experience, and write code for a specific component or app. For example, you could submit a Windows 8 app mimicking the UX of Bing News App OR a web app displaying news for a given market (e.g. Israel) OR a Windows Phone App OR a newsfeed ingestion pipeline. You are also welcome to submit code for application or backend services built on non-windows/non-Microsoft platforms, if that is your current expertise.
This challenge is open to industry veterans to seniors in a college and to candidates around the world.
The Bing Apps Coding Challenge:
First head over to Microsoft Channel 9 site and learn how to build Windows 8 Application using WinJS or C#. Next find a Windows 8 machine and run Bing News Application.
Build your application to mimic the user experience of Bing News Application especially in the following area:
(Add picture of Top Edgy)
Considerations and constraints
Here are some aspects to consider:
1) Design of the application. Be explicit about the assumptions you make.
2) The Application Code
3) Performance (Time to render) measured using Stop Watch, ETW will be ideal
Stretch goal (bonus points)
The Bing Phone Apps Coding Challenge:
First head over to Microsoft Channel 9 site and learn how to build Windows Phone Application. Next find a Windows system which is supported by Visual Studio Express 2012 for Windows Phone and start building the News Application. For UX, either download Bing Phone News App for Windows Phone or get schematic at this blog.
3) Performance (Time to render) measured using Stop Watch, ETW will be ideal.
The MSN Web App Coding Challenge:
For building your Web site/App, you can leverage Microsoft platforms (e.g. ASP.NET MVC, Microsoft Azure) or non-Microsoft platforms (e.g. Apache).
For engineers familiar with Windows platform, first head over to learn about MVC platform. Then, create a RESTful service around a real RSS feed or a local file – to get news story for your web site. Then, build the Web UX mimicking a msn.com news site for your (or nearest) region e.g. US Site.
3) Performance (Time to render) measured using Performance Counters.
Stretch Goals (Bonus Point):
The Bing News Processing Service Coding Challenge:
For engineers fascinated with building massively scale-able systems like news ingestion pipelines (or indexing systems), design the backend system. Remember that data is consumed (via RESTful APIs) around the world (where the users are). Clarify the assumptions you are making as part of the design and then code up one portion of the design and submit both the design and code. You are welcome to assume all services running on physical machines or Cloud-based systems (e.g. Windows Azure, Amazon AWS, or Google Cloud). For building the code, you can leverage Microsoft .Net or Java or any other stack that you are most versatile in.
1) Design of some or whole pipeline. Be explicit about the assumptions you make.
2) The Service Code
3) Performance (e.g. # of ingested feeds per second per system, # of news story indexed per second) measured.
4) Design points around scale. What would change if you have 100 times more feeds? 100 times more stores? 100 times more users
Stretch Goals (Bonus Points):
BING CODING CONTEST
COMMON TERMS USED IN THESE RULES:
These are the official rules that govern how the Bing Coding contest will operate (“Contest”).
In these rules, “we,” “our,” and “us” refer to Microsoft Corporation, the sponsor of this Contest. “You” refers to an eligible Contest entrant.
This is a skill-based Contest. The object of this Contest is to exhibit skill in software coding. For purposes of this Contest, each coding exercise that you create and submit in the Contest will be called an “Entry.” All eligible Entries received will be judged using the criteria described below to determine winners.
WHAT ARE THE START AND END DATES?
This Contest starts at 10 a.m. Pacific Time (PT) on October 18, 2013, and ends at 11:59 p.m. PT on December 13, 2013 (“Entry Period”). Public voting will take place during the Entry Period, the results of which will be considered in the judging criteria described more fully below.
CAN I ENTER?
You are eligible to enter this Contest if you meet the following requirements at time Entry:
This Contest is void outside the geographic area described above and wherever else prohibited by law.
HOW DO I ENTER?
To enter visit http://www.bing.com/blogs/site_blogs/b/bingjobs/default.aspx and follow the instructions to complete the Contest coding exercise using Object Oriented Programming Language within the Entry Period. A total of one coding exercise will be presented.
The answer you submit and the registration information you provide will together be called your “Entry.” Limit 1 Entry per person. We are not responsible for Entries that we do not receive for any reason, or for Entries that we receive but are not decipherable for any reason. In the event we receive more than one Entry from you for the same coding exercise, only the first Entry submitted will be considered and the rest will be disqualified.
We will automatically disqualify any incomplete or illegible Entry.
WHAT CONSTITUTES AN ELIGIBLE ENTRY?
To be eligible for judging your Entry must meet the following requirements:
We reserve the right to reject any Entry, in our sole and absolute discretion, that we determine does not meet the above criteria.
HOW WILL MY ENTRY BE POTENTIALLY USED?
By submitting your Entry, you:
Please note that your Entry may be posted on a website selected by us for viewing by visitors to that website. We are not responsible for any unauthorized use of your Entry by visitors to this website. While we reserve these rights, we are not obligated to use your Entry for any purpose, even if it has been selected as a winning Entry.
If you do not want to grant us these rights to your Entry, please do not enter this Contest.
WINNER DETERMINATION AND PRIZES
At the close of the Entry Period a panel of Microsoft judges will review all entries and select one Grand Prize winner and three First Place winners based on the following judging criteria:
The decisions of the judges are final and binding. In the event of a tie between any eligible entries, an additional judge will break the tie based on the judging criteria described above. The decisions of the judges are final and binding. If we do not receive a sufficient number of entries meeting the entry requirements, we may, at our discretion, select fewer or no winners.
Grand Prize: A meeting with Microsoft employees and personnel in Redmond, WA, to answer questions about your background, career, expectations, aspirations and employability. Winner will receive the standard Microsoft recruiting travel package including Round trip coach airfare from major airport closest to winner's home to Seattle, WA
Please remember that participation in the Contest, winning the grand prize, or meeting with Microsoft employees is not a guarantee of a job or job-offer at Microsoft.
Winner is responsible for providing all required travel documents, including, but not limited to any required photo identification etc. If winner lives within 500 miles of Redmond, WA, Sponsor reserves the right to provide alternative transportation and hotel accommodations.
Any expenses not mentioned above are the winner’s responsibility. Some restrictions may apply. Trip dates will be arranged with the winner based on a mutually available time. Winner may not cancel or transfer of reservation to another date after reservation has been made.
(3) First Prize: A Bing branded T-Shirt. ARV ea $20
If you are a potential winner, we will notify you by sending a message to the e-mail address, the phone number, or mailing address (if any) provided at time of Entry within seven (7) days following completion of judging. If the notification that we send is returned as undeliverable, or you are otherwise unreachable for any reason, we may award to a runner-up.
If there is a dispute as to who is the potential winner, we will consider the potential winner to be the authorized account holder of the e-mail address used to enter the Contest. If you are a potential winner, we may require you to sign an affidavit of eligibility, liability and publicity within 10 days of notification. If you do not complete the required forms as instructed and/or return the required forms within the time period listed on the winner notification message, we may disqualify you.
If you are confirmed as a winner of this Contest:
We will only award one (1) prize per person.
WHAT OTHER CONDITIONS AM I AGREEING TO BY ENTERING?
By entering this Contest you agree:
WHAT LAWS GOVERN THE WAY THIS CONTEST IS EXECUTED AND ADMINISTRATED?
This Contest will be governed by the laws of the State of Washington, and you consent to the exclusive jurisdiction and venue of the courts of the State of Washington for any disputes arising out of this Contest.
WHAT IF SOMETHING UNEXPECTED HAPPENS AND THE CONTEST CAN’T RUN AS PLANNED?
If someone cheats, or a virus, bug, catastrophic event, or any other unforeseen or unexpected event that cannot be reasonably anticipated or controlled, (also referred to as force majeure) affects the fairness and / or integrity of this Contest, we reserve the right to cancel, change or suspend this Contest. This right is reserved whether the event is due to human or technical error. If a solution cannot be found to restore the integrity of the Contest, we reserve the right to select winners from among all eligible entries received before we had to cancel, change or suspend the Contest.
If you attempt to compromise the integrity or the legitimate operation of this Contest by hacking or by cheating or committing fraud in ANY way, we may seek damages from you to the fullest extent permitted by law. Further, we may ban you from participating in any of our future Contest, so please play fairly.
To find out who won, send an email for receipt by December 20, 2013, with the subject line “Bing Coding Contest Winner” to firstname.lastname@example.org
WHO IS SPONSORING THIS CONTEST?
One Microsoft Way
Redmond, WA 98052
© 2013 Microsoft