Support Analyst Skills Test
The Support Analyst Skills Test is intended for a person applying for a technical support position at SmartWorks. This test is intended to showcase the applicant’s
skills and will not be marked but will be used as one tool in the evaluation of candidates.
This test may not be possible to finish within the time allocated, so time management will be an important consideration. Use your time wisely and attempt to
answer as many questions as possible. It is understood that candidates may not claim to have equal experience in all areas of this test. These considerations will
be taken into account.
You will have 90 minutes to complete the test. At the arranged time you will be emailed the test. Please respond to the email immediately to acknowledge
receipt. You must email your results back at the end of the 90 minutes. Failure to do so or sending back the results late will invalidate your candidacy for the
position. You will be given the contact information of a SmartWorks representative during the testing period. If you have any technical difficulties or other
questions, please contact your representative immediately.
Note : In case if you are not aware or unable to answer certain questions please mention there as “ Do not know answer “
SQL Knowledge
Use the following table information to answer questions 1- 6
CREATE TABLE "ODS"."LOCATIONS"
( "LOCATION_NO" NUMBER(*,0) NOT NULL ENABLE,
"ALT_LOCATION_ID" VARCHAR2(30 BYTE),
"LOCATION_CLASS" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"UNIT_NO" VARCHAR2(20 BYTE),
"STREET_NO" VARCHAR2(20 BYTE),
"STREET_PFX" VARCHAR2(12 BYTE),
"STREET_NAME" VARCHAR2(60 BYTE),
"STREET_SFX" VARCHAR2(12 BYTE),
"STREET_SFX_DIR" VARCHAR2(6 BYTE),
"CITY" VARCHAR2(60 BYTE),
"STATE" VARCHAR2(12 BYTE),
"POSTAL_CD" VARCHAR2(15 BYTE),
"BILLING_CYCLE" VARCHAR2(20 BYTE),
"LATITUDE" NUMBER,
"LONGITUDE" NUMBER,
"ADD_BY" VARCHAR2(50 BYTE) DEFAULT USER,
"ADD_DT" DATE DEFAULT SYSDATE,
"CHANGE_BY" VARCHAR2(50 BYTE) DEFAULT USER,
"CHANGE_DT" DATE DEFAULT SYSDATE,
CONSTRAINT "LOCATIONSP1" PRIMARY KEY ("LOCATION_NO");
CREATE TABLE "ODS"."LOCATION_OCCUPANTS"
( "LOCATION_NO" NUMBER(*,0) NOT NULL ENABLE,
"ACTIVE_DT" DATE NOT NULL ENABLE,
"INACTIVE_DT" DATE NOT NULL ENABLE,
"NUM_OCCUPANTS" NUMBER(*,0) NOT NULL ENABLE,
CONSTRAINT "LOCATION_OCCUPANTSP1" PRIMARY KEY ("LOCATION_NO", "ACTIVE_DT")
CONSTRAINT "LOCATION_OCCUPANTS_FK1" FOREIGN KEY ("LOCATION_NO")
REFERENCES "ODS"."LOCATIONS" ("LOCATION_NO") ENABLE
);
1. Client created a ticket requesting a count of all records in the LOCATIONS table that were added during the last week. ADD_DT contains the timestamp of
when a record was inserted. Write the SQL select query.
Answer -: SELECT COUNT* AS recard_count
From locations
WHERE add_dt >= Now() – INTERVAL 1 WEEK;
2. Client created a ticket requesting an update to the highlighted row (in dark blue, first row) on the LOCATIONS table to change the STREET_SFX value from DR
to DRIVE. Write the SQL update statement.
Answer -:UDATE locations
SET stree_SFX = ‘drive’
WHERE street_sfx = ‘dr’
LIMIT 1;
3. Client created a ticket and would like to know all other tables in the database that contain the attribute LOCATION_NO. Write the SQL select query.
Answer -: SELECT table_name
FROM information_schema.columns
WHERE column_name = ‘location_no’
AND table_schema = ‘your_database_name’;
4. Client created a ticket requesting a select statement to determine the LOCATIONS.BILLING_CYCLE for LOCATION_OCCUPANTS.NUM_OCCUPANTS that is
greater than 100. Write the SQL select query.
Answer -: sorry I don’t know
5. Client created a ticket asking whether there are records in the LOCATION_OCCUPANTS table with duplicate LOCATION_NO (eg 54655). Write the SQL select
to determine these records.
Answer-: SELECT *
FROM location_occupants
WHERE location_no IN (
Select location_no
FROM location_occupants
GROUP BY location_no
HAVING COUNT(*) > 1
6. Client encountered the error ORA-06512: unique constraint (ODS.LOCATIONSP1) violated. Describe why this error may be occurring. Write a select
statement to help find the offending data.
Answer -: SELECT location_no, street_address, COUNT(*)
FROM locations
GROUP BY location_no, street_address
HAVING COUNT(*) > 1;
Unix Knowledge
7. What would you run on Linux terminal to find the station ID 9811601 in properties files in the weatherdataload folder?
Answer -: grap -r ‘9811601’ /home/user/weatherdataload
8. What would you run on Linux terminal to create a backup file of WeatherDataHolder.class file?
Answer-: cp /path/to/WeatherDataHolder.class.bak
9. What will you run on Linux terminal to change ownership of all the files within the weatherdataload folder to the user harris and ensure that root can still
execute those files?
Answer -: sudo chown -r harris:harris /weatherdataload
Troubleshooting Skills
10. Client created a ticket complaining that the website is slow running reports against meter data. A customer’s system consists of RedHat Linux OS, Apache
Tomcat as the web engine, and an Oracle database. Describe the methodology you would use to troubleshoot this problem. Suggest any possible scenarios
that could cause this issue.
Answer -: sorry I don’t know
11. Client created a ticket asking for the nature of the following web browser warning. How would you explain the phenomenon and provide steps to prevent
such message?
Answer -: I think your ssl (certificate) is expieard . please renew it.
12. In the meterdataload.log, client encountered the following Java stack trace. What would be your troubleshooting steps? What could be the potential issues
causing the error? What Linux command-line tools would you use to verify connectivity?
java.io.IOException: Server returned HTTP response code: 500 for URL: https://hzkkdxd1c5.execute-api.us-east-
1.amazonaws.com/api/v1/token
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950)
at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1945)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1944)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1514)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at com.harriscomputer.metersense.util.CompassUtils.httpGet(CompassUtils.java:701)
at
com.harriscomputer.metersense.util.ami.neptune360.Neptune360RestAPIInterface.getAuthToken(Neptune360RestAPIInterface.ja
va:683)
at
com.harriscomputer.metersense.meterdataload.Neptune360RestAPICaller.getAuthToken(Neptune360RestAPICaller.java:184)
at
com.harriscomputer.metersense.util.ami.neptune360.Neptune360RestAPIInterface.doEndpointsCall(Neptune360RestAPIInterface
.java:190)
at
com.harriscomputer.metersense.meterdataload.Neptune360RestAPICaller.doEndpointsCall(Neptune360RestAPICaller.java:188)
at
com.harriscomputer.metersense.meterdataload.Neptune360RestAPICaller.createMeterDataLoadFiles(Neptune360RestAPICaller.ja
va:245)
at com.harriscomputer.metersense.meterdataload.Neptune360RestAPICaller.main(Neptune360RestAPICaller.java:275)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: https://hzkkdxd1c5.execute-api.us-
east-1.amazonaws.com/api/v1/token
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3061)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getHeaderField(HttpsURLConnectionImpl.java:305)
at com.harriscomputer.metersense.util.CompassUtils.httpGet(CompassUtils.java:687)
... 6 more
Answer - : sorry I don’t know
R&D Infrastructure Specialist Skills Test
The Infrastructure section is intended to showcase the applicant’s skills and will not be marked but will be used as one tool in the evaluation of candidates.
This test may not be possible to finish within the time allocated, so time management will be an important consideration. Use your time wisely and attempt to
answer as many questions as possible. Try not to get bogged down in one particular area to the detriment of other areas.
Section 1: System Administration
Linux Server Administration
List 3 different ways that a system administrator can log into a Linux server.
Answer -: By SSH , By RDP, Direct or via Virtual machine
What is your preferred Linux distribution for a headless server, and why do you prefer it?
Answer -: For a headless linux server , my preferred distribution whould be ubantu and dabian server,
Because 1 comprehensive package repository ,2 security ,3 configure and management tool , etc
List 3 simple security steps that should be performed on all network attached servers.
Answer -: All server we need to up-to date on regularly, and use strong authentication, configure firewall, limit user access ,
And regularly review
Name 2 journaling file systems used on Linux servers, and explain why journaling is an important feature.
Answer -: jounaling file system in linux (ext3, ext4, xfs ,btrfs , )
And Why – data integrity and consistency ,fast recovering , reduced risk of data corruption ,fault tolerance
Name 2 partition table formats, and explain the advantages that one has over the other.
Answer -:The partition table format is MBR and GPT ,
Advantages - : Support for large disk -gpt
More partition -gpt
Reliability in gpt , UEFI mode compatibility , future-proofing
MBR – maximum disk size 2tb
Number of partition on 4 primary
Compatibility with older system bios and legacy hardware
Explain what LVM is, and the process and steps required to create a volume.
Answer- An LVM (logical volume manager)volume refers to a logical volume in a storage system managed by lvm
Process -:first you need a physical storage device (ssd,hdd )
Now type this command in tarminal sudo pvcreate /dev/sdX
Than create a volume group (vg)
Sudo vgcreate my_volume_group /dev/sdX
Now create a logical volume
Sudo lvcreate -n my_logical_volume -L 10G my_volume_group
Format this volume
Sudo mkfs.ext4 /dev/my_volume_group/my_logical_volume
Now mount this volume
Sudo mount /dev/my_volume_group/my_logical_volume /mnt
Monitoring
What is your preferred tool for real-time monitoring of IT infrastructure, and why?
Answer -: Prometheus is an open-source monitoring and alerting toolkit desined for reliablility
Metric-based monitoring ,efficient data collection ,alerting , integration with cloud and container
Encryption
You are assigned a customer ticket, to update their recently expired SSL/TLS certificate on their web server's Tomcat instance. Describe the steps you need to
take to complete this task.
A customer needs to schedule an automated process to upload files securely, from a server which you host and manage, to a machine in the customer's
network. Describe how you would set up password-less authentication between both servers. Provide examples of commands you would use. For simplicity
assume you have SSH access to their remote server via a user/pass they had provided.
Answer
Performance
A customer reports poor performance of their system. They are expecting scheduled database jobs to complete in less than an hour, but are taking up to 3
hours to complete. How would you determine where the hardware bottleneck lies, if any? What metrics would you look at, and what tools would you use to
measure them?
Answer
Application and Network Troubleshooting
Name a simple tool that can be used for network connectivity troubleshooting that should no longer be used for its original intended purpose.
Answer
What is the replacement process for the original use of the above tool?
Answer
Troubleshooting Scenarios
A customer’s system consists of Apache Tomcat as the web front end and an Oracle Database. The client’s network is using a “zoned” topology, divided by
function and separated by firewalls. User workstations are on network 10.114.200.0/23. All other zones have a /24 subnet. The web service runs on port 8080
and communicates with the Oracle database on the standard Oracle TCP Port. The Web application is running on server A with an IP address of 10.114.137.36.
The database is located on server B, with an IP address of 10.114.4.50. User Authentication is performed using LDAPS from server:
domaincontrol.customerdomain.org. As a remote support provider, you are logging in via VPN and your system is provided with an IP address of
10.114.100.101.
The only server that you have direct access to from your VPN network range is Server A.
Assume that the Application configuration is the vendor’s (our) responsibility and no changes with respect to it have been made. All network, server and
database management is handled by the client’s IT group.
Scenario A
The client has submitted a support ticket with the following screen shot.
Describe the methodology you would use to troubleshoot this problem. Provide examples of commands that you would use to identify the root cause and the
steps to resolve the issue. Suggest any possible scenarios that could cause this issue, given the details above.
Answer
Scenario B
The client has submitted a support call complaining that they cannot log in to their application. In the tomcat “catalina.out” log you see the following error:
javax.naming.CommunicationException: domaincontrol.customerdomain.org :636 [Root exception is java.net.ConnectException: Connection refused: connect]
Describe the methodology you would use to troubleshoot this problem. Provide examples of commands that you would use to identify the root cause and the
steps to resolve the issue. Suggest any possible scenarios that could cause this issue, given the details above.
Answer
Scenario C
The client has submitted another support ticket, still complaining that they cannot log into the application. This time they provide the following screenshot:
Describe the methodology you would use to troubleshoot this problem. Provide examples of commands that you would use to identify the root cause and the
steps to resolve the issue. Suggest any possible scenarios that could cause this issue, given the details above.
Answer
Scenario D
The client has submitted a support ticket with the following screenshot:
After logging into the database server, it appears that the database is up (what command could you use to check that the database is running?)
Describe the methodology you would use to troubleshoot this problem. Provide examples of commands that you would use to identify the root cause and the
steps to resolve the issue. Suggest any possible scenarios that could cause this issue, given the details above.
Answer