北京小厂笔试题

用了1个小时,做完感觉得去查缺补漏了哈哈哈(苦笑)。

Java开发工程师

时间:60-90分钟
说明:所有题目只需简要描述即可,在答题过程中若有具体的函数记不得函数名称或者参数,只需写出示意代码即可.如记不清截取字符串函数,可写substr(字符串,开始的下标,长度)表示..

一、基础题【Java语言】 1.String和StringBuffer有什么区别?int 和 Integer有什么不同?

存储区间不同,一个存储在堆中,作为对象使用,一个存储在栈中,作为地址引用 Int是基本数据类型,integer是包装类型,作为对象引用

2.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

有可能发生数据长度溢出,和前者一样

3.数组有没有length()这个方法? String有没有length()这个方法?

有,string没有

4.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 前者为方法的重载,后者为继承的重写;不可以,只能修改参数

5.List, Set, Map是否继承自Collection接口?说出ArrayList,Vector, LinkedList的存储性能和特性?

是的,三者都是列表类型里的分支,arraylist基于数组存储,查询快,增删慢;vector基于数组存储,线程安全,linkedlist基于双向链表,增删快,查询慢

6.构造器Constructor是否可被override?

可以

7.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不可以,因为要保证事务的完整性

8.同步和异步有何异同,在什么情况下分别使用他们?举例说明。

区别在于数据的一致性,事务的完成需要同步一致,以保证事务的数据完成后是一致的,同步更新临界区的值,而异步是分批次完成数据的传输,在每个任务分配到不同的线程中时,处于空闲的cpu就会调度对应的线程,执行任务

9.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是引用传递,对象实例化以后存储在jvm的栈中,调用的值是堆中对象的引用地址

二、编程题【JAVA代码查错】

  1. 下面程序的运行结果是

public static void main(String[] args) { String str1 = "hello"; String str2 = "he" + new String("llo"); String str3 = "he" + "llo"; System.err.println(str1 == str2); System.err.println(str1 == str3); } False、true

2、方法体内定义一个数组,放1-5 5个数字; Public void arraylist1(){ Aarry[4] array1=new Array[0,1,2,3,4]; }

3、查询表A前3条数据,放入Map中,key值为ID,value为text值。

Map map1=new Map; For(i:3){ Map1.get(A,‘ID’,‘text’)

}

三、数据库 一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数,除了使用到select和from关键字以外,还需要用到的关键字有哪些?并使用什么函数进行统计记录数? Where Sum()

1、内联接,外联接区别?  内联接表示查询链接子表充当查询条件

外联接表示接入外表做一个表的补充查询

  1. 表A  ID NAME 1 A1  2 A2  3 A3 

表B ID AID NAME 1 1 B1 2 2 B2 3 4 B3 表A和表B的关系 A.ID => B.AID 1)写出exists和in之间的区别 exists是查询条件命令,in表示被查询对象

2)使用exists和in,查询出A表包含B表的数据

Select * from a,b Exists a in b

4.如何查看SQL执行计划 使用explain查询语句

四、Web表现层 【请使用原生JS实现】 1、如何动态改变DIV对象的显示内容?

在js层中引入对应的交互函数,通过前端交互触发,

2、如何判断页面中的一个checkbox是否被选中?如何禁用它?

可以在下方打上控制台输出语句,然后在浏览器中打开开发者工具,检查对应的提示是否有被执行,可以设置全局变量将其关闭

3、列出你所用过的Html元素。

<meta> <src><link> 4、使用es6语法编写一个类,实现一个静态方法,以及调用。

Const andy(a){ a++; }; Export andy;

5、js如何遍历对象,有几种方式,请举例说明。

for循环遍历和增强for循环遍历,前者需要声明变量,后者不需要

五、附加题 1、请解释一下什么是面向对象编程(OOP)。请举例说明如何在Java中使用面向对象编程?

面向对象编程,将实现的逻辑封装抽象成类,类可以根据不同的参数构造不同的对象实例,对象类内部属性一般不可修改,但会提供修改的接口方法供外部调用,这里面向对象就具备了封闭性和可修改性,类中的参数是对外不可见的,在java中我们可以将每个类分配不同的处理方法,通过创建对象实例并传入对应的参数,得到对象内部返回的结果,这样,通过调用创建对象实例实现业务逻辑,而类的多态和可继承性可以使得操作变得更加多样性,更加丰富了对象的业务属性。

2、画出一个Eclipse中web工程的目录结构。

项目名--andy --.eclipse --.src --controller --service --model --mapper --main --andy --resource --xml --pom.xml --.test Andy.test

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Andy
作者分享
身体健康=赚钱的副业 各位鱼友好!一直以来我都有想做副业赚钱的想法,所以休息时间都在捣鼓一些东西。但是最近在出租屋里总是头晕,不知道是怎么回事,起初我怀疑是对着风扇一直吹或者是通风不好杀虫剂的味道没散干净,一直没怎么重视,今天一起床头还是晕的,我立马就去医院了,好哥们还带妹子约我去爬山,无缘妹子了😮‍💨。 检查目前还没什么大问题,但是光检查就花了 670,省下这笔钱不比副业赚 670 容易么🥹,所以我就在想,干啥都是身体优先,主业优选,在这些都游刃有余之后再想副业,是可发展的,不然身体垮了就啥都没了。
4
Day 1 ✅ 今天做了:对接第三方接口,手撸代码,看课 ⏰ 明天计划:打卡 📚 今日感悟:第一次正式调用第三方接口,对比以前的实习真是接触得太浅了,过不得学不到东西,这一次对接花了一天,幸好老板出差,不然这进度,我都无法交差,每天都干点事,还是比较好的,慢慢学着吧,长期主义。
3
Day 1 ✅ 今天做了:开发完一个模块、看课、手撸代码 ⏰ 明天计划:打卡 📚 今日感悟:上班拼命思考业务逻辑,让ai改,不知道为什么cursor老是生成乱码,但最后还是在规定时间交付了,带的实习生干活也挺快,ai抹平了我跟他的差距,但是业务上带来的差距太明显了,渐渐悟了一点,但是业务这个东西又很难说透,想了解和掌握还得实践,而且只要负责得够多,压力够大,不是跑路就是成长,能干下来我真觉得收获挺多,就是加班有点累,自己搞确实要干的太多干都干不完。
4
Day 1 ✅ 今天做了:修复bug,看超级智能体02,手撸代码练习 ⏰ 明天计划:坚持打卡 📚 今日感悟:今天也是在修bug的路上,得益于之前认真搞开发,阅读开发后的代码,今天被实习生问的时候也能很好的解答,看来也是有记在脑子里的,前端代码慢慢能够熟悉了,但是公司一天一个项目模块,又只是我单独负责,没办法,不糊弄好好做了,好在公司不做打卡,我每次都能晚点去上班,晚上加班也好,后面业务熟悉了干活应该就那么慢了,也算是带薪学习了。
3
Day 1 ✅ 今天做了:梳理了公司的项目架构,了解了ruoyi权限校验的两层,一层是功能校验,一层是数据范围校验,修改了对应的判断逻辑。观看了ai智能体第一集。 ⏰ 明天计划:坚持打卡 📚 今日感悟:公司的项目缺少对应的开发规范,今天带了实习生发现如果多人合作连git提交周期都没有一个确定的时间,这都是个问题,还有项目开发规范,老板需要成果肯定不会在意规范的,后天就要见功能上线,这种开发速度,老板觉得ai可以做到,但确实能做到,只不过积累的技术债又需要我来进行完善,所以只能慢慢学了,自己照葫芦画瓢搞个差不多的规范吧,还能咋样,多少学点总是好的。
2
下载 APP