1.實現替換字串"abcdefgh"中的"abc"為"ddc".(10分)
答案:
string.gsub("abcdefgh","abc","ddc")
2.寫出下面程式的輸出:(10分)g = 1
local a = 3
function add(a, b)
g = g + 1
a = a + 1
b = b + 1
return , c
endprint(add(1, 2)[1])
print(a)
print(g)
print(add(2, 1)[2])
print(a)
print(g)
print(false == nil)
print((nil and false))
print(false or nil == true)
print(nil and false == true)
答案:
5 3 2 nil 3 3 false nil false nil
3.ipairs和pairs的區別?(10分)
答案:
1.ipairs遇到nil會停止,pairs會輸出nil值然後繼續下去
2.ipairs並不會輸出table中儲存的鍵值對,會跳過鍵值對,然後順序輸出table中的值。
而pairs會輸出table的鍵值對,先順序輸出值,再亂序(鍵的雜湊值)輸出鍵值對。
4.函式冒號與點的區別?(10分)
答案:
冒號的第乙個引數預設為self,指向呼叫該函式的表。
5.print(string.find(「hello hello」," hel"))的結果?((10分)
答案:
6 9
6.簡述cocos2d-x的記憶體管理機制?(10分)
答案:
引用計數,通過ref類,當引用計數為0時,釋放記憶體。
7.普通全域性變數和static全域性變數的區別?(10分)
答案:
生存週期相同,作用域不同,普通全域性變數可以作用於所有檔案,extern宣告即可,而static全域性變數只能作用於當前檔案。
8.請寫乙個帶有不定引數的lua函式,並輸出所有的引數.(10分)
答案:
function test( ... )
local args =
for k,v in pairs(args) do
print(k,v)
endend
9.用lua實現乙個選擇排序演算法.(10分)
答案:
10.如下一段程式,請在todo處插入**,使後面對table新建值時提示錯誤,並使其無效(10分)
local table = setmetatable({}, {})
table.key = "iam key"
table.value = 123
print(table.key)
---- todo:在這裡插入你的**
答案:
local mt = getmetatable(table) -- 獲得table的元表
function mt:__newindex(key,value) -- 新增__newindex元方法
table[key] = nil
print("cannot create new property" .. key)
end
–
table.key2 = 「invalid」 — 這裡應該列印出「cannot create new property key2"
print(table.key2) — 這裡應該輸出 nil
面試考題 你要求多少底薪?
老闆請我坐下後,只顧埋頭看他的檔案,時間一分一秒地過去了。老闆還沒有開口的跡象。我覺得該老闆特 狡猾 心也開始虛了,真不知道他會出些什麼離奇古怪的考題。也不知過了多久,老闆突然抬起頭對我說 其實我也是第一次招聘業務員,對這一行也挺陌生的。假如公司錄用你,請問你要求多少底薪?據我所知,業務員的工資主要...
PHP面試題(附答案)
1.在php中,當前指令碼的名稱 不包括路徑和查詢字串 記錄在預定義變數 1 中 而鏈結到當前頁面的的前一頁面url記錄在預定義變數 2 中 script name也可以 其它的見參考手冊 語言參考 變數 預定義變數 當前執行指令碼的絕對路徑名 d inetpub wwwroot php est.p...
kafka面試題 附答案
1.什麼是kafka kafka是分布式發布 訂閱訊息系統,它最初是由linkedin公司開發的,之後成為apache專案的一部分,kafka是乙個分布式,可劃分的,冗餘備份的永續性的日誌服務,它主要用於處理流式資料。2.為什麼要使用 kafka?為什麼要使用訊息佇列?緩衝和削峰 上游資料時有突發流...