APCS程式檢定懶人包告訴你從哪下手最快狠準!!(下)

APCS程式檢定懶人包告訴你從哪下手最快狠準!!(下)
APCS程式檢定懶人包告訴你從哪下手最快狠準!!(下)

正在研究APCS認證的你看這篇就對了!!有了事半功倍懶人包就距離成功更進一步啦!!(下)

本篇為上篇,下篇請點此APCS程式檢定懶人包告訴你從哪下手最快狠準!!(上)

程式設計實作題

  • 題型:共計 4 個題組,以撰寫完整程式或副程式計分。
  • 檢測與計分方式:為單節次檢測 (測驗時間 140 分鐘),滿分 400 分

實作題例題

問題描述

一次考試中,於所有及格學生中獲取最低分數者最為幸運,反之,於所有不及格同學中,獲取最高分數者,可以說是最為不幸,而此二種分數,可以視為成績指標。請你設計一支程式,讀入全班成績(人數不固定),請對所有分數進行排序,並分別找出不及格中最高分數,以及及格中最低分數。當找不到最低及格分數,表示對於本次考試而言,這是一個不幸之班級,此時請你印出:「worst case」;反之,當找不到最高不及格分數時,請你印出「best case」。註:假設及格分數為 60,每筆測資皆為 0~100 間整數,且筆數未定。

輸入格式

第一行輸入學生人數,第二行為各學生分數(0~100 間),分數與分數之間以一個空白間格。每一筆測資的學生人數為 1~20 的整數。

輸出格式

每筆測資輸出三行。
第一行由小而大印出所有成績,兩數字之間以一個空白間格,最後一個數字後無空白;
第二行印出最高不及格分數,如果全數及格時,於此行印出 best case;
第三行印出最低及格分數,當全數不及格時,於此行印出 worst case。

範例一:輸入

10
0 11 22 33 55 66 77 99 88 44

範例一:正確輸出

0 11 22 33 44 55 66 77 88 99
55
66

(說明)不及格分數最高為 55,及格分數最低為 66。

範例二:輸入

1
13

範例二:正確輸出

13
13 worst case

(說明)由於找不到最低及格分,因此第三行須印出「worst case」。

範例三:輸入

2
73 65

範例三:正確輸出

65 73
best case
65

(說明)由於找不到不及格分,因此第二行須印出「best case」。

評分說明

輸入包含若干筆測試資料,每一筆測試資料的執行時間限制(time limit)均為 2 秒, 依正確通過測資筆數給分。

針對實作題,我們分別使用 C、PythonJava 來解題,語法如下:

實作題解法#1 – 使用 C 語言(最費時):

#include < stdio.h >
#include < stdbool.h >

int len;
int *scores;

main()
{
    int i, j, tmp, highestUnpass, lowestPass;
    bool best=false, worst=false;
    scanf("%d", &len);
    scores = (int *)malloc(sizeof(int) * len);
    for (i=0;i < len;i++)
        scanf("%d", &scores[i]);
    for (i=0;i < len-1;i++)
        for(j=i+1;j < len;j++)
            if (scores[i] > scores[j])
            {
                tmp = scores[i];
                scores[i] = scores[j];
                scores[j] = tmp;
            }
    for (i=0;i < len;i++)
    {
        printf("%d", scores[i]);
        if (i < len-1)
            printf(" ");        
    }
    printf("\n");
    if (scores[len-1] < 60)
    {
        worst = true;
        highestUnpass = scores[len-1];
    }
    if (scores[0] >= 60)
    {
        best = true;
        lowestPass = scores[0];
    }
    if (worst == false && best == false)
    for (i=0;i < len;i++)
        if (scores[i] >= 60)
        {
            highestUnpass = scores[i-1];
            lowestPass = scores[i];
            break;
        }
    if (best)
        printf("best case\n");
    else
        printf("%d\n",highestUnpass);
    if (worst)
        printf("worst case\n");
    else
        printf("%d\n",lowestPass);
}

實作題解法#2 – 使用 Python 語言(最省時):

nums = int(input())
strScores = input()
scores = strScores.split(" ")
for i in range(len(scores)):
    scores[i] = int(scores[i])
scores.sort()
for i in range(len(scores)):
    print(scores[i], end="")
    if i < len(scores)-1:
        print(" ", end="")
print()
best = False
worst = False
if scores[len(scores)-1] < 60:
    worst = True
    highestUnpass = scores[len(scores)-1]
if scores[0] >= 60:
    best = True
    lowestPass = scores[0]
if best==False and worst == False:
    for i in range(len(scores)):
        if scores[i] > 60:
            lowestPass = scores[i]
            highestUnpass = scores[i-1]
            break
if best:
    print("best case")
else:
    print(highestUnpass)
if worst:
    print("worst case")
else:
    print(lowestPass)

實作題解法#3 – 使用 Java 語言(所花時間適中):

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

public class T01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        
        String nouse = scanner.nextLine();
        String data = scanner.nextLine();
        String[] strScores = data.split(" ");
        int len = strScores.length;
        int [] intScores = new int[len];
        int i;
        for (i=0;i < len;i++)
        {
            intScores[i] = Integer.parseInt(strScores[i]);
        }
        Arrays.sort(intScores);
        boolean best=false, worst=false;
        int highestUnpass = 0, lowestPass = 0;
        if (intScores[0] >= 60)
        {
            best = true;
            lowestPass = intScores[0];
        }
        if (intScores[intScores.length-1] < 60)
        {
            worst = true;
            highestUnpass = intScores[intScores.length-1];
        }
        
        for (i=0;i < len;i++)
        {
            System.out.print(intScores[i]);
            if (i < len-1)
                System.out.print(" ");              
        }
        System.out.println();
        if (best == false && worst == false)
        {
            for (i=0;i < len;i++)
            {       
                if (intScores[i] > 60)
                {
                    highestUnpass = intScores[i];
                    lowestPass = intScores[i-1];
                    break;
                }           
            }
        }
        if (best)
        {
            System.out.println("best case");
        }
        else
        {
            System.out.println(highestUnpass);
        }
        if (worst)
        {
            System.out.println("worst case");           
        }
        else
        {
            System.out.println(lowestPass);
        }                
    }
}

總結一下綜合比較的部分:

  • 學習上手速度:Python > Java > C
    (但 Python 與其他兩者程式語言差異較大,若一開始就選擇從 Python 語言上手 ,還是必須多花不少時間理解 C 語言,才能解答觀念題。)
  • 實際作答速度:Python > Java > C
    (Python 與 Java 都具備函式庫,在實作題作答時會比 C 語言快速。)

APCS 短期衝刺,從 Java 著手 CP 值最高!

以學習效果與所花時間的比值來說,學習 Java 的 CP 值較高。以下說明為什麼:

雖然 Python 堪稱「程式語言的瑞士刀」,其語法直觀、編寫簡潔快速,比起 C , Java 更容易上手,但由於觀念題是由 C 語言出題,若學 Python 再接觸 C ,對於有時間與其他課業壓力的考生來說,是相當辛苦、費時的。

Java 本身是由 C / C++為概念改良而成的語言,在設計之初,考量重點之一便是簡潔,因此學習與 C 語言語法架構相似的 Java ,讓考生有操作基礎後再學習 C 語言,更能在檢測學習之路,更加如魚得水。

綜合以上觀點,投資在能兼顧「理論題」與「實務題」的 Java,才是事半功倍、投報率最高的首選!

最後貼心提醒:109 年第 2 次 APCS 檢測暫訂 2020 年 7 月 4 日!

各位考生可以開始逐步準備 APCS 檢測囉!

 

 

更多關於APCS的文章請點下方連結,或到本部落格首頁搜尋喔!!

 

 

 

其他閱讀

從哆啦A夢到 iPhone…為何 UI 設計用「圓角」就是比較討喜?

APCS 程式檢定,該從 CJava 還是 Python 下手?

【前端工程師CSS教學】float浮動屬性

AI人工智慧救地球!GoogleAI 保護環境還比人類快 3000

所有APCS認證要知道的事都在這!!()

前端工程師起步的t初學小課(22):數學物件

如何分辨全端,後端和前端工程師?還不知道的可是不行的喔~

APCS程式檢定懶人包告訴你從哪下手最快狠準!!(上)

APCS程式檢定懶人包告訴你從哪下手最快狠準!!(上)
APCS程式檢定懶人包告訴你從哪下手最快狠準!!(上)

正在研究APCS認證的你看這篇就對了!!有了事半功倍懶人包就距離成功更進一步啦!!(上)

第一次考 APCS 程式語言,從哪個程式語言下手才會事半功倍呢?

若是一開始就選到一個好上手、測驗時又好作答的程式語言,就可以減少準備時間和學習負擔!本篇文章將以三款詢問度較高的應考語言 C , Java , Python 來做解析、比較。

此篇你將了解…

  1. 1. APCS 檢測的規範與基礎
  2. 2. C , Java , Python – 哪個語言適合解題?

先來了解一下檢測內容的基礎概念,APCS 的兩大題組 【觀念題】與【實作題】

程式設計觀念題

  • 題型:單選題 (含題組),以運算思維、問題解決與程式設計概念測試為主。
  • 檢測與計分方式:分兩節次檢測 (單節測驗時間60分鐘), 檢測分數為合併計分,滿分100分

觀念題例題#1

1. 右側程式碼,執行時的輸出為何?

  1. (A) 0 2 4 6 8 10
  2. (B) 0 1 2 3 4 5 6 7 8 9 10
  3. (C) 0 1 3 5 7 9
  4. (D) 0 1 3 5 7 9 11
void main() {
    for (int i=0; i<=10; i=i+1) {
        printf ("%d ", i);
        i = i + 1;
    }
    printf ("\n");
}

(出自 105 年 3 月 5 日,理論題第 15 題)

這一題主要要測驗的內容,是考驗考生是否了解 C 語言當中, for 迴圈的結構。

以 for 迴圈來說,三的區段的值分別是初始值、條件值、運算值。

在這一題當中,第一次執行的時候 i 為 0 ,所以會先印出 0。

接下來,由於第四行 i=i+1 的關係, i 會變為 1 。但是執行迴圈時,回到了 for 的第三部分,這時候,還是另外一次的 i=i+1 ,所以 i 變為 2,然後進行驗證, i <= 10

根據這樣的執行邏輯, i 每印出一個就會 +2 一次,直到 i 超過 10 之後跳出迴圈。

Ans:所以會印出「0 2 4 6 8 10」

觀念題例題#2

2. 若以 f(22)呼叫右側 f()函式,
總共會印出多少數字?

  1. (A) 26
  2. (B) 22
  3. (C) 11
  4. (D) 15
void f(int n) {
    printf ("%d\n", n);
    while (n != 1) {
        if ((n%2)==1) {
            n = 3*n + 1;
        }
        else {
            n = n / 2;
        }
        printf ("%d\n", n);
    }
}

(出自 105 年 3 月 5 日,理論題第 21 題)

本題所考內容,是對於 while 與 if 的熟悉度。

傳入 22 進 function 之後,會先印出 22。

接下來進入 while 迴圈,如果 n 不是 1 ,那麼這個迴圈會一直執行。

while 當中, 如果 n 是奇數,則 n 會變成 3xn+1 ,如果 n 是偶數,那 n 會變成原來的一半。

所以整個流程會是「22➔11➔34➔17➔52➔26➔13➔40➔20➔10➔5➔16➔8➔4➔2➔1」。

Ans:所以答案是 16 個。

 

 

本篇為上篇,下篇請點此APCS程式檢定懶人包告訴你從哪下手最快狠準!!(下)

更多關於APCS的文章請點下方連結,或到本部落格首頁搜尋喔!!

 

 

 

其他閱讀

從哆啦A夢到 iPhone…為何 UI 設計用「圓角」就是比較討喜?

APCS 程式檢定,該從 CJava 還是 Python 下手?

【前端工程師CSS教學】float浮動屬性

AI人工智慧救地球!GoogleAI 保護環境還比人類快 3000

所有APCS認證要知道的事都在這!!()

前端工程師起步的t初學小課(22):數學物件

如何分辨全端,後端和前端工程師?還不知道的可是不行的喔~

 

郭董自掏腰包打造人工智慧教科書,籲科技教育應向下扎根

 

郭董自掏腰包打造人工智慧教科書,籲科技教育應向下扎根
郭董自掏腰包打造人工智慧教科書,籲科技教育應向下扎根

在人工智慧的浪潮下,AI變得炙手可熱,但人才方面依然短缺,郭董希望藉由教育培養人才增加競爭力!!
鴻海集團董事長郭台銘於今年 2 月 1 日在土城鴻海集團總部,進行「與青年對話」上宣布:中國大陸有針對 ai人工智慧出高中生教科書,鴻海也號召台灣學者,共同打造台灣版的AI人工智慧基礎教科書,並為要讓 人工智慧 教育在台灣扎根,先印3萬本免費送學校。

郭台銘表示,現在所有媒體都在談ai人工智慧,鴻海自己也有在做 (人工智慧)。去年郭台銘看了大陸高一學生針對 人工智慧 的必修課本,自己研究了一兩天,發現該書用深入淺出的方法以及故事教育下一代,於是公司在大陸買了 2 萬本送給鴻海內部員工研究,同時也決定在鴻海「富士康工業互聯網學院」開班授課

郭台銘指出「這對台灣年輕人不公平」,所以原本有將此教科書引進國內的想法,但後來跟人討論後,發現台灣也有能力設計 ai人工智慧的教科書,也幸好有多位教授願意共同研究教材。

而在 4 月 30 日,郭台銘在馬英九文教基金會的專題演講上,郭台銘提到5G時代的來臨關鍵在於 AI 與各行各業做跨領域的整合,並在會場發放最新出爐的「人工智慧導論」一書。

郭台銘發行的「人工智慧導論」一書,由台大教授陳信希、郭大維與美國工業人工智能中心創始人李傑等三位專家主編,其中出版緣起的部分,郭台銘提到:ai人工智慧是現今科技發展的必爭之地,人才培育是當務之急。

郭台銘表示,為了讓下一代不要輸在起跑點,因此自掏腰包出版「人工智慧導論」,不僅初版三萬本先給老師閱讀,後續也將開課培訓,為台灣高中生的人工智慧教育鋪路,為台灣人工智慧教育扎根。

 
 
 
其他閱讀

台灣人工智慧APP雅婷逐字稿,讓你省去打字的煩惱!! 轉的精準快又好!!

電腦選花生不稀奇~ 現在人工智慧還會養蝦呢!! 存活率大幅提升,蝦隻變大!!

AI人工智慧自駕發明再一發!荷蘭新創公司打造自駕船!

最真實的達內教育評價告訴你如何從非本科生蛻變成Java工程師!!

著名企業皆投入AI領域,快報名Python課程幫自己在未來卡位吧!!

想學程式語言還只是在爬文? 別管網路上的達內教育評價了!! 親身體驗最準!!

中國IT教育領導品牌 達內教育集團第一家海外授權中心

郭台銘欲積極培養台灣人工智慧人才,出版教科書免費贈送

 

郭台銘欲積極培養台灣人工智慧人才,出版教科書免費贈送
郭台銘欲積極培養台灣人工智慧人才,出版教科書免費贈送

鴻海欲積極培育人工智慧人才,從高中教育下手,希望讓台灣學子跟上AI浪潮!!
鴻海集團董事長郭台銘於今年 2 月 1 日在土城鴻海集團總部,進行「與青年對話」上宣布:中國大陸有針對 ai人工智慧出高中生教科書,鴻海也號召台灣學者,共同打造台灣版的AI人工智慧基礎教科書,並為要讓 人工智慧 教育在台灣扎根,先印3萬本免費送學校。

郭台銘表示,現在所有媒體都在談ai人工智慧,鴻海自己也有在做 (人工智慧)。去年郭台銘看了大陸高一學生針對 人工智慧 的必修課本,自己研究了一兩天,發現該書用深入淺出的方法以及故事教育下一代,於是公司在大陸買了 2 萬本送給鴻海內部員工研究,同時也決定在鴻海「富士康工業互聯網學院」開班授課

郭台銘指出「這對台灣年輕人不公平」,所以原本有將此教科書引進國內的想法,但後來跟人討論後,發現台灣也有能力設計 ai人工智慧的教科書,也幸好有多位教授願意共同研究教材。

而在 4 月 30 日,郭台銘在馬英九文教基金會的專題演講上,郭台銘提到5G時代的來臨關鍵在於 AI 與各行各業做跨領域的整合,並在會場發放最新出爐的「人工智慧導論」一書。

郭台銘發行的「人工智慧導論」一書,由台大教授陳信希、郭大維與美國工業人工智能中心創始人李傑等三位專家主編,其中出版緣起的部分,郭台銘提到:ai人工智慧是現今科技發展的必爭之地,人才培育是當務之急。

郭台銘表示,為了讓下一代不要輸在起跑點,因此自掏腰包出版「人工智慧導論」,不僅初版三萬本先給老師閱讀,後續也將開課培訓,為台灣高中生的人工智慧教育鋪路,為台灣人工智慧教育扎根。

 
 
 
其他閱讀

台灣人工智慧APP雅婷逐字稿,讓你省去打字的煩惱!! 轉的精準快又好!!

電腦選花生不稀奇~ 現在人工智慧還會養蝦呢!! 存活率大幅提升,蝦隻變大!!

AI人工智慧自駕發明再一發!荷蘭新創公司打造自駕船!

稱霸排行榜的五大程式語言你都瞭嗎? 除了熱門的Java課程,你還可選….

最真實的達內教育評價告訴你如何從非本科生蛻變成Java工程師!!

著名企業皆投入AI領域,快報名Python課程幫自己在未來卡位吧!!

想學程式語言還只是在爬文? 別管網路上的達內教育評價了!! 親身體驗最準!!

 

 

CSS中class有無空格有甚麼差呢?前端工程師一定要知道阿!!

CSS中class有無空格有甚麼差呢?前端工程師一定要知道阿!!
CSS中class有無空格有甚麼差呢?前端工程師一定要知道阿!!

前端工程師們~ 你們知道CSS設定中的CLASS要是有兩個以上,中間有無空格有甚麼不一樣嗎?

有時在 HTML 中,前端工程師會對同一個標籤給予兩個以上的 Class 名稱,如以下所示:

<div class="first second"></div> 

對於這類有兩個以上的 Class 名稱的 HTML,其 CSS 選擇器可能會表示如以下三種。你分辨得出這些 CSS 有什麼不同呢?

/*1. 兩個 class 中有空格*/  
.first .second
/*2. 兩個 class 中沒有空格*/
.first.second 
/*3. 兩個 class 中出現逗號*/  
.first,.second

對於CSS 的前端工程師初學者來說,上面所說的三種 CSS 因為長得非常像,所以經常傻傻分不清楚。究竟兩個 class 中間空格、沒空格、有逗號,到底差在哪裡? 分別講解如下:

1. 兩個 class 中有空格的例子:五個區塊中,階層必須是要在 first 區塊之下的 second 區塊才會顯示黑底白字的 CSS 設定

2. 兩個 class 中沒有空格的例子:五個區塊中, div class 名稱一定要同時出現 first 和 second 才會顯示黑底白字的 CSS 設定

See the Pen .first與 .second中間無空格的例子 by Tedutw (@Tedutw) on CodePen.

 

3. 兩個 class 中有逗號的例子:五個區塊中,只要 div class 名稱中有出現 first 或是 second 的區塊,就會顯示黑底白字的 CSS 設定

See the Pen .first與 .second中間有逗號的例子 by Tedutw (@Tedutw) on CodePen.

註 : 以上三個範例的 HTML 碼都一樣

 

 

 

其他閱讀

前端工程師專屬小課:CSS中常見的邊框屬性解釋

前端工程師的專屬小課:如何在HTML和CSS中宣告顏色代碼

前端工程師後端工程師傻傻分不清?想學寫網頁不知道可就糗了!

工程師們口中的Python到底是甚麼? 很重要嗎?

最好剁手的屈臣氏利用大數據課程提升業績,你還在等什麼呢?

人工智慧寫作能力勝過人類,文章新聞真假難辨!

美國NASDAQ上市公司、外商IT教育培訓企業

 

 

網頁工程師咖啡講座:前端工程師的必備技能有哪些

網頁工程師咖啡講座:前端工程師的必備技能有哪些
網頁工程師咖啡講座:前端工程師的必備技能有哪些

大家知道前端工程的必備技能有哪些嗎? 下面一次條列式告訴你喔!! 還不知道的快往下讀~

曾經聽過非常多這樣的說法:會用DIV+CSS,會用 Javascript 寫一些頁面特效,就是前端開發工程師的工作內容!其實前端工程師需要做得比這多了!也比你想的多多了!根據各大網路的資料整理如下:

  1. 會設計,不要求精湛,處理圖片,設計個小廣告是要的;
  2. 精通HTML+CSS,並能快速處理各瀏覽器兼容問題;
  3. 熟練掌握Javascript或Actionscript,精通加分;
  4. 熟練使用JS框架,如jQuery/YUI等,並解讀過源碼,熟練多框架加分;
  5. 熟悉Ajax技術,必須的;
  6. 熟悉開發調試工具,如Firebug等;
  7. 代碼語義化,懂優化,壓縮和反壓縮;
  8. 對SEO有一定的了解,尤其是HTML結構和標籤的使用;
  9. 高效合成CSS Sprite;
  10. 了解伺服器方面基本知識;
  11. 熟練掌握一門後端語言,如PHP/ASP.NET等,絕對加分項;
  12. 有自己的網站(看對網站所有東西的把握);
  13. 對移動開發有一定的了解和涉入;
  14. 熟練HTML5和CSS3技術(主要用於移動應用開發);
  15. 效率開發,精湛的開發軟體操作;
  16. 有過用戶體驗研究,更關注人性化頁面開發;
  17. 了解瀏覽器工作原理,了解w3c標準,了解web2.0;

 

 

 

 

其他閱讀

前端工程師專屬小課:CSS中常見的邊框屬性解釋

前端工程師的專屬小課:如何在HTML和CSS中宣告顏色代碼

前端工程師後端工程師傻傻分不清?想學寫網頁不知道可就糗了!

工程師們口中的Python到底是甚麼? 很重要嗎?

最好剁手的屈臣氏利用大數據課程提升業績,你還在等什麼呢?

人工智慧寫作能力勝過人類,文章新聞真假難辨!

美國NASDAQ上市公司、外商IT教育培訓企業

 

前端工程師必需要會的比你想的還要多!!

前端工程師必需要會的比你想的還要多!!
前端工程師必需要會的比你想的還要多!!

你以為前端工程師的工作很輕鬆嗎? 其實前端工程需要會的和須要做的比你想的還要多!!

曾經聽過非常多這樣的說法:會用DIV+CSS,會用 Javascript 寫一些頁面特效,就是前端開發工程師的工作內容!其實前端工程師需要做得比這多了!也比你想的多多了!根據各大網路的資料整理如下:

  1. 會設計,不要求精湛,處理圖片,設計個小廣告是要的;
  2. 精通HTML+CSS,並能快速處理各瀏覽器兼容問題;
  3. 熟練掌握Javascript或Actionscript,精通加分;
  4. 熟練使用JS框架,如jQuery/YUI等,並解讀過源碼,熟練多框架加分;
  5. 熟悉Ajax技術,必須的;
  6. 熟悉開發調試工具,如Firebug等;
  7. 代碼語義化,懂優化,壓縮和反壓縮;
  8. 對SEO有一定的了解,尤其是HTML結構和標籤的使用;
  9. 高效合成CSS Sprite;
  10. 了解伺服器方面基本知識;
  11. 熟練掌握一門後端語言,如PHP/ASP.NET等,絕對加分項;
  12. 有自己的網站(看對網站所有東西的把握);
  13. 對移動開發有一定的了解和涉入;
  14. 熟練HTML5和CSS3技術(主要用於移動應用開發);
  15. 效率開發,精湛的開發軟體操作;
  16. 有過用戶體驗研究,更關注人性化頁面開發;
  17. 了解瀏覽器工作原理,了解w3c標準,了解web2.0;

 

 

 

 

其他閱讀

前端工程師專屬小課:CSS中常見的邊框屬性解釋

前端工程師的專屬小課:如何在HTML和CSS中宣告顏色代碼

前端工程師後端工程師傻傻分不清?想學寫網頁不知道可就糗了!

工程師們口中的Python到底是甚麼? 很重要嗎?

最好剁手的屈臣氏利用大數據課程提升業績,你還在等什麼呢?

人工智慧寫作能力勝過人類,文章新聞真假難辨!

美國NASDAQ上市公司、外商IT教育培訓企業

 

網頁工程師咖啡講座: 前端工程師與後端工程師的工作差異

網頁工程師咖啡講座: 前端工程師與後端工程師的工作差異
網頁工程師咖啡講座: 前端工程師與後端工程師的工作差異

前端與後端工程師的工作內容有何差異是個常見的問題~ 你也有一樣的問題嗎? 今天就來幫你解答!!

有許多接觸網頁開發的新手或是想要轉行為網頁開發工程師的人都會有這個疑問:到底什麼是前端工程師、到底什麼是後端工程師,以及他們到底是需要哪些語言或者是技術呢?今天就來簡單的向大家介紹一下:

前端工程師

網頁前端開發一般指的是大家看到的網頁,包括裡面靜態的介面、一些酷炫的動態效果以及用戶的交互操作等。

網頁前端開發一般由那些技術構成呢?首先是 HTML 這個超文本標記語言,它主要用來展示一些文本,圖片,表格,連結等。

其次是CSS,它中文翻譯為層疊樣式表,CSS 不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。

最後一門重要的技術叫做 JavaScript,一種直譯式腳本語言,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。

學習曲線:先易後難,也就是說入門比較簡單,但是後期深入就比較困難了

後端工程師

網頁後端開發一般指的就是我們網站的伺服器程序,他們決定了我們網站的運行邏輯,業務核心,我們通過它來處理業務,操作資料庫(增刪改查等)

主要技術有:

JavaJava 是一種跨平台的語言,它已經走過了 20 個年頭,見證了 PC 網際網路、移動網際網路、大數據、雲計算等網際網路浪潮,如今依然是使用最多最為廣泛的後端語言,這不僅因為 Java 語言在發展過程中不斷的優化,更因為在發展的過程中不斷的產生的優秀的框架,形成了一個龐大的java生態圈,全世界的軟體和網際網路公司絕大多數都是 Java 的用戶。Java 適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。數學運算和資料庫訪問速度來講,Java 的性能也很優秀。實際上,對於跨平台的大型的企業應用系統來講,Java 幾乎已經成為唯一的選擇。

PHP:PHP 是一種解釋執行的腳本語言,語法和 C 語言類似,易學易用,PHP 適合於快速開發一些中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。可以節省開發周期,幫助項目儘快上線試錯。一般剛開始創業的網際網路公司更適合使用 PHP 開發。

GO:GO 語言由 Google 開發,其中負責人員包括了開發 Java 、UNIX 以及 C 語言的各個技術大牛,他們總結吸收了之前語言的一些優點並對缺點進行了改良,這樣出身的 GO 不得不讓人羨慕。近年來它也確實成為了開發市場的新寵,從語言排行上來看也是上升最快的語言。可以說未來是前途無限的。GO 語言現在也確實占有了一定量的後端市場,一些公司專門招人學習GO 並使用,但畢竟GO 在程式語言中還是個初生之犢,還有一段路要走。

學習曲線:Java 曲線比較穩定,且業界需求量高。PHP 相對 Java 較容易上手。而 GO 語言又更簡單些

 

 

 

其他閱讀

前端工程師專屬小課:CSS中常見的邊框屬性解釋

前端工程師的專屬小課:如何在HTML和CSS中宣告顏色代碼

前端工程師後端工程師傻傻分不清?想學寫網頁不知道可就糗了!

工程師們口中的Python到底是甚麼? 很重要嗎?

最好剁手的屈臣氏利用大數據課程提升業績,你還在等什麼呢?

英特爾,惠普與達內教育為打造最大IT教育集團共同合作

人人都能是工程師!台灣 IT 培訓中心推「找到工作再付學費」專案,要試試嗎?

別再問了!!前端工程師和後端工程師的工作到底哪裡不一樣?

別再問了!!前端工程師和後端工程師的工作到底哪裡不一樣?
別再問了!!前端工程師和後端工程師的工作到底哪裡不一樣?

前端和後端工程師總是傻傻分不清嗎? 拜託別再問了!! 今天一次告訴你!!

有許多接觸網頁開發的新手或是想要轉行為網頁開發工程師的人都會有這個疑問:到底什麼是前端工程師、到底什麼是後端工程師,以及他們到底是需要哪些語言或者是技術呢?今天就來簡單的向大家介紹一下:

前端工程師

網頁前端開發一般指的是大家看到的網頁,包括裡面靜態的介面、一些酷炫的動態效果以及用戶的交互操作等。

網頁前端開發一般由那些技術構成呢?首先是 HTML 這個超文本標記語言,它主要用來展示一些文本,圖片,表格,連結等。

其次是CSS,它中文翻譯為層疊樣式表,CSS 不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。

最後一門重要的技術叫做 JavaScript,一種直譯式腳本語言,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。

學習曲線:先易後難,也就是說入門比較簡單,但是後期深入就比較困難了

後端工程師

網頁後端開發一般指的就是我們網站的伺服器程序,他們決定了我們網站的運行邏輯,業務核心,我們通過它來處理業務,操作資料庫(增刪改查等)

主要技術有:

JavaJava 是一種跨平台的語言,它已經走過了 20 個年頭,見證了 PC 網際網路、移動網際網路、大數據、雲計算等網際網路浪潮,如今依然是使用最多最為廣泛的後端語言,這不僅因為 Java 語言在發展過程中不斷的優化,更因為在發展的過程中不斷的產生的優秀的框架,形成了一個龐大的java生態圈,全世界的軟體和網際網路公司絕大多數都是 Java 的用戶。Java 適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。數學運算和資料庫訪問速度來講,Java 的性能也很優秀。實際上,對於跨平台的大型的企業應用系統來講,Java 幾乎已經成為唯一的選擇。

PHP:PHP 是一種解釋執行的腳本語言,語法和 C 語言類似,易學易用,PHP 適合於快速開發一些中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。可以節省開發周期,幫助項目儘快上線試錯。一般剛開始創業的網際網路公司更適合使用 PHP 開發。

GO:GO 語言由 Google 開發,其中負責人員包括了開發 Java 、UNIX 以及 C 語言的各個技術大牛,他們總結吸收了之前語言的一些優點並對缺點進行了改良,這樣出身的 GO 不得不讓人羨慕。近年來它也確實成為了開發市場的新寵,從語言排行上來看也是上升最快的語言。可以說未來是前途無限的。GO 語言現在也確實占有了一定量的後端市場,一些公司專門招人學習GO 並使用,但畢竟GO 在程式語言中還是個初生之犢,還有一段路要走。

學習曲線:Java 曲線比較穩定,且業界需求量高。PHP 相對 Java 較容易上手。而 GO 語言又更簡單些

 

 

 

其他閱讀

前端工程師專屬小課:CSS中常見的邊框屬性解釋

前端工程師的專屬小課:如何在HTML和CSS中宣告顏色代碼

前端工程師後端工程師傻傻分不清?想學寫網頁不知道可就糗了!

工程師們口中的Python到底是甚麼? 很重要嗎?

最好剁手的屈臣氏利用大數據課程提升業績,你還在等什麼呢?

英特爾,惠普與達內教育為打造最大IT教育集團共同合作

人人都能是工程師!台灣 IT 培訓中心推「找到工作再付學費」專案,要試試嗎?

前端工程師的專屬小課:CSS的多重class中空格與逗號差在哪?

前端工程師的專屬小課:CSS的多重class中空格與逗號差在哪?
前端工程師的專屬小課:CSS的多重class中空格與逗號差在哪?

今天的前端工程師小課要來跟大家談談CSS設定中多重class的不同表現!! 有興趣的快看下去吧!!

有時在 HTML 中,前端工程師會對同一個標籤給予兩個以上的 Class 名稱,如以下所示:

<div class="first second"></div> 

對於這類有兩個以上的 Class 名稱的 HTML,其 CSS 選擇器可能會表示如以下三種。你分辨得出這些 CSS 有什麼不同呢?

/*1. 兩個 class 中有空格*/  
.first .second
/*2. 兩個 class 中沒有空格*/
.first.second 
/*3. 兩個 class 中出現逗號*/  
.first,.second

對於CSS 的前端工程師初學者來說,上面所說的三種 CSS 因為長得非常像,所以經常傻傻分不清楚。究竟兩個 class 中間空格、沒空格、有逗號,到底差在哪裡? 分別講解如下:

1. 兩個 class 中有空格的例子:五個區塊中,階層必須是要在 first 區塊之下的 second 區塊才會顯示黑底白字的 CSS 設定

2. 兩個 class 中沒有空格的例子:五個區塊中, div class 名稱一定要同時出現 first 和 second 才會顯示黑底白字的 CSS 設定

See the Pen .first與 .second中間無空格的例子 by Tedutw (@Tedutw) on CodePen.

 

3. 兩個 class 中有逗號的例子:五個區塊中,只要 div class 名稱中有出現 first 或是 second 的區塊,就會顯示黑底白字的 CSS 設定

See the Pen .first與 .second中間有逗號的例子 by Tedutw (@Tedutw) on CodePen.

註 : 以上三個範例的 HTML 碼都一樣

 

 

 

其他閱讀

前端工程師專屬小課:CSS中常見的邊框屬性解釋

前端工程師的專屬小課:如何在HTML和CSS中宣告顏色代碼

前端工程師後端工程師傻傻分不清?想學寫網頁不知道可就糗了!

工程師們口中的Python到底是甚麼? 很重要嗎?

最好剁手的屈臣氏利用大數據課程提升業績,你還在等什麼呢?

人工智慧寫作能力勝過人類,文章新聞真假難辨!

美國NASDAQ上市公司、外商IT教育培訓企業