---
# System prepended metadata

title: 英特內軟體股份有限公司

---

# 英特內軟體股份有限公司
* 面試職位：前端軟體工程師
* 面試時間：2021 年07月 21日 下午14點00分
* 面試地址：線上面試
* 面試者：Fanny
* 面試結果：還未面試
* 公司資訊：https://www.104.com.tw/company/18lpfdc0

7/19 12:00 有傳面試題目要我當天繳交

### **題目：**

![](https://i.imgur.com/7eqwOgL.png)
![](https://i.imgur.com/LJH6ZBq.png)
![](https://i.imgur.com/AjKnHuo.png)
![](https://i.imgur.com/UTZPWzm.png)
![](https://i.imgur.com/zeevCcp.png)

### **我的作答：**

(一)
無法執行，因為main方法為程式進入點，存取修飾詞必須設為public才可執行。
(二)
public: 
Java透過不同存取權限來實現封裝性，public表示任何場合都可以被引用。
static: 
靜態修飾詞的主要用途為創造類別方法以及類別變數。加上靜態修飾詞的變數，在Java中的記憶體會規劃至靜態域中；與一般的變數不同，被創建至靜態域的變數只會有一個實體，且在程式執行的初期便產生，直到程式結束才會釋放 。
void: 
代表main方法不需要回傳值。
main: 
方法的名稱。
(String[] args): 
這個方法必須可以接受數目不定的String型別的引數，因為執行者可能要附加執行引數。
(三)
```java=
public static void foo(){
    int sum=0;
    for (int i = 50; i <= 100; i++) {
        if((i%3==0)&&(i%2!=0)){
        sum+=i;
        }
    }
    System.out.println(sum);
}
```

(四)
```java=
public static int add(String a, String b){
    int sum;
    int c=0;
    try {
        c = Integer.parseInt(a);
    } catch (NumberFormatException e) {

    }
    int d=0;
    try {
        d = Integer.parseInt(b);
    } catch (NumberFormatException e) {

    }
    sum=c+d;
    return sum;
}
```

(五)
會報錯誤，因為少了兩個右大括號，方法內容需要完整的用大括號包住ex:{}

Java進階應用
(一)
(1)
```java=
Set<String> keyset=htNumber.keySet();
for (String key:keyset) {
System.out.println(key+" "+htNumber.get(key));
}
```

(2) 
```java=
System.out.println(htNumber.size());
```

(3)
```java=
Set<String> keyset=htNumber.keySet();
    boolean flag=false;
    for (String key:keyset) {
        if(htNumber.get(key).equals(2)){
        flag=true;
    }
}
```

(4)
```java=
Set<String> keyset=htNumber.keySet();
    for (int i = 0; i < arrValues.length; i++) {
    boolean flag=true;
    for (String key:keyset) {
        if(arrValues[i].equals(key)){
            flag=false;
            break;
            }
    }
    if(flag){
        htNumber.put(arrValues[i],new Integer(keyset.size()+1));
    }
}
```
 
(6) 印出v1更改後的記憶體位置

SQL
(一)
(1) select ID,NAME,TEL from AUTHOR where NAME like '王%'
邏輯能力
(一)
true
false
true
true
false
false
true
true
false
true
(二)
&&和&都是表示“與”，區別是&&只要第一個條件不滿足，後面條件就不再判斷。而&要對所有的條件都進行判斷。
||和|都是表示“或”，區別是||只要滿足第一個條件，後面的條件就不再判斷，而|要對所有的條件進行判斷。
&&是英文的and 表條件都要符合，||是英文的or表示條件只要有一個成立就符合。
(三)
(1)(0,0)->0 (0,1)->0 (1,0)->0 (1,1)->1
(2)(0,0)->0 (0,1)->1 (1,0)->1 (1,1)->1
(3)(0)->1 (1)->0
(四)
1. ==是運算子
2. equals是String物件的方法
當用 == 進行比較的時候，比較的是他們在記憶體中的存放地址，如果是同一個new出來的物件，他們的比較後的結果為true，否則結果為false。 java所有的類都是繼承於Object，在Object中定義了一個equals的方法，這個方法的初始行為是比較物件的記憶體位址，但類別被覆寫：如String,Integer,Date在這些類當中equals有其自身的實現，而不再是比較類在堆記憶體中的存放地址了。
對於複合資料型別之間進行equals比較，在沒有覆寫equals方法的情況下，他們之間的比較還是基於他們在記憶體中的存放位置的地址值的，因為Object的equals方法也是用雙等號 == 進行比較的，所以比較後的結果跟雙等號 == 的結果相同。


