首页 > 21届CVTE后端开发一面-8月29日
头像
进击的岸
编辑于 2020-09-01 21:24
+ 关注

21届CVTE后端开发一面-8月29日

  1. C和Java的区别; 面向过程与面向对象;内存释放与垃圾回收;C语言更加底层,因此速度快,Java中的native方法有一些是C实现的;
  2. Java为什么能跨平台; 不同的操作系统环境对应有不同的JVM,而这多个版本的JVM可以运行同一个class文件;
  3. Cookie与Session的区别;
    Session将信息保存在服务器上,而Cookie保存在客户端上

    Session比Cookie更安全,Session比Cookie更占资源

    开发原则:Session要尽量少用,尽量少向Session中保存信息

    session使用了Cookie的机制,如果Cookie被禁用,则Session也无法使用,因为客户端的session ID以Cookie的形式,保存在了客户端的内存当中,这个时候我们可以通过url重写,来保证session的有效性。session可以存储Java对象,cookie只可以存储String
  4. 创建线程的方式 俩种;继承Thread,或者实现runnable接口
  5. 线程状态; 新建(刚刚new出来的),就绪(调用start()方法,已达到运行所需要的所有条件),运行,超时等待(sleep()进入,到时则进入就绪,会释放CPU),阻塞(Sychronized代码块中),等待(调用wait()方***释放锁资源,可调用notify()使其进入锁争用)
  6. HashMap相关;数据结构(8:数组、链表、红黑树;<=7:数组、链表) 数据结构变更理由:发生大量哈希冲突时,会导致链表长度过长,查找效率变低,改用红黑树(自平衡二叉排序树,提高查询效率,阙值为8); HashMap的扩容触发,装载因子0.75*数组容量=扩容触发阙值,步骤创建新数组,容量是原数组俩倍,遍历原数组所有元素对其以新的容量进行再一次的哈希计数下标;
  7. HashSet相关;底层是HashMap的key数组
  8. ArrayList与LinkedList区别;底层数据结构,前者为数组后者为链表;适用情况:前者适合用于检索和排序,后者适合用于增删;
  9. ArrayList的扩容;若是空参构造方法,则第一次扩容为10(默认),其他情况扩容为1.5倍,扩容操作均是创建新数组并赋值
  10. spring的好处;IOC:无需理会业务对象的创建过程(可能创建过程很复杂),只需注意业务对象的功能即可,业务对象的创建由spring完成;
  11. 数据库事务概念和特点;一系列数据库操作的集合;特点:原子性(原子不可分割,要么都发生,要么都不发生)、一致性(事务执行前后,数据库一致符合约束)、隔离性(并发执行的事务间不会相互影响)、持久性(已提交的事务对数据库的影响是永久性的);
  12. 什么是线程安全; 多线程访问某个方法时,无论线程以何种方式被调用或是交替执行,都不需要对其做任何的同步运行结果与设想一致即为线程安全;
  13. 还问了分布式和线程池、多线程编程的,这些都不了解;有一些忘记了,就先记这么多;

记录本篇一是复盘,二是希望看客们如果看到错误请一定指出,有疑问也可以一起讨论,最后,求offer!!!!!!!!!!

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐