卡德智能科技的面试还是比较简单的,一到公司就是给你一份题做,然后就是和人事聊聊天,谈谈人生谈谈理想。
和人事聊完了之后就是和技术部的面试了。和技术部的面试也很简单,因为我去面试的时候那边android团队还没建立起来,基本上没问什么技术上的东西。技术部的会跟你聊一些公司的产品啊,对未来移动端的设想这些。
选择题和填空题简单,下面给大家透露两道编程题
下面就到了露题时间:
1.请继承SQLiteOpenHelper实现:
1).创建一个版本为1的“diaryOpenHelper.db”的数据库,
2).同时创建一个 “diary” 表(包含一个_id主键并自增长,topic字符型100长度, content字符型1000长度)
3).在数据库版本变化时请删除diary表,并重新创建出diary表。
public class DBHelper extends SQLiteOpenHelper{
public final static String DATABASENAME =”diaryOpenHelper.db”;
public final static int DATABASEVERSION =1;
//创建数据库
public DBHelper(Context context,Stringname,CursorFactory factory,int version)
{
super(context, name, factory,version);
}
//创建表等机构性文件
public void onCreate(SQLiteDatabase db)
{
String sql =”create tablediary”+“(“+“_idinteger primary key autoincrement,”+
“topicvarchar(100),”+“contentvarchar(1000)”+“)”;
db.execSQL(sql);
}
//若数据库版本有更新,则调用此方法
public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion)
{
String sql = “drop table ifexists diary”;
db.execSQL(sql);
this.onCreate(db);
}
}
2.页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。(10分)
publicclass ProgressBarStu extends Activity {
private ProgressBar progressBar = null;
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar);
//从这到下是关键
progressBar = (ProgressBar)findViewById(R.id.progressBar);
Thread thread = new Thread(newRunnable() {
@Override
public void run() {
int progressBarMax =progressBar.getMax();
try {
while(progressBarMax!=progressBar.getProgress())
{
intstepProgress = progressBarMax/10;
intcurrentprogress = progressBar.getProgress();
progressBar.setProgress(currentprogress+stepProgress);
Thread.sleep(1000);
}
} catch(InterruptedException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
}
});
thread.start();
//关键结束
}
}