July 31, 2013

Common interview examination(evaluation) for FW engineer (CS/EE)

1. Please show the C code for the result of adding up 1 to 100.

Sol. 1: for(int i = 1; i <= 100; i++) printf("The result of adding up 1 to 100 is: %d\n", i);
Sol. 2: printf("The result of adding up 1 to 100 is: %d\n", ((1+100)*100)/2);

Note: reference below Question 11.

2. Code review. Note: run it under the 8-bit MCU.
int main()
{
     char a, b, *ptra, *ptrb;

     a = 255, b = 128;
     printf("The value a is %d, b is %d\n", a, b);
     ptra = b, ptrb = &a;
     printf("The value ptra is %d, ptrb is %d\n", *ptra, *ptrb);

     return -1;
}

Sol.: a = 255, b = 128; *ptra = undefined memory, *ptrb = 255.

3. Please describe ISR (Interrupt service routine).

Sol.: reference Google.

4. To explain RISC and CISC.

Sol. of RISC(Reduced Instruction Set Computer):
     Advantage: Less power consumption, easy enhance the performance by pipelining due to simple CPU architecture. 
     Disadvantage: Code size will be larger than CISC architecture.
     Example: ARM, ARC, Atom, and so on. (much popular)

Sol. of CISC(Complex Instruction Set Computer):
     Advantage: Reduce the amount of instructions required to operate.
     Disadvantage: Instruction behavior is much complex and hard to debug for programmers.
     Example: Intel x86.

5. Please describe the differences between "global", "local", and "static(in function)" variables in C?

Sol. of Global: A variable that is accessible in every scope(unless shadowed).
Sol. of Local: A variable that is given local scope.
Sol. of Static: A special type of local variable is available in many mainstream languages which allows a value to be retained from one call of the function to another

6. With 2 cubes, please fill in numbers from 0 to 9 on the total 12 surfaces, therefore, the 2 cubes can show the combination of number 01~31.

Sol. 1 (riddle)
     Cube 1: 0, 1, 2, 3, 4, 5
     Cube 2: 0, 1, 2, 6, 7, 8

Sol. 2 (base on computer science knowledge)
     Show target number 01 to 31 with binary type, i.e., 00001 to 11111. Due to the question asks us to fill ten numbers on 2 cubes total 12 surfaces we then adding one bit to the target numbers, i.e., 000001 to 011111. Therefore, we could divided the number into two parts. Here shows the number of 0 to 9 from decimal to binary, i.e., 000 to 111. We hence combine two surface number to fill the question demand.
     Cube 1: 000, 001, 010, 011, 100, 101, i.e., 0, 1, 2, 3, 4, 5 in decimal
     Cube 1: 000, 001, 010, 011, 110, 111, i.e., 0, 1, 2, 3, 6, 7 in decimal

7. What is script file (batch file) and its purpose? Is it a compiler or interpreter in general?

Sol.: reference Google, and it is much similar to interpreter.

8. With an binary number "010101010101010", after what action with a seed number twice can it still be the same number?

Sol.: XOR

9. What's the difference after executing call "Function" & "ISR"?

Sol.: ISR may record the executing program address and flag register information before interrupt occurred.

10. Please describe the difference between "Stack" and "Heap".

Sol. of Stack: FILO, descend address allocation, store "auto" variables(i.e., recycled automatic by system)
Sol. of Heap: FIFO, ascend address allocation, store "dynamic" variables(i.e., recycled manually by user)

Note: Here we only mentioned "default heap" in C/C++. However, there is still plenty branch in heap, such as fixed and movable heap in default heap and the other type "dynamic heap". Please reference Google by yourself for detail.

11. Please show an example about Brute-Force, Greedy method, and Heuristic mechanism in algorithm topic.

Sol. of Brute-Force:
      Advantage: Get the global optimal solution.
      Disadvantage: Non-efficiently, large time complexity.

Sol. of Greedy:
      Advantage: Save much time by getting the locally optimal solution.
      Disadvantage: does not in general produce an optimal solution

Sol. of Heuristic mechanism: ranks alternatives in various choice int order to make a decision.
      Advantage: Improve the efficiency of algorithm by reducing the branch factor.
      Disadvantage: Potentially exponential effort may be generated.

Note 1: Nonetheless a greedy heuristic may yield locally optimal solutions that approximate a global optimal solution in a reasonable time.
Note 2: "Traveler Question" could apply above algorithms to get its corresponding results.

12. What are the ALU, CU, Memory Mapping I/O, Data bus and PMU in CPU architecture or show the relation diagram?

Sol.: Arithmetic Logic Unit, Control Unit, Memory Mapping I/O, Data Bus, and Power Manage Unit, reference Google for detail.

13. Describe the Code data, Internal data, External data, Bit data in 8051 architecture.

Sol.: reference Google.

14. What are the differences between compiler time and run time in system programming, show and example?

Sol.: For error recognition, compiler error means that compiler will help programmer to find syntax error. The run time error means that compiler had accepted your code(i.e., syntax error free), but when program is running, OS may find unexpected error like memory address error due to our code meaning error.

15. What's the UI and shows an example?

Sol.: User Interface, e.g., Word.

16. What's the embedded system?

Sol.: Embedded system means that the system has its own CPU, memory, buffer, and so on to finish certain requirement.

17. What are the reentrance code and its purpose?

Sol.: Reentrant functions can be called recursively and can be called simultaneously by two or more processes. Reentrant functions are often required in real-time applications or in situations where interrupt code and non-interrupt code must share a function.


18. What's the recursive program and show an example without program?

Sol.: A recursive function is a special function that calls to itself. Example: N! = N*(N-1)*(N-2)…2*1, We can use recursive function to calculate the factorial of a positive integer N.

19. Show an example(story) about using the hash table in your life?

Sol.: The BMI rate of the studetns in a class, we can insert the weight and the height of each student  in class, and the weight and the height will output a rate by the BMI equation. So the BMI table of the students can be considered as a hash table .

20. Please describe the major difference between Harvard and Von neumann architecture briefly.

Sol.: The main difference is instruction and data are using separated bus.
      Advantage: Two buses are used to both data transfer and instruction fetches simultaneously.
      Disadvantage: Difficult to implement.

21. As benary 10101010101000011111111010101010101111 mode 3?

Sol. 1: 
      2^0 mod 3 = 1 
      2^1 mod 3 = 2
      2^2 mod 3 = 1
      2^3 mod 3 = 2
      2^4 mod 3 = 1
      2^5 mod 3 = 2 and so on

      so we can find out the regular feature as follow:
      binary : 10 1010 1010 1000 0111 1111 1010 1010 1010 1111
      remainder : 21 2121 2121 2121 2121 2121 2121 2121 2121 2121
      The answer we can simplify as: (2+4+4+2+4+6+4+4+4+6) mod 3 = 1

Sol. 2:
     unsigned MOD3_1(unsigned input)
     {
          unsigned result;
          do {
               result = 0;
               while(input) {
                    result += input & 0x3;
                    input >>= 2;
               }
               input = result;
          } while( result > 3 )
          return ( number == 3 ) ? 0 : number;
     }

Sol. 3:
     unsigned MOD3_2(unsigned input)
     {
          unsigned result = input, temp;
          while( result > 3 ) {
               temp = result >> 2;
               result -= ( temp << 2 ) + temp;
          }
          return ( result == 3 ) ? 0 :result ;
     }

Sol. 4:
     Setp 1. Set num_A as the sum of bit is equal to 1 of odd number.
     Setp 2. Set num_B as the sum of bit is equal to 1 of even number.
     Setp 3. Set result = num_A + 2 * num_B
     Setp 4. when result >= 3 then back to Step 1.

Note: this method is using "Multiplicative Inverse" to inductive solution.

22. Explain void (*signal(int sig, void (*func)(int)))(int) in C syntax.

Sol.: Here I use the main idea within interpreter to enable any programmer to parse C declaration. (Note: signal is inside parenthesis, we hence resolve it first.)
                      +-----------------------------+
                      |                  +---+      |
                      |  +---+           |+-+|      |
                      |  ^   |           |^ ||      |
                void (*signal(int, void (*fp)(int)))(int);
                 ^    ^      |      ^    ^  ||      |
                 |    +------+      |    +--+|      |
                 |                  +--------+      |
                 +----------------------------------+
     → signal is a function passing an int(i.e., sig) and
     → fp is a pointer to
     → fp is a pointer to a function passing int returning
     → fp is a pointer to a function passing int returning nothing(i.e., void)
     → signal is a function passing an int and a pointer(i.e., fp) to a function passing int returning nothing(i.e., void) returning
     → signal is a function passing an int and a pointer(i.e., fp) to a function passing int returning nothing(i.e., void) returning a pointer to
     → signal is a function passing an int and a pointer(i.e., fp) to a function passing int returning nothing(i.e., void) returning a pointer to a function passing an int returning
     → signal is a function passing an int and a pointer(i.e., fp) to a function passing int returning nothing(i.e., void) returning a pointer to a function passing an int returning nothing(i.e., void)

July 27, 2013

Disrupting Class 來上一堂破壞課 ISBN: 978-986-157-603-9

Author: Clayton M. Christensen, Michael B. Horn, Curtis W. Johnson
Translator: 袁世珮
ISBN: 978-986-157-603-9



1. Multiple Intelligence (MI) 多元智能 provided by Howard Gardner
     * 語言:以文字來思考,並運用語言表達複雜意思的能力。
     * 邏輯數理:計算、量化、考慮前提和假設、進行複雜數學運算的能力。
     * 空間:以三度空間思考的能力;理解內在與外在的意象;再造、轉換或修正影像;在空間中移動自己或物體;創造或解讀圖像資訊的能力。
     * 身體動覺:操作物體和施展精細肢體技能的能力。
     * 音樂:分辨和創作音準、旋律、節奏和聲調的能力。
     * 人際:理解並有效與人互動的能力。
     * 自知:建構正確自我形象,根據這個體認去規劃和指引人生的能力。
     * 自然主義:觀察自然的模式、找出和分類物體、理解自然和人為系統的能力。

2. 

July 20, 2013

思考的藝術 52個非受迫性思考錯誤 ISBN: 978-986-272-211-4

Author: Rolf Dobelli
Translator: 王榮輝
ISBN: 978-986-272-211-4



1. The Survivorship Bias (存活者偏誤)
     在日常生活中,由於成功者的能見度壓倒性地高過失敗者,因此,人們總會系統性地高估了獲得成功的希望。

2. The Swimmer's Body Illusion (泳將身材的錯覺)
     由於將篩選標準與結果兩者倒果為因的相互錯置。

3. The Overconfidence Effect (過度自信效應)
     我們總是系統性地高估了我們在預測方面的知識與能力,甚至可以說是嚴重高估了。

4. Social Proof (社會認同)
     當我們的舉止與周遭的人相同時,該舉止就是對的;換言之,當越多人認為某種想法是對的,這想法也就越正確。

5. The Sunk Cost Fallacy (沉默成本謬誤)
     當你在某檔股票上被套的越牢,你就會把那檔股票抱得越緊。

6. The Reciprocity (互惠)
     人們其實很難抵擋虧欠感!

7. The Confirmation Bias Part I (確認偏誤 壹)
     確認偏誤是所有思考錯誤之母,這是一種將新資訊解釋成合乎既有理論、世界觀或信念的傾向。

8. The Confirmation Bias Part II (確認偏誤 貳)
     續

9. The Authority Bias (權威偏誤)
     在面對權威時,我們的獨立思考變會不由自主地矮一截!

10. The Contrasted Effect (對比效應)
     當我們在觀察事物時,若同時出現某個可供參照的對象,而這個對象較醜、較便宜或較小,我們就會因此判定原本所觀察的事物較美、較貴或較大。

11. The Availability Bias (現成偏誤)
     我們會借助一些易取得的現成例證,為自己描繪出一幅世界圖像。我們的大腦是根據「戲劇性原則」在思考,不是根據「量化原則」。

12. Die Es-wird-schlimmer-bevorses-besser-kommt-Falle (「在好轉之前會先惡化」的陷阱)
     當專業人士對於其專業上的某些事情根本一無所知、或是沒有保握時,他就會請出在好轉之前會先惡化這件道具。

13. The Story Bias (故事偏誤)
     故事扭曲且簡化了事實。我們總是容易被故事吸引,卻拒卻抽象的事實於千里之外。

14. The Hindsight Bias (後見之明偏誤)
     從後件知名的角度來看,所有已發生的事,似乎都緊密地遵循著某種看似合理的必然性。

15. The Chauffeur Knowledge (司機的知識)
     具有真才實學的人明瞭「知之為知之,不知為不知」。

16. Illusion of Control (控制的錯覺)
     我們相信我們可以控制或影響某種事物;但實際上,我們根本無能為力。

17. The Incentive Superresponse Tendency (激勵過敏傾向)
     人們會對激勵有所反應,但他們的反應有時並不符合激勵背後的意圖。「千萬別去問理髮師,我究竟需不需要理頭髮。」

18. Regression Toward the Mean (均值迴歸)
     極端的成果會與教部極端的成果交戶更迭。

19. The Tragedy of the Common (公地悲劇)
     我們實在不能夠只望人類的道德性,唯一可行的路徑只有兩條:「私有化」或「管理」。

20. The Outcome Bias (結果偏誤)
     我們總是傾向用「結果」來評斷「決定」,而不是根據「當時的決定過程」來評斷「決定」。

21. The Paradox of Choice (選擇的弔詭)
     大量選擇容易令人內心茫然→導致不良的決定→不滿。

22. The Liking Bias (討喜偏誤)
     當別人表現的對我們越有好感,我們就愈容易向這些人買東西,或是對這些人伸出援手。

23. The Endowment Effect (稟賦效應)
     當我們擁有某件東西,主觀上我門就會顯著地位這件東西加值。

24. The Wonder (奇蹟)
     那些所謂不可能的巧合,雖然極為罕見,但絕對是可能發生的事。它們的發生並不令人意外;相反地,若是它們自始至終從來都未發生,那才真叫人意外!

25. Groupthink (團體迷思)
     一個由一堆聰明人組成的團體,因為每個成員都刻意去迎合被信以為真的共識,最終這個團體便會做出一些愚蠢的決定。

26. The Neglect of Probability (輕忽機率偏誤)
     我們會對期待發生的事件之規模有所反應,至於它們的發生機率,我們則近乎無感。除了風險為靈的情況外,我們其實相當拙於明辨不同分險的危險程度。

27. The Zero-Risk Bias (零風險偏誤)
     只有零風險可以治好我們莫名的恐懼。但試著在沒有什麼事是百分百確定的情況下過活!

28. The Scarcity Fallacy (稀少性謬誤)
     請謹評價格與效用評斷一件事物,不管它是否很稀少。

29. The Base-Rate Neglect (忽視基本比率)
     精確的描述誤導了我們,讓我們不能冷眼面對統計事實。

30. The Gambler's Fallacy (賭徒謬誤)
     人類普遍相信冥冥之中存在著某種可以平衡命運的力量。因此,請仔細看清楚所面對的情況,究竟是獨立事件或非獨立事件。

31. The Anchor (錨定)
     我們會以一些熟知的事物當初發點,藉此推估出未知的事物。

32. The Induction (歸納法)
     一個反例就足以推翻一個經過上千次證明的理論!

33. The Loss Aversion (損失規避)
     在獲利與損失規模相同的情況下,損失所造成的情緒反應,是獲利的兩倍!

34. Social Loafing (社會性懈怠)
     只要個人可以藉由團體混水摸魚,並且不會被直接看穿,這種效應就會浮現。

35. The Exponential Growth (指數增長)
     當遇到與成長率有關的事物,請不要相信自己的直覺。

36. The Winner's Curse (贏者詛咒)
     由於標的物的價值並不確定,我們為了在競爭中勝出,因此,一場拍賣會裡的贏家,往往是事實上的輸家。

37. The Fundamental Attribution Error (基本歸因謬誤)
     當人們在解釋一些事情時,往往傾向於自動高估人物對於事情所造成的影響。

38. The False Causality (錯誤的因果關係)
     關聯性並非因果關係。

39. The Halo Effect (月暈效應)
     我們往往會迷失在某個觀點上,並且用這個觀點去設想事物的全貌。

40. The Alternate Path (替代路徑)
     請看清經由高風險替代路徑所導致的成功。

41. The Forecast Illusion (預測的錯覺)
     只有兩種人會去預言未來:「一無所知的人」或「不曉得自己其實一無所知的人」。

42. The Conjunction Fallacy (聯結謬誤)
     我們會直觀地對故事做和諧化或合理化的理解。而直觀的思考有一項缺點,它無法抗拒合情合理的故事。

43. Framing (框架)
     對於同樣一件事,我們會因陳述方式有所不同,而產生不同的反應。

44. The Action Bias (行動偏誤)
     當我們遇上情況不明的場面時,內心便會泛出一股採取行動的衝動。

45. The Omission Bias (不作為偏誤)
     舉凡作為與不作為都能導致損害發生的場合,便會出現不作為偏誤。

46. The Self-Serving Bias (自利偏誤)
     成功的話,全部都是自己的功勞;失敗的話,統統都是外在的因素。

47. Hedonic Treadmill (享樂跑步機)
     不斷工作,追求升遷,希望藉此享有更多;儘管如此,我們依然不會感到更幸福。

48. The Self-Selection Bias (自我選擇偏誤)
     每當自己是抽樣裡的一小部分,就容易落入自我選擇偏誤裡。

49. The Association Bias (聯想偏誤)
     經驗容易引導我們犯下錯誤。

50. The Beginner's Luck (新手的運氣)
     請嘗試去證偽自己的假設。

51.The Cognitive Dissonance (認知失調)
     對自己撒點小謊,讓自己好過些的心理補償。

52. The Hyperbolic Discounting (雙曲貼現)
     做決定的時間點與獲利的時間點愈接近,我們的「情緒利率」就愈容易跟著調升。



在群體裡,容易依照別人的想法過活;在孤獨裡,容易一照自己的想法過活。
可是,唯有在群體裡還能夠保持著特立獨行,才值得我們注意。                         ─ 愛默生(Ralph Waldo Emerson)

July 19, 2013

融資融券之券資比與資券比

融資:預期股價將會上揚,故以部分保證金向證金公司借錢以購買股票。
融資餘額:截至該日止,市場上以融資買進股票尚未還清之淨張數。

一般而言,若融資餘額增加則代表投資人看好股票未來表現,因此利用融資買進。
倘若股價已在高檔區,融資餘額增加就不見得是件好事。
融資為信用交易,可當日沖銷;此外,利用融資買進普遍有資金或利息壓力。
故融資餘額高代表籌碼相對不安定,因此其上升力道有限,容易引發龐大賣壓。

融券:逾期股價將會受挫,故以部分保證金象徵金公司借券以賣出股票。
融券餘額:截至該日止,市場上以融券賣出股票尚未還清之淨張數。

一般而言,若融券餘額增加則代表投資人看壞股票未來表現,因此利用融券賣出。
倘若股價位在低檔區,融券餘額增加未必是件壞事。
由於融券亦為信用交易,因此在某段期限內需將股票買回做清償的動作;
因此,將會造成股價的拉抬效果。
尤其是在股東會前後的強制回補日,由於大量股票回補,便造成所謂的軋空行情。

以上行為皆須依融資融券辦法辦理,向證金公司申請開立信用戶。

而何謂資券比或券資比?
顧名思義,即為融資(券)張數/融券(資)張數之比率;
但一般技術分析以券資比為主,券資比也意味著該股票被市場做空的狀態。
一般約在10~20%上下,20~50%略為偏高,50%以上則代表過高。
若股價持續上揚,則大多會出現軋空行情。

一般而言,資券比高的股票對多方較為有利。(融資餘額勢必大於融券餘額)
因為一但融資消失,融券的投資客勢必得做回補的動作,將造成股價上揚。

舉例,假設某檔股票券資比高達90%。
可以想成該日前共有一萬張融資,以及九千張融券。
若今日融資全數現股贖回,融券當下沒了券源,便須至市場回補。
而市場出現惜售的狀況,融券的投資客便須搶購股票現貨,一旦搶購就有機會大漲。

這邊提到券資比,那也順道說說融資使用率、融資限額、資券相抵等名詞。

融資限額:A公司融資限額30%;則A發行十萬張股票,融資限額不能超過三萬張。

融資使用率=融資餘額/融資限額
一般約在20~40%上下,40~70%略為偏高,70%以上則代表過高。
出現過高的行情,通常是主力或炒手大量買進的狀況發生。

資券相抵:當日信用交易之當日沖銷。

簡單結論,
若資券雙向增加,代表盤勢為上升的狀態。
倘若資券雙向減少,則意味著跌勢的開始。

July 3, 2013

什麼是資本公積?

Q:何謂"資本公積"?
A:資本公積泛指由股東投資所超過股票面值十元的部分。

Ex:MTK進行現金增資,每股300。其中10塊屬於股本,290塊為資本公積。
註:資本公積僅能用於填補未分配虧損。

※ 資產負債表:資產=負債+權益
負債:相當直覺
權益:股東權益,亦即股東出資加上公司盈餘未分配部分

以下用實際例子說明"資本公積"所帶來的影響。

假設本人今天要成立一家Uncle Chuck娛樂公司,
而你相信本人經營能力,故參一股,每股定價20塊,此時股東權益便有40塊。
根據中華民國法令規定,股票面額為10塊。
因此Uncle Chuck娛樂公司股本20塊,資本公積20塊,股東權益40塊。
也因此,目前Uncle Chuck控股公司擁有"現金"40塊。
註:股東權益=股本+資本公積

但此時Chuck發現資本少賺不到錢,便想要融資操作槓桿以獲取高利潤。
因此向有錢的熊老闆借了40塊,於是乎,此時的資產負債表為:
資產=80塊、負債40塊、股東權益=40塊

當年度結算,Chuck手段高明賺了40塊。
假設支付熊老闆之利息為5塊,因此盈餘共為35塊。此時的資產負債表為:
資產=115塊、負債40塊、股東權益=75塊
其中股東權益=75塊=20(股本)+20+35

隔年Chuck龍心大悅說服股東服配發每股股利10塊。此時,
資產=95塊、負債40塊、股東權益=55塊

經過這樣一輪,Chuck想要更進一步,決定向股東要錢(現金增資)。
因此Uncle Chuck再增加兩股,每股定價50塊。
結果熊老闆看到Chuck這麼賺,決定自己吃下這兩股。此時,資產(現金)增加
資產=195塊、負債40塊、股東權益=155塊
155=股本+資本公積+未分配盈餘=(20+20)+(20+80)+15

而熊老闆所認購的股份,會計師會如此計帳:
借記現金100塊,貸記股本20塊,資本公積80塊。

結果隔年遇到金融海嘯大空頭,Uncle Chuck慘賠80塊。
其中利息5塊,一共虧損85塊!

而會計師手中的帳目為:
資產=110塊、負債40塊、股東權益=155-85=70塊
股東權益=股本+資本公積+未分配盈餘=40+100+(-70),其中
未分配盈餘=前年度未分配盈餘+本年度盈虧=15+(-85)=-70

第三年Chuck決定用資本公積填補未分配盈餘以維持顏面,因此
資產=110塊、負債40塊、股東權益=70塊
股東權益=股本+資本公積+未分配盈餘=40+30+0

以上。。。

三個逗號俱樂部

《免責聲明》 本部落格不針對任何金融商品進行買賣建議, 內容來自公開資訊觀測站之分享與各大媒體之評論為主, 投資人應審慎評估並獨立判斷,切勿以本部落格資訊作為投資依據。 靜候 時機來臨;瞬間掌握重壓;享受 獲利奔馳。 -------------------------...