Intrvw: Difference between revisions

2,326 bytes added ,  1 year ago
 
(6 intermediate revisions by the same user not shown)
Line 1:
= Google GCP Workspaces =
 
* Code:
 
<syntaxhighlight lang='python'>
with open('tab.txt','r') as tab, open('csv.txt','r') as csv, open('data.txt','w') as data:
for line in tab.readlines():
data.write(' '.join(line.strip().split('\t'))+'\n')
for line2 in csv.readlines():
data.write(' '.join(line2.strip().split(','))+'\n')
 
data.close()
 
 
with open('data.txt','r') as file:
for line in file.readlines():
print(line)
</syntaxhighlight>
 
* Code2:
 
<pre>
def analyze(numbers):
result = []
index = {}
min = None
max = None
for n in numbers:
index[n] = True
if not max or n > max:
max = n 9
if not min or n < min:
min = n 0
for n in range(min + 1, max):
if not n in index:
result.append(n)
return result
 
analyze()
 
 
4,5,6,7,8
3rd
0—-
 
 
analyze([5,9])
 
(6,9)
result = [6,7,8]
 
 
analyze([3,0,5,9])
4,3
 
 
Result = [1,2,4,6,7,8]
</pre>
 
* Equivalent Code:
<pre>
def analyze(numbers):
min = None
max = None
for n in numbers:
print(n)
if not max or n > max:
max = n
if not min or n < min:
min = n
print("max: ",max," min: ",min)
</pre>
 
* Results:
<pre>
>>> analyze([3,0,5,9])
3
max: 3 min: 3
0
max: 3 min: 0
5
max: 5 min: 5
9
max: 9 min: 5
</pre>
 
* Logic:
<pre>
>>> min = None
>>> not min
True
>>> min = 0
>>> not min
True
</pre>
 
* Working code for Min & Max:
<pre>
def analyze(numbers):
min = 0
max = 0
for n in numbers:
print(n)
if n > max:
max = n
if n < min:
min = n
print("max: ",max," min: ",min)
</pre>
 
= Amzn SysDE II =
 
Line 9 ⟶ 119:
 
* Coding
 
<pre>
<syntaxhighlight lang='python'>
## Write a function that gives you the average latency in a log file with the following format
#
Line 77 ⟶ 188:
 
avg_lat('/var/log/syslog')
</syntaxhighlight>
</pre>
 
;Debrief
<pre>
feedback - team liked, pleasure in interview
strong NW
stron nwlinux
linux
LP fine
L4 is not good for you
System design not good
DB using indexing, Queues, scalable, parallel approach, LB using, indexing DBs, instead of storage.
Coding was also OK, difficulty with dictionary
Should know Datastructures not algorithms
Try again in 6 months, ask HR & try to get exception.
</pre>
 
* Correct Code:
system design improvement
<pre>
latency ={}
occurrance = {}
 
with open('latency2.logs','r') as file:
L4 is not good
for line in file:
lat = int(line.split()[-1])
oper = line.split()[-2]
if oper in latency.keys():
add_latency = latency.get(oper) + lat
occurrance.update({oper:occurrance.get(oper)+1})
else:
add_latency = lat
occurrance.update({oper:1})
latency.update({oper:add_latency})
 
print(latency)
** System design not good **
print(occurrance)
DB using
indexing
Queues
scalable
parallel approach
LB using
indexing DBs
instead of storage.
 
Coding was also OK
difficulty with dictionary
Datastructures not algorithms
 
6 months
ask HR & try to get exception.
 
for k,v in latency.items():
print(k,int(v/occurrance.get(k)))
</pre>
 
Line 114 ⟶ 232:
* SSL Handshake
* TCP 3-Way Handshake
* TLS 1.0 vs TLS 3.0
 
* curl -kv (meaning of k)
* HTTP
 
= Microsoft =