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

Posted 威哥爱编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员面试以及工作中真实问题汇编!相关的知识,希望对你有一定的参考价值。

【威哥说】不管是面试也好,还是工作中以及学习中,遇到问题及时解决出来是最好的方法,其实优秀程序员之所以优秀就是他们解决问题的能力要更强,他们更了解开发过程中那个阶段容易出现问题。我预感看文章的小伙其中有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一下,一般项目编译的问题都可以使用这个方法来解决。位置如图:





问题持续收集与回答

小伙伴们嗨起来


【更多精彩内容】






温馨提醒

QQ:XXXXXX  我要报名

长按二维码关注
威哥公众号【mjw-java】

每天早上六点半
我们不见不散

获取更多视频干货,点击“阅读原文”

以上是关于程序员面试以及工作中真实问题汇编!的主要内容,如果未能解决你的问题,请参考以下文章

欢迎大家关注程序员面试现场

职场百科程序员面试IT公司的33个小贴士!

一位程序员的真实美团Java实习面试经历(拿到Offer),大厂面试经,这捷径你得走

如果程序员面试时大家都说真话…画面过于真实,易引起不适请慎入

面试题太难,程序员面试被HR淘汰,隔天接到电话蒙了

程序员面试必备,HR 的那些黑话大全,太真实了!