到美國幾個月了,景氣很差,整理一下工作種類。由於是到了美國才開始找工作,遇到的問題不少,首先是工作簽證,再過來是開始工作,該不該因工作搬家,總之問題很多。我把工作種類分成三種:
1. 知名大公司,例如MS, Google, IBM,….
大公司的面試流程長,投履歷,電話面試幾次,在過來現場面試。現場面試會再細分不同的面試官,等等都通過,在過來還有簽證申請流程,等開始進辦公室上班,可能要花上幾個月時間。不過大公司資源多,錄取後,在簽證方面公司會請律師幫忙辦到完。之後也較容易幫忙申請綠卡。再來大公司求職者多,面試機會不容易取得,面試由於有好幾次,所以難度也較深,面試者較有時間談的深入。
2. 規模較小的公司。可能是剛起步但營收跟成長率都很好,也有可能真的就一家小公司。這方面需要多做功課才會知道公司狀況。規模小,面試流程也稍快,不過至少HR面試,工程師/部門經理面試,現場面試這些還是都有的。簽證這方面就要看公司,可能會有公司要錄取者赴簽證費用,也可能連申請都不幫忙申請,另外綠卡也不一定會有,錄取後要問一下HR。
3. 短期工作。市場上幾乎都是這種工作,如果不是有人幫忙推薦的話,直接到工作網站另如linkedin, careerbuilder等,幾乎都是短期工作,從2 個月到1年不等。有可能是在知名大公司上班,但大部分都是小公司。這種工作也幾乎都是透過人力仲介(recruiter, consulting, staff…名稱不一樣但是都是做一樣的事情),由仲介推薦候選者給公司選,有的公司可能直接現場面試,有的也是先電話面試,之後在現場面試。這種工作公司不可能發簽證,但是可以問仲介,仲介反而很容易幫忙申請簽證。原因是甚麼勒? 因為幫你申請簽證後,你就是仲介的員工,工作的公司會發薪水給仲介公司,仲介公司再發給你,當然仲介公司可以抽成,至於抽幾成就看仲介公司有沒有良心了…。有的黑心仲介會抽到4~5成。這還是你有在上班的情況,當你的短期工作結束,在找到下一個短期工作之間的期間,黑心仲介是不發薪水的。所以你有工作他就賺錢,你沒工作他也沒虧錢,所以仲介公司很高興給你簽證。
最近都在面試,也多少知道一些美國公司的狀況,希望再找工作的人,都能找到好工作
Friday, March 11, 2011
美國找軟體開發工作
Asurion interview(write a code sample)
THe hiring procedure includes HR interview, Engineer interview, write three codes. I just descript 3 code questions and my answer below.
1. Write a function in JAVA, which input a int array and return a int. The result int means one of the index of array. The index let the sum of left side equal with right side. The function can find a index. For example, intput a array{-1, 7, 3, 2,4} and result is 2. becasue array[2] = 3. The left side is –1+7 = 6. The right side is 2+4=6.
private int equi(int[] A){
int left=0;
int right = 0;
int k=0;
if(A.length ==1){
return 0;
}
for(int i=1; i<A.length; i++){
right += A[i];
}
for(int i=0; i< A.length; i++){
if(left == right){
return k;
}
left +=A[i];
right = right-A[i+1];
k=i+1;
}
return -1;
}
2. Write a function in JAVA. The function should find a gap in the binary array……
private int binary_gap(int n){
Integer integer = new Integer(n);
String binaryString= integer.toBinaryString(n);
int length = binaryString.length();
int gap=0;
int gap_Max=0;
for(int i=0; i<length; i++){
if(binaryString.substring(i, i+1).equals("0")){
gap++;
}else{
if(gap>gap_Max){
gap_Max = gap;
}
gap=0;
}
}
return gap_Max;
}
3. write a function in Javascript. Input is a string. For example,
’asurion’
0 –> ’asurion’
1 –>’suriona’
2 –>’urionas’
3 –>’rionasu’
4 –>’ionasur’
function cyclic_automorphisms(ori) {
var temp = ori;
var automorphisms=0;
for (i = 1; i < ori.length; i++) {
temp = ori.substring(i, ori.length) + ori.substring(0, i);
if (ori.match(temp) == ori) {
automorphisms = i-1;
}
}
return automorphisms;
}
Friday, November 26, 2010
window7 使用者資料夾權限
第一種. 調整目錄的傭有者,預設是"system",調整為目前的使用者即可
資料夾上按右鍵,選"內容"->"安全性","進階"–>"擁有者"
第二種. 把everyone從目錄安全性內中刪除
Tuesday, May 25, 2010
subversion安裝使用
1. apache註冊為windows service
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -k install
2. 分支
參考http://blog.yam.com/keithmin/article/8360958
http://blog.miniasp.com/category/Subversion.aspx
一般講到分支都會以trunk, tags, branches這三個名詞來解釋,但建立一個repository後,repository不會包含了trunk, tags, branches等三個虛擬目錄,之後在說一下怎麼建立,不過建起來後這三個目錄是包含在svn的DB中,在repository的file system中是看不到的。
httpd.conf的配置
1: <Location /svn>
2: DAV svn
3: SVNParentPath "D:\projects"
4: </Location>
專案區的配置
先由專案區的trunk複製到repository的branches
Copy D:\test\trunk to http://localhost:8080/svn/project01/branches/kkk-branch
在TortoiseSVN中就是點選”branch/tag” 就會執行copy這個指令了,要注意的是branches這個虛擬目錄還未建立,這點我沒注意到,一直出現 '/svn/project01/!svn/bc/10/branches' path not found。可以用Copy D:\test\trunk to http://localhost:8080/svn/project01/branches 先建立了branches這個虛擬目錄,或是在Repository Browser中create director,在重新輸入Copy D:\test\trunk to http://localhost:8080/svn/project01/branches/kkk-branch,才建立好分支。
建立好分支後,再照著上面兩個參考網址,作就差不多。
選擇merge時,在tortoise中有三種type:
1. merge a range of revisions: 從trunk update至branch
2. reintegrate a branch: 把branch合併至trunk
From URL: 填入branch的repository的位置
working copy: 則是 trunk的工作區位置
3. merge two different trees:
Friday, May 21, 2010
windows 遠端連線
使用同一個帳號,不同電腦登入時會是兩個不一樣的環境,切換方法
1. run-> taskmgr –>“使用者” , 可以看到目前的使用者有哪些
右鍵->連線,即可讓畫面切換過去
2. run->tsadmin, 可以看到目前的使用者有哪些
右鍵->連線,即可讓畫面切換過去
不管是切換畫面或是強制登出都可以用這兩個指令
Monday, February 1, 2010
安裝Windows7
安裝Windows7時出現"遺失必要的CD/DVD磁碟裝置驅動程式
安裝的時候卡卡的,換了一台外接光碟機就沒這問題….
切割硬碟的時候,多了˙一個系統檔案保留區約100MB
增加滑鼠右鍵選單
$ regedit -> HKEY_LOCAL_MACHINE→SOFTWARE→Classes→*
在此新增一個〔機碼〕名為〔Shell〕
在〔Shell〕下再新增加一個〔機碼〕名為〔UltraEdit〕
將〔UltraEdit〕的預設值的數值資料改為〔UltraEdit開啟〕
再在〔UltraEdit〕下再新增一個〔機碼〕名為〔Command〕
將〔Command〕的預設值的數值資料改為〔c:/xxxxx/xxxx/uedit32.exe %1〕
Thursday, January 14, 2010
mysql秒數轉時間
秒數以1970-01-01 00:00:00為基準,在加上距離至現在的秒數
秒數轉時間:FROM_UNIXTIME(‘欄位名稱’)
時間轉秒數:SELECT UNIX_TIMESTAMP( '2010/01/01 11:11:11' )