首页 > > 详细

讲解Software编程、Java程序调试、program语言编程辅导辅导R语言程序|讲解R语言编程

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.

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!