
hi
2017 Mar-June Backend Interview Questions 後端面試問題
整理一下今年所有面試遇到的問題
These are the questions that I have encountered in the interviews this year.
還會問一些經驗問題,但沒遇過或沒做過就會跳過了,像是database 的redundancy
There were also some experience problems. Those I have not met or deal before, I will skip them, like Database Redundancy.
演算法與資料結構
Algorithm and Data Structure
- 現場實作資料庫裡一個單方向linked list 要怎麼樣找出重複節點,不用很多記憶體情況下
How to find the duplicate node in a single linked list(has loop), use as less memory as possible - 實作一個FIFO queue, push pop 任意insert皆O(1)
Implement a FIFO queue, with push, pop and insert operation in O(1) - 如果你要用的語言沒有Map,如何實作
In the situation that the language you use does not have Map data structure, how would you implement it? - Hashtree, Hashmap差異
The difference between Hashtree and Hashmap - 一個有url資料庫 找出出現次數最多的前k個url
How to find k most frequent url in a database - 一個數字陣列 找出最大的前k個數字 不需排序
Find the largest k numbers in an array(no need to sort k numbers) - 現場實作 Binary Search
Implement the Binary Search(Use online code text editor)
System Design
做一個縮網址的網站,API如何設計
(面試結束後請寫好寄給他們,我是用django真的做了一個類似的 可以執行的網站,網路上有些類似project,但是很多設計跟自己回答的不同,主要是拿html跟view的架構,中間內容要改不少)
Make a url-shorten service, how do you design your apis?
(Mail them the code several hours after the interview. I had actually made a Django website. I modify the project from github which has different design to my answer. Basically, I take the code of html and view, and I make quite a lot changes in other parts)
System Programming
malloc() 這函數會做啥,詳細解釋
What does the malloc() do? Explain
Git:
git flow用法, pull fetch差別,如果master更新的話 要怎麼做才更新自己branch
git flow usage, difference between pull and fetch, if the master has an update, how do you update your own branch
URL:
給一個URL 每個component解釋一下
Given an url, explain every component
OSI model 七層
解釋連上一個網站發生甚麼事情(這題遇到兩次,被狂電)
Explain in detail what happens if you visit a website.(I have met this question twice…)
RESTful api
基本解釋,get post差異
Explain RESTful, difference between GET and POST
SSH
ssh -i 是在幹嘛
What does ssh -i do?
MVC
解釋
Explain
Javascript
解釋hoisting, event bubbling (我都跳過了 不會)
Explain hoisting, event bubbling( I skipped them all, have no idea…)
Mock object
如果要測試,不影響資料庫要怎麼做,別人api還沒寫好,要怎麼做
If you want to test your code, how would you do in the situation lacking api and not affecting real database.
Regular Expression
給一段,要解釋
Given a Regular Expression. Explain it.
SQL
count(*) 解釋
Explain count(*)
Python
Decorator
常見design pattern與範例
Common design patterns and their examples
Immutable, mutable差異
Difference between Immutable and mutable
Django Middleware解釋
Explain Django Middleware
Request, Response傳遞發生過程
What happens from sending a request to receiving a response
雙底線method解釋 主要講__new__() __init__()
Explain method started with double underscore like __new__() __init__()
Like my work?
Don't forget to support or like, so I know you are with me..
Comment…