程序员面试以及工作中真实问题汇编!

来源:互联网 发布:mac哪个国家的缩写 编辑:程序博客网 时间:2024/06/11 00:27

【威哥说】不管是面试也好,还是工作中以及学习中,遇到问题及时解决出来是最好的方法,其实优秀程序员之所以优秀就是他们解决问题的能力要更强,他们更了解开发过程中那个阶段容易出现问题。我预感看文章的小伙其中有99%的人都是要成为优秀的人。

关于面试类的问题

这五个问题都是在面试中常见的问题,正好昨天有小伙伴提出来,就给大家整理了一些,希望能帮助到更多正在面试的小伙伴。

1、系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。

【答案】可以设置默认的浏览器,想指定浏览器访问指定页面可以在访问网站链接时使用,点击右键选择打开方式 找到你中意的那款浏览器

2、Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?【答案】这个可以参考API,Object类中方法不多,我们开发中主要用到的一般有equals(),hashcode(),toString(),wait(),notify()方法

3、接口和抽象类的区别是什么?

【答案】抽象类:使用关键字abstract修饰,子类使用extends继承,接口使用interface修饰,使用implements实现,抽象类中可以有抽象方法,也可以有方法实现,也有变量,接口中只有最终常量,和抽象方法,接口可以多实现,类只能单继承

4、数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?

【答案】区别:正常数组操作增删改查我们需要自己来实现这些方法,而ArrayList是接口,它里面已经封装好了一套基于对象数组的增删改查的操作方法。

当我们确定元素个数确定,且不多时通常使用数组,当元素过多且不确定时通常使用ArrayList

5、 请介绍下ContentProvider是如何实现数据共享的。

【答案】问题解答 ContentProviders是安卓中的四大组件之一,为我们开发者提供了手机里面所有数据的集合,例如联系人,音乐,视频等信息,全部保存在内部的表单中,供开发者来使用,方便应用间数据共享。如何实现数据共享要分3步,详细请参考咱们老师写的文档,遇到问题可以随时向才子老师提问

详细文档请参考:http://www.moliying.com/group/7/thread/158

关于面试类的问题

1、我们新手应该如何迅速的融入这个行业呢?

【答案】1)首先找到正确的学习方法,例如你到底是自学看视频提升比较快,还是通过看威哥的视频学习 都比较快呢?再或者你自制力没那么好,参加培训才是最快捷的方法。

2)其次学会总结写博客日志都是不错的,当然也可以给旁边的同学讲解,这个过程其实就是你巩固的过程,你自己可以写同时还能讲出来,才是真正的学会了这个知识点。

3)要不断学习新技术。IT行业和其他行业不同,不是学习一次就一生受益了,在这个行业里面,技术迭代更新非常快,也许今天他很厉害很有优势,不过明天你学习更新的技术点,且别人都不会,这就是你的优势了。

最后要提醒你的是学习编程和其它知识有一些区别,变成需要你有很大的耐心,要善于思考,善于实践,只有理论不行。

2、java传址,调用方法的时候,只能在括号里输入与调用方法里的变量所关系的类名吗?

【答案】看参数具体是什么类型的,就传入对应的参数类型就行了。

3、0基础学安卓开发难吗?学习步骤是什么?

【答案】 1)Android系统是基于Linux内核,以Java语言为主要实现语言的。我们学习的第一步就要从Java开始学起了!

2)Android开发0基础学习要熟悉Eclipse开发平台,因为Android的主要开发平台就是Eclipse,没什么好说的。此外最好多了解一些这几项内容:HTML+css+div结构、JavaScript、xml

3)经过前两个阶段,相信你对java开发已经掌握的很牢固了,这阶段就可以开始学习Android开发了,同初学Java时一样,先找视频课程,学习入门知识,这时候你会发现,有了Java基础学习Android真是太轻松了!

这个阶段就可以边学习边开发一些App放在Android系统的设备上运行,也是最咱们常说的实训项目,这个阶段是有成就感的阶段。

4、怎么可以用sqlldr加入到oracle中?

程序员面试以及工作中真实问题汇编!

OPTIONS(LOAD=100,SKIP=1,ERRORS=-1,ROWS=10) LOAD DATA infile 'E:\Script\data.txt' into table ZYINFORECORD fields terminated by "," trailing nullcols (ID ,ZY_TMNo ,ZY_ENNO , ZY_NAME ,ZY_GMNO ,ZY_MODE ,ZY_DATETIME timestamp 'yyyy-mm-dd hh24:mi:ss') 老师,这是我的控制文件

cmd运行的时候没有报错,但是数据库里面就是没有添加数据

程序员面试以及工作中真实问题汇编!

【答案】

使用 Oracle 的 sqlldr 命令进行数据的导入

前期条件

1) Oracle 数据库端必须已经建好了需要导入的数据表的结构

2) 一个数据源文件 下面例子中为制表符分隔的文本文件 model.txt ,为Excel 表中导出的

3) 手工编辑一个XXX.CTL 的控制文件

4) 命令行加载数据

如下实例:

以下文件缺省放到C:/ 下,如果不是,就需要指明全路径

1. 命令控制文件 input.ctl 内容

命令 
说明

load data 
1、控制文件标识

infile 'model.txt' 
2、要输入的数据文件名为test.txt

append into table system.塔位属性表 
3、向表test中追加记录

fields terminated by X'09' 
4、指定分隔符,字段终止于X'09',是一个制表符(TAB)

(编号,名称,大小) 
5、定义列对应表中顺序

控制文件中指定插入数据的方式关键字

insert,为缺省方式,在数据装载开始时要求表为空

append,在表中追加新记录

replace,删除旧记录,替换成新装载的记录

truncate,同上

在 Dos 窗口下使用 SQl*Loader 命令实现数据的导入

C:/>sqlldr userid=system/manager@ serviceName control=input.ctl

默认日志文件名为:input.log

默认坏记录文件为:input.bad

5、错误描述:用夜神模拟器测试的时候报这个错误。真机测试,打开Instant Run不报错可以安装,但如果关闭Instant Run,也会报这个错误

错误详情:

Error:Execution failed for task ':transformClassesWithJarMergingForDebug'.

> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class

build.gradle:

【代码长度太长请到磨砺营论坛查看】

【答案】 这个InstanRun运行方式目前还不完善,有bug,属于环境问题。

推荐把项目clean一下,一般项目编译的问题都可以使用这个方法来解决。位置如图:

程序员面试以及工作中真实问题汇编!

问题持续收集与回答

小伙伴们嗨起来

【更多精彩内容】

【53个优秀项目集锦】

【必须掌握的9大方法】

【威哥的真情告白】

【1024威哥福利】

0 0