2018-02-22 01:06:40 +08:00
|
|
|
|
<!-- GFM-TOC -->
|
2018-02-22 14:47:22 +08:00
|
|
|
|
* [?? 1 ?? ???????????](#??-1-??-???????????)
|
|
|
|
|
* [?? 2 ?? ?????????????](#??-2-??-?????????????)
|
|
|
|
|
* [?? 3 ?? ??????????????](#??-3-??-??????????????)
|
|
|
|
|
* [?? 4 ?? ??????????](#??-4-??-??????????)
|
|
|
|
|
* [?? 5 ?? ??<3F><>???](#??-5-??-??<3F><>???)
|
|
|
|
|
* [?? 6 ?? ??<3F><>?<3F><>???](#??-6-??-??<3F><>?<3F><>???)
|
|
|
|
|
* [?? 7 ?? ??????????????](#??-7-??-??????????????)
|
|
|
|
|
* [?? 8 ?? ????????](#??-8-??-????????)
|
|
|
|
|
* [?? 9 ?? ??????????](#??-9-??-??????????)
|
|
|
|
|
* [?? 10 ?? ???????](#??-10-??-???????)
|
|
|
|
|
* [?? 11 ?? ???????????](#??-11-??-???????????)
|
|
|
|
|
* [?? 12 ?? ????????????????](#??-12-??-????????????????)
|
|
|
|
|
* [?? 13 ?? ?????????](#??-13-??-?????????)
|
2018-02-22 01:06:40 +08:00
|
|
|
|
<!-- GFM-TOC -->
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 1 ?? ???????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????<3F><>?????????????????????????????????????????????????????????????????????????????????<3F><>???
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????????????????????????????????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????????????<3F><>???????????????????????????<3F><>??
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 2 ?? ?????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?<3F><>????<3F><>??????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
| ???? | ????????? |
|
2018-02-22 01:06:40 +08:00
|
|
|
|
| --- | --- |
|
2018-02-22 14:47:22 +08:00
|
|
|
|
| send | deliver??dispatch??announce??distribute??route |
|
|
|
|
|
| find | search??extract??locate??recover |
|
|
|
|
|
| start| launch??create??begin??open|
|
|
|
|
|
|make|create??set up??build??generate??compose??add??new|
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??? i??j??k ?????????????????????????????????<3F><>??????????????????? user_i??member_i?????????????????????????<3F><>???????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????????????????<3F><>??????????????????????????????????????????????????????????????????????????<3F><>???????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 3 ?? ??????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????<3F><>?????????????<3F>ܦ<EFBFBD>???????????????????????<3F>^
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?? min??max ?????????<3F><>??
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?? first??last ???????????????<3F><>??begin??end ???????????????<3F><>???? end ??????<3F><>????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/26772ecc-a3e3-4ab7-a46f-8b4656990c27.jpg)
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????????????? is??can??should??has ??????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 4 ?? ??????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????<3F><>?????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
2018-02-22 14:47:22 +08:00
|
|
|
|
int a = 1; // ???
|
|
|
|
|
int b = 11; // ???
|
|
|
|
|
int c = 111; // ???
|
2018-02-22 01:06:40 +08:00
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????? html ??????????????????<3F><>???? html ?<3F><>????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 5 ?? ??<3F><>???
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????????????????????????????????????????????????<3F><>???????????????????<3F><>???????????????????????????????????????<3F><>??? getter ?? setter ?????????<3F><>????<3F><>?????????????????<3F><>
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????????????????????????????????????????<3F><>????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????????????????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????<3F><>?????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?? TODO ????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
| ??? | ?<3F><>? |
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|---|---|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
|TODO| ???? |
|
|
|
|
|
|FIXME| ????? |
|
|
|
|
|
|HACH| ?????????? |
|
|
|
|
|
|XXX| <20><>?????????????????? |
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 6 ?? ??<3F><>?<3F><>???
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
// The first String is student's name
|
|
|
|
|
// The Second Integer is student's score
|
|
|
|
|
Map<String, Integer> scoreMap = new HashMap<>();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
// Student' name -> Student's score
|
|
|
|
|
Map<String, Integer> scoreMap = new HashMap<>();
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
//...
|
|
|
|
|
// Example: add(1, 2), return 3
|
|
|
|
|
int add(int x, int y) {
|
|
|
|
|
return x + y;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????????????<3F><>?????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
int a = 1;
|
|
|
|
|
int b = 2;
|
|
|
|
|
int num = add(\* x = *\ a, \* y = *\ b);
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????????????????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 7 ?? ??????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????<3F><>?????????????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
if(len < 10)
|
|
|
|
|
if(10 > len)
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
if / else ??????????????????????? ????????? ????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
```
|
|
|
|
|
if(a == b) {
|
2018-02-22 14:47:22 +08:00
|
|
|
|
// ?????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
} else{
|
2018-02-22 14:47:22 +08:00
|
|
|
|
// ?????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????????? ? : ???????????????????????????<3F><>??? if / else??
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
do / while ????????????<3F><>???????????????????<3F><>?????????????? while ?????<3F><>
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????? goto ?????? goto ?????????????????????? goto ???????????????????????? goto??
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????<3F><>????<3F><> return ?????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 8 ?? ????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
???????????????????????<3F><>??????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
if line.split(':')[0].strip() == "root":
|
|
|
|
|
...
|
|
|
|
|
```
|
|
|
|
|
```
|
|
|
|
|
username = line.split(':')[0].strip()
|
|
|
|
|
if username == "root":
|
|
|
|
|
...
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????<3F><>?????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
if(!a && !b) {
|
|
|
|
|
...
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
```
|
|
|
|
|
if(a || b) {
|
|
|
|
|
...
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 9 ?? ??????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????????????????? break ???? return ????????????????????<3F><>?
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
boolean done = false;
|
|
|
|
|
while(/* condition */ && !done) {
|
|
|
|
|
...
|
|
|
|
|
if(...) {
|
|
|
|
|
done = true;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
```
|
|
|
|
|
while(/* condition */) {
|
|
|
|
|
...
|
|
|
|
|
if(...) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??<3F><>?????????????????<3F><>????????<3F><>??????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
JavaScript ??????????<3F><>??????????????? submit_form ???????????submitted ????????????????????<3F><>??????????? submitted ??????????????????? submitted ????????????<3F><>??????????????????<3F><>??
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
submitted = false;
|
|
|
|
|
var submit_form = function(form_name) {
|
|
|
|
|
if(submitted) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
submitted = true;
|
|
|
|
|
};
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
var submit_form = (function() {
|
|
|
|
|
var submitted = false;
|
|
|
|
|
return function(form_name) {
|
|
|
|
|
if(submitted) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
submitted = true;
|
|
|
|
|
}
|
2018-02-22 14:47:22 +08:00
|
|
|
|
}()); // () ?????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
JavaScript ??????? var ????????????????????????????????????????????????????? var ????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????<3F><>?????????????<3F><>???????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
**???????**
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????????????<3F><>?
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
<input type = "text" id = "input1" value = "a">
|
|
|
|
|
<input type = "text" id = "input2" value = "b">
|
|
|
|
|
<input type = "text" id = "input3" value = "">
|
|
|
|
|
<input type = "text" id = "input4" value = "d">
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????????????????????? input ????<3F><>????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
var setFirstEmptyInput = function(new_alue) {
|
|
|
|
|
var found = false;
|
|
|
|
|
var i = 1;
|
|
|
|
|
var elem = document.getElementById('input' + i);
|
|
|
|
|
while(elem != null) {
|
|
|
|
|
if(elem.value === '') {
|
|
|
|
|
found = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
elem = document.getElementById('input' + i);
|
|
|
|
|
}
|
|
|
|
|
if(found) elem.value = new_value;
|
|
|
|
|
return elem;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
- found ?????????
|
|
|
|
|
- elem ?????????
|
|
|
|
|
- ?????? for ??????? while ?????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
var setFirstEmptyInput = function(new_value) {
|
|
|
|
|
for(var i = 1; true; i++) {
|
|
|
|
|
var elem = document.getElementById('input' + i);
|
|
|
|
|
if(elem === null) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if(elem.value === '') {
|
|
|
|
|
elem.value = new_value;
|
|
|
|
|
return elem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 10 ?? ???????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????????<3F><>?????????<3F><>?????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????????????????????????????????????????????????????????????<3F><>?
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
int findClostElement(int[] arr) {
|
|
|
|
|
int clostIdx;
|
|
|
|
|
int clostDist = Interger.MAX_VALUE;
|
|
|
|
|
for(int i = 0; i < arr.length; i++) {
|
|
|
|
|
int x = ...;
|
|
|
|
|
int y = ...;
|
|
|
|
|
int z = ...;
|
|
|
|
|
int value = x * y * z;
|
|
|
|
|
int dist = Math.sqrt(Math.pow(value, 2), Math.pow(arr[i], 2));
|
|
|
|
|
if(dist < clostDist) {
|
|
|
|
|
clostIdx = i;
|
|
|
|
|
clostDist = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return clostIdx;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????????????????????????????????????????????????<3F><>?????????????????????????????????????<3F><>???????????????????????<3F><>???????????<3F><>?????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
public int findClostElement(int[] arr) {
|
|
|
|
|
int clostIdx;
|
|
|
|
|
int clostDist = Interger.MAX_VALUE;
|
|
|
|
|
for(int i = 0; i < arr.length; i++) {
|
|
|
|
|
int dist = computDist(arr, i);
|
|
|
|
|
if(dist < clostDist) {
|
|
|
|
|
clostIdx = i;
|
|
|
|
|
clostDist = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return clostIdx;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????<3F><>?????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 11 ?? ???????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
??????????<3F><>???????????????????????????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 12 ?? ????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
?????????????<3F><>??????????????<3F><>?????????<3F><>????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
# ?? 13 ?? ?????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????????????<3F><>??<3F><>??????????????????????????????
|
2018-02-22 01:06:40 +08:00
|
|
|
|
|
2018-02-22 14:47:22 +08:00
|
|
|
|
????????????
|