记录一下找Java实习岗的面试经历(1)

第一站: 广州凡客

笔试题

简答题

1.cookie和session的区别和联系

  1. cookie存储在客户端,session存储在服务器端
  2. 客户端第一次请求session时,服务器会生成一个包含sessionid的cookie返回,后面客户端再次请求session时,会将这个cookie发送回服务器端,服务器端根据这个cookie中的sessionid找到对应的session。简单来说,就是session依赖于cookie。

2.synchronized和Lock的区别

  1. synchronized 的操作都是隐式操作,Lock 的操作都是显式操作,即什么时候上锁什么时候释放锁都能直观地看见。
  2. synchronized 属于java关键字,其操作属于jvm层次,Lock 是类层次的操作。
  3. synchronized可以自动释放锁,Lock需要在finally代码块中手动释放否则容易死锁。

3.String、StringBuffer和StringBuilder的区别?

  1. String 属于final 修饰,一但创建就不能够改变。
  2. StringBuffer 和 StringBuilder 都可以改变。
  3. StringBuffer 线程安全,StringBuilder 线程不安全

4.ArrayList和LinkedList的区别?

  1. ArrayList 基于数组实现,LinkedList 基于双向链表实现
  2. ArrayList 增删慢查找快,LinkedList 增删慢查找慢
  3. ArrayList 有容量的限制,LinkedList没有(扩展到ArrayList 的扩容机制)

5.基本数据类型有哪些?它们的范围?默认取值?

有八种,范围有大到小为:

范围默认取值
byte-128~1270
short-2^15 ~ 2^15-10
int-2^31 ~ 2^31-10
long-2^63 ~ 2^63-10
float0.0f
double0.0d
char0(对应字符)
booleanfalse

6.doGet() 和 doPost()有什么区别

1.表单的提交方法为post时调用doPost()方法,get方法时调用doGet()方法

7.如何输出没有乱码的字符?

(这道题有点意义不明)我写的是response.setCharactorEncoding,不知道是不是这个答案

8.getAttribute()和getParameter()有什么区别

  1. getAttribute()方法用于获得session中的值,在使用getAttribute()方法前要先setAttribute()存放数据
  2. getParameter() 用于获得表单中的值,如:
<input type="text" name="id" />

就可以使用getParameter(“id”) 获得文本输入框中的值

9.start()和run()有什么区别

  1. 直接调用run()方法的话等同于执行了一个名字为run的方法,没有调用到线程中的方法
  2. 运行start()方法会使线程进入runnable状态,之后会执行run()方法,只有运行start()方法才标志线程开始运行。

10.String可以被继承吗?

不可以,String 被 final修饰,被final修饰的类不能被继承,变量不能被更改,方法不能被重写

11.wait()和sleep()的区别

  1. wait() 属于 Object类的方法,sleep() 属于Thread 类的方法
  2. wait() 会交出当前已获得的锁,sleep()不会,并且会保持对线程的监控状态。
  3. wait() 需要和 notify() 搭配使用,sleep() 在等待一段时间一段时间后会释放锁

12.线程的生命周期

新建(new) -> 就绪(runnable) -> 运行(running) ->阻塞(blocked) ->死亡(dead)

一般前面两个我都说英文,因为我经常会说成初始化和可运行,防止面试官听不懂。。。。

扩展到线程的六种状态:
新建(new) -> 就绪(runnable) -> 阻塞(blocked) -> 等待(wait) ->即使等待(time_waiting) ->销毁(determined)
和生命周期很像,只要记住5:6即可

算法题

1.猴子吃桃问题:一个猴子每天吃总桃子数量的一半又一个,吃到第十天还剩一个,问一共摘了多少个桃子

2.画棱形问题

3.设计一个算法输出一个字符的后面第三个字符(如 输入’a’ 输出 ‘d’ ,输入 ‘z’ 输出 ‘c’)

面试题

第一次面试有点太紧张了,好多题没答上来。。。。

mysql索引熟悉吗?

Lock和synchronized有什么区别

mysql的左连接和右连接?

servlet的生命周期?

Mybatis中,如果你的判断条件全部失效,要怎么处理?

JDBC的流程?

Collection常用的哪些?它们线程安全吗?

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值