---
# System prepended metadata

title: 面試題目收集
tags: [5xruby, interview, resource]

---

# 面試題目收集
###### tags: `interview`
###### tags: `5xruby`
###### tags: `resource`


## Git
 - [Git 面試題(gitbook)](https://gitbook.tw/interview)

## SQL
- 什麼是 SQL Injection

## Ruby
>    [11/03(discord)](https://discord.com/channels/748042598983401482/748046752870826045/773203300022878208)
> 	 高見龍: 話說，今天有第五屆的同學去某家公司面試，裡面有幾題是這樣的：
> 
> - 請問在 Ruby 裡的 String 跟 Symbol 有什麼不同
> - 請問 Rack 跟 Rails 的關係是什麼

## html/css

---
## JavaScript
- [JS面試題(github-lydiahallie)](https://github.com/lydiahallie/javascript-questions)

- [JS面試題(github-sudheerj)](https://github.com/sudheerj/javascript-interview-questions) 



---
# 其他/綜合
- [18銅人訓練題(5xruby)](https://github.com/5xTraining/TrainingPrograms/blob/master/T101.md)
- [面試題目(5xruby_2017)](https://discord.com/channels/748042598983401482/748046752870826045/782895130709065749)

# Ruby & RoR
### 1.Ruby 跟 Rails 有什麼不一樣？
##### Ruby是一套程式語言，在1995年由松本行弘所創立的，Ruby語言物件化徹底，大多數東西都是物件。而Rails是一套框架，這套框架能夠在短時間內開發出網頁，是由DHH所開發的，這套框架有1.慣例優於設定(專案的⽬錄結構、資料表的關連及命名等)、2.不要做重複的事的特點，過去DHH在2005曾經有15分鐘內開發出blog的經驗。

### 2.您為什麼會喜歡 Ruby ?

### 3.您覺得 open source 的好處是什麼? 壞處是什麼?

### 4.您從其它程式語言轉到 Ruby 之後，覺得最大的差別是什麼?

### 5.試說明在 Ruby 裡常數(constant)跟變數(variable)的差別。
##### 常數是大寫英文字母開頭，不需要特別宣告，包括類別與方法都為常數。常數的內容可以做修改，或者整個更換(會出現警告訊息)；變數同樣不需要宣告，又可分區域變數、全域變數、實體變數，其中只有實體變數與全域變數的預設值為nil，最後還有虛擬變數(nil,false,true,self)

### 6.試說明實體方法(instance method) 跟類別方法(class method) 的差別。
##### 實體方法與類別方法的差異為作用的對象不同，實體方法是作用在實體上，而類別方法是作用在類別上。在Ruby中定義的方式也不同，定義類別方法則需要以self開頭或使用class << self裡面再包方法，而實體方法則不用。

### 7.什麼是Rack?
##### Rack 提供了一個介面，讓你的 Ruby 程式可以與 Web Server 之間進行溝通，從最簡單的 Ruby 程式，到輕量級的 Ruby 框架（例如 Sinatra），甚至是本書一直在介紹的 Rails，說到底它們都是一種 Rack 的應用程式。就是提供一個能夠回應 call 方法的物件，並且回傳一個包含以下三個元素的陣列：
HTTP 狀態（數字型態，例如正常回應是 200、找不到頁面是 404、伺服器錯誤是 500）。
HTTP Header（Hash 型態）。
Body（陣列型態，或是只要是個可以回應 each 方法的物件也可）。

### 8.試說明在 Ruby 裡 public、protected 與 private method 的差別
##### Ruby裡面預設為Public方法，任何種類都能存取它；而private方法則不能明確的指出接收者是誰，只有類別內部與子類別能存取。三種方法都可以在class內部被呼叫。只有public方法能在外部被呼叫。在內部呼叫private方法的時候不能夠有receiver，而protected方法則沒有這種限制。

### 9.試說明類別(class)與模組(module)的差別。
##### 兩者在類別方法上沒有差別，但在實體方法上類別比模組多了可以「產生實體」的能力以及「繼承」的能力。類別可以new出一個實體，模組不行；只有類別可以繼承，兩者都為大寫常數。

### 10. 在 Ruby 引入模組有兩種方式：include 跟 extend，請問這兩個方法的差別？
##### include是為實體方法，作用在類別new出來的實體上；而extend則是作用在類別方法上