联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2020-10-16 10:51

End of Session 2 - 2020 Examination

Important

All answers should be typed into the blank exam document provided and submitted via both

the Turnitin and final submission links by 5:30pm AEST (QLD time) today (14/10/2020). The

separate answer document is provided at the same link as you obtained this paper. You must

submit that document. Failure to do so will result in a final grade of “F”. If you have any

problems doing this, please put up your ‘hand up’ in blackboard or immediately email the unit

assessor or your tutor.

Open Book Exam

The exam is an 'open book' exam. An open book exam will assess the same learning outcomes

as the original exam. The use of study resources such as textbook, unit materials and any other

prepared resources are permitted. However, please note that normal academic integrity rules

apply. You are not permitted to research information on internet search engines during the

exam. You are not allowed to have your mobile phone accessible at the time of the exam. You

may use all other study materials from the unit (e.g. topic PDFs and associated readings,

workshop PDFs and associated readings, Textbook and associated readings, any readings or

resources that were previously sent in unit announcements), but your answers must be in your

own words, or be paraphrased and referenced.

Engaging with any other individual or colluding with any other individual about exam questions

is not permitted. Simply cutting and pasting into the exam paper is not permitted and will not

assist the quality of your answers. Plagiarism and contract cheating detection will be

conducted. Therefore, 'open book' means that you cannot access the internet search engines to

research your responses during the exam.

End of Session 2 - 2020 Examination

Scenario

Please read this scenario and job description carefully. You are involved in the prestigious but often

challenging Google recruitment process. As part of this process you are required to respond to several

questions and activities. All your answers must address the context of this scenario and the information

given in the individual questions.

Job description - Software development professional at Google

There's no such thing as “a normal day" at Google. We work to create and maintain the safest

operating environment for Google's users and developers.

Users come first at Google!

As part of your work at Google, on any day you might be exposed to the full suite of Google products.

You will be working on some exciting new products at Google, such as Google Digital Garage, our

online learning platform. You will also be working across a growing Internet of Things (IoT) portfolio.

You will also work as part of our Advertising and Commerce team: we believe that ads and

commercial information can be highly useful to our users if that information is relevant to what our

users wish to find or do. Advertisers worldwide use Google Ads to promote their products; publishers

use AdSense to serve relevant ads on their website; and business around the world use our products

(like Google Shopping, and Google Wallet) to support their online businesses and bring users into their

offline stores. We are constantly innovating to deliver the most effective advertising and commerce

opportunities of tomorrow.

This is “hands-on” work with other systems and security engineers, to proactively identify and fix

bugs, flaws and vulnerabilities in our software products.

You will be placed in a specialist team where you will focus on the creation of software product

development plans, software design reviews, and software development testing design across various

Google products.

In this role, you will often be analysing software designs and implementations from a user experience

(UX) perspective and working to cultivate software development best practices across the company.

You will develop solutions to help mitigate software vulnerabilities and promote excellent design and

usability for users across Google products.

You will work closely with other software engineers, programmers, product managers, legal and

policy teams to build new features.

The team are advocates of Agile software development but are also versatile enough to work with

more traditional development approaches across the organisation and with other partners.

End of Session 2 - 2020 Examination

Questions

Part A 54 marks – Shorter answer questions (6 marks each)

Part A includes 9 shorter answer questions and there are no enforced maximum or minimum word limits,

although it is strongly recommended you keep responses to less than 350 words in order to have enough

time to complete the exam. You are permitted to use your own graphics and tables where it assists you

in better answering a question. You should attempt all the questions (6 marks for each question).

A1. Google Digital Garage offers many short courses and certifications in several study areas and

disciplines. When a user has been enrolled in one or more Google Digital Garage courses, their

information is included in a relevant user database. During the session of a course, the user can

access their Google Digital Garage dashboard with their user account. Generate at least one user

story and two brief user acceptance test strategies based on the information provided. If you were

asked to conduct a Detailed Blackbox Test for Google Digital Garage, would you need to inspect the

software source code or user-interface for this platform? Explain why or why not.

A2. In your studies you considered both centralised and distributed version control systems. Below is an

excerpt from Apache Subversion (or SVN), a centralised version control system. It begins with the git

svn clone command, which imports a Subversion repository into a local Git repository. The git svn

clone command actually runs the equivalent of two other git commands on a URL provided. The

source code for this unknown Google product has approximately 97,000 lines of code. Why might

this process take a long time in this system? What would happen if you tried to copy an original

repository to another remote repository instead of a local one?

End of Session 2 - 2020 Examination

A3. Google Chrome supports several different release channels. They use these channels to slowly roll

out updates to users, starting with the “close to daily” Canary channel builds, all the way up to what

are termed ‘Stable channel releases’ that happen “every 6 weeks roughly”. The Dev channel is

updated “once or twice” a week, while the Beta channel is updated “roughly every week”.

a) The recruiter asks you to discuss ‘dailies’/’nightlies’ and continuous integration (CI), in the

context of Google Chrome. Which of the above development channels will you discuss and why?

b) These build management channels manage the compilation and linkage of source code to

object code to executable systems. Compare and contrast the two ways that build systems

decide which source file or object file needs to be respectively compiled and linked to form a

new executable? (Assume that for efficiency reasons the build process only does this when

necessary).

A4. The Google Ads team is getting ready to prepare a system vision document as part of their software

procurement process for a new software service. Who is the audience for this document and what is

the objective of this document? What Agile practice might best assist with the generation of a

system vision document in this example?

A5. Google Supplier Management is a resource for prospective and existing Google suppliers, and

provides information and tools on conducting business with Google. A Request for Tender (RFT) has

just been announced on this portal for a software component, as part of the early development

stages of an Internet of Things (IoT) project. Justify the use of an RFT in an organisation such as

Google for this project. You will need to outline the attributes of the project and its current

progress in your answer. The recruiter is not interested in what goes in the RFT here, just why

Google would do one and why would someone respond. In your answer you must justify the choice

of an RFT over other well-known request types.

A6. As you know from the job description given at the start of this paper, the Google development team

are advocates of Agile software development. A Google dev team is working on a customer

relationship management system for one of their new financial technology products that will be

deployed to global banking institutions. They will be using the Scrum process management

methodology. The CEO wants to see this product rolled out in 12 months. Based on this information,

describe and explain possible difficulties or problems that may occur during the development

process.

End of Session 2 - 2020 Examination

A7. Below are two examples of basic formatting of Javadoc blocks. A simple single-line format and a

multiple line format. The single-line format may be substituted when the entirety of the Javadoc

block (including comment markers) can fit on a single line.

A single-line example:

/** An especially short bit of Javadoc. */

A multiple line example:

/**

* Multiple lines of Javadoc text are written here,

* wrapped normally...

*/

public int method(String p1) { ... }

Below is an extract of Google’s automatic documentation generation guides on Javadocs:

Any of the standard "block tags" that are used appear in the order @param, @return, @throws,

@deprecated, and these four types never appear with an empty description.

Your Google recruiter asks you - is it possible to use these tags in a simple single-line Javadoc

format? Explain why this is or is not possible.

A8. Google Digital Garage is Google’s online e-learning platform. As part of this is a system for querying

a user’s scores for all courses that a user has purchased. This system is read-only for a user, but

Google staff can create and change scores. Outline a very simple design of this system using the

four operations associated with objects in RESTful services.

A9. Google’s Internet of Things (IoT) team is designing and developing a new IoT software system to

assist industry with supply chain management (e.g. suppliers, shipping, wholesalers). Recommend a

distributed architecture for this system and justify your recommendation. Discuss any emerging

trends in service-oriented-architecture (SOA) that may be useful to the team and this project.

End of Session 2 - 2020 Examination

Part B 46 marks - Essay Style Questions (11.5 marks each)

Part B includes 5 questions. You must choose and answer only 4 questions. If answer more than 4

questions only the first 4 questions will be graded. While there are no enforced maximum or minimum

word limits, your responses should be less than 700 words to complete the exam in time. You are

permitted to use graphics and tables as part of your answers.

B1. Google Research facilitates the publishing of academic papers for their research and

development staff. As part of this they have a system to allow on-line checking of paper

submissions to detect possible plagiarism. The system must track submission time and dates and

provide an analysis of the matches found in other people’s work, in Internet documents and in

paper-based publications such as books and magazines. The analysis will be available to the staff

member who submitted the paper and the academic reviewer.

The plagiarism detection and matching must be configurable providing for:

? Optional checking of bibliographies

? Allow proper quotations to be excluded

? Allow setting a minimum number of matching words

? Allow resubmission of papers up to a given date/time

Outline an acceptance test for the above system as described. Full marks will be awarded to those

plans that can automate the acceptance test and show an example of a simple automated

acceptance test script.

End of Session 2 - 2020 Examination

B2. The below shows a UI from Google’s job application site. Your recruiter has asked you to

develop a black-box test plan for this interface from a purely functional point of view, using

strategies you have learned about or any you can think of.

? You can assume the “What do you want to do?” field is a “search” field and in this

example “software development” is the search term.

? Below that is another search field for location terms. Below that again, are several

filters.

? Do not forget the ‘Clear Filters’ at top of the page where you can assume it is a button,

the ‘Turn on job alerts’ slider and the ‘Sort by’ drop menu to the right which is a simple

drop down function.

? You can assume the ‘Share’ operation works similarly to a hyperlink and the ‘save’

button works similar to a bookmark operation.

The programmers on this project engage in several Extreme Programming (XP) practices, such as

paired programming. As part of your response, describe user stories in XP, and write user stories

to describe the task/requirements outlined above.

End of Session 2 - 2020 Examination

B3. As part of Google Digital Garage’s scoring approvals system is a web-based component (e.g.

HTML pages) which links to a user management system that records final scores in courses. The

permanent storage (student management system) is not part of the scoring approval system

and is maintained by another team in Google. 12 programmers and software development

professionals are responsible for the development and maintenance of the scoring approvals

part of Google Digital Garage. It also has some ancillary staff for marketing, sales, legal and

other business functions. The scoring approvals system of Google Digital Garage has three

internal stages handled by the system, for you to consider:

? Google Digital Garage assessors enter scores of a user in a course

? Scores are approved by a committee of assessors

? Scores are published by a user administration group for a Google Digital Garage

user to be able to see their score

Using any resources permitted, complete the following tasks:

a. Identify the sources of change requests (2 marks).

b. How should change requests be prioritised (2 marks)?

c. Recommend an organisational approach source code management during the

development cycle. (You may have seen several ideas so just describe one appropriate

for this organisation and project – there are several correct answers) (2 marks).

d. Design a release contents list, which will list components in addition to the

actual app executable. (2.5 marks).

e. Recommend a testing process for each release. (There are several alternatives

and correct answers.) (3 marks).

B4. Your Google recruiter has introduced you to some of the IoT team members in the organisation.

You are asked to describe and explain Web Services. As part of this detailed explanation,

describe the significance of the coordination services in SOA (service-oriented architecture)

systems to your recruiter. Your responses and explanation must be relevant to IoT.

End of Session 2 - 2020 Examination

B5. The success of the Google Chromebook has convinced some in the company of embarking on

research and development (R&D) for a true Google ‘thin client’. They have named this topsecret

and commercially sensitive project ‘GoogleFeather’. These Google executives are mostly

from ‘non-IT’ backgrounds (e.g. finance, law, marketing), so do not necessarily understand the

technology involved. Google envisages this product be a true example of what a thin client is. In

doing so, the business units of Google believe they can not only capture more market share

against rivals, but finally embark on the world domination it has always desired.

a) Describe what GoogleFeather would need to be, if it was a “true example of a thin

client” as understood in distributed systems theory. In doing so you must describe

what layers may operate on the thin client-side (and as a result also discuss aspects

of the server side), discuss the different ways GoogleFeather may be a thin client

(2.5 marks).

b) Discuss aspects of operating systems and service-oriented-architecture (SOA) and

any other trends in SOA that may be relevant to this proposed concept (3.0 marks).

c) Based on your previous answers, provide an argument as to if this concept of

GoogleFeather is a good idea or not, from your perspective as a software

development professional. (6 marks).

Part C Online exam check (Pass/Fail)

This is a pre-enrolled activity that you must attend at the time you have nominated. You will receive a

zoom meeting link in the following 24 hours. You must complete and pass the activity to pass the exam.


版权所有:留学生编程辅导网 2018 All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。