2020 java实习生面试题总结「建议收藏」

2020实习面试题总结:本人是广州某高校大四的一名学生,下面是12月份的面试总结一)hr的提问:1.自我介绍(必须的)2.职业规划3.你对我们企业了解吗4.

大家好,又见面了,我是你们的朋友全栈君。

2020java实习面试题总结:

本人是广州某高校大四的一名学生,下面是12月份的面试总结

一)hr的提问:

1.自我介绍(必须的)

HR的关注点:
在这里插入图片描述
例子:

本人就读于xxx学校,xxx专业,学习了xxx课程;获得过xxx奖项(或证书);在校期间除了完成课程学习;还用业余时间去完成了一些应用系统的开发;掌握了系统开发工具及系统的开发方法;在这段时间累计了一些开发经验,希望能加入贵公司,为公司创造价值。

2.职业规划

HR关注点:

  1. 你是否有一直从事本行业的意愿
  2. 应变能力

例子:

作为一个新人,刚进入公司,我会熟悉公司的企业文化,很好地融入到整个团队之中,完成好领导布置给我的任务,踏踏实实从基础做起,强化我的编程技术。
2-3年后我就往中高级程序员方面发展,不断的提升和完善自己。

3.自己的优势和劣势

本人对java开发这个岗位有着浓厚的兴趣;并且基础牢靠;熟悉开发的流程,有着一定的经验,能够很快的融入的开发的团队中。
但作为新人,在实际的开发中肯定与公司的老手有一定的差距,不过我觉得可以慢慢适应于克服。

二)笔试或面试题

1)线程:

1.谈谈你对线程安全的了解?

当多个线程去操作同一个资源时;如果是进行读的操作是没有问题;但进行写的时候,就会产生数据修改覆盖等问题。

2.怎么实现多线程?

1.继承Thread类,重写run()方法,在方法加入线程要执行的代码即可

2.实现Runnable接口,Runnable接口只有run()方法,在方法中加入执行代码;如何需要调用Thread的Thread(Runnable runnable)构造方法来返回线程实例。

3.实现Callable接口,并重写call()方法,在方法中加入执行代码;使用Executor框架创建一个线程池,把当前的Callable对象放入线程池中;可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了,再结合线程池接口ExecutorService就可以实现传说中有返回结果的多线程了

3.谈谈你对线程池的了解?

详细链接

4.线程的状态有哪些?

jdk中对各种状态的描述如下:

  1. NEW:尚未启动的线程处于此状态。
  2. RUNNABLE:可运行线程的线程状态。 可运行状态的线程正在Java虚拟机中执行,但它可能正在等>待来自操作系统(例如处理器)的其他资源
  3. BLOCKED:一个线程的线程状态阻塞等待监视器锁定。 处于阻塞状态的线程正在等待监视器锁定进>入同步块/方法,或者在调用Object.wait后重新输入同步的块/方法
  4. WAITING:等待线程的线程状态 由于调用以下方法之一,线程处于等待状态
    Object.wait没有超时
    Thread.join没有超时
    LockSupport.park
  5. TIMED_WAITING:具有指定等待时间的等待线程的线程状态。 线程处于定时等待状态,因为在指定的正等待时间内调用以下方法之一
    Thread.sleep
    Object.wait与超时
    Thread.join与超时
    LockSupport.parkNanos
    LockSupport.parkUntil
  6. TERMINATED:终止线程的线程状态。 线程已完成执行。

2)框架

2.1 springboot原理(重要)?

springboot原理

2.2 怎么实现mybatis的接口绑定?

接口绑定有两种实现方式:
1.一种是通过注解绑定,就是在接口的方法上面加上@Select、@Update 等注解,里面包含 Sql 语句来绑定;
2.另外一种就是通过 xml里面写 SQL 来绑定, 在这种情况下,要指定 xml 映射文件里面的 namespace 必须为接口的全路径名。
当 Sql 语句比较简单时候,用注解绑定, 当 SQL 语句比较复杂时候,用 xml 绑定,一般用 xml 绑定的比较多

2.3 springmvc的流程(三大组件)?

springmvc流程详情

2.4 mybatis的一级缓存了解吗?

mybatis的一级缓存是SQLSession级别的缓存,在操作数据库时需要构造SqlSession对象,在对象中有一个HashMap用于存储缓存数据,不同的SqlSession之间缓存数据区域(HashMap)是互相不影响的。

2.5 mybatis的级联查询怎么实现?

级联查询

2.6 mybatis的分页对象?

Mybatis使用RowBounds对象进行分页,它是针对ResultSet结果集执行的内存分页,而非物理分页。可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。
分页插件的基本原理是使用Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句物理分页参数
7.spring的优点?

3)mysql

3.1 你对mysql有什么了解?

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

3.2 myisam和innodb的区别,如何取舍?

myisam和innodb详情

3.3 数据库如何优化(sql优化)?

sql调优

4)redis

4.1 redis应用场景?

1.字符串string:

字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据货Json对象描述信息等,是标准的key-value,一般来存字符串,整数和浮点数。Value最多可以容纳的数据长度为512MB

应用场景:很常见的场景用于统计网站访问数量,当前在线人数等。incr命令(++操作)

2.列表list:

Redis的列表允许用户从序列的两端推入或者弹出元素,列表由多个字符串值组成的有序可重复的序列,是链表结构,所以向列表两端添加元素的时间复杂度为0(1),获取越接近两端的元素速度就越快。这意味着即使是一个有几千万个元素的列表,获取头部或尾部的10条记录也是极快的。List中可以包含的最大元素数量是4294967295。

应用场景:1.最新消息排行榜。2.消息队列,以完成多程序之间的消息交换。可以用push操作将任务存在list中(生产者),然后线程在用pop操作将任务取出进行执行。(消费者)

3.散列hash:

Redis中的散列可以看成具有String key和String value的map容器,可以将多个key-value存储到一个key中。每一个Hash可以存储4294967295个键值对。

应用场景:例如存储、读取、修改用户属性(name,age,pwd等)

4.集合set:

Redis的集合是无序不可重复的,和列表一样,在执行插入和删除和判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集差集操作。Set可包含的最大元素数量是4294967295。

应用场景:1.利用交集求共同好友。2.利用唯一性,可以统计访问网站的所有独立IP。3.好友推荐的时候根据tag求交集,大于某个threshold(临界值的)就可以推荐。

4.2 缓存雪崩和缓存穿透,如何解决?

缓存雪崩、缓存穿透详情

5.其他

5.1 jsp四种回话跟踪技术?

1、通过Cookie实现
2、通过session实现
3、URL地址重写
4、表单隐藏域

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126343.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OllyDbg使用教程[通俗易懂]

    OllyDbg使用教程[通俗易懂]一、OllyDbg获取OllyDbg目前官方已经停止维护,各大论坛针对OllyDbg出了定制版,主要是对的插件进行了集成,比较出名的是“吾爱激活成功教程专用版Ollydbg”。同时还有OllyICE,也是由一些爱好者对OllyDBG修改,新增一些功能或修正一些bug而形成的一个版本。可以从此处下载获取:http://download.csdn.net/download/china_jeffery/…

    2022年10月23日
    0
  • PAT乙级习题解答C语言(汇总)「建议收藏」

    PAT乙级习题解答C语言(汇总)「建议收藏」题号 题名 1001 害死人不偿命的(3n+1)猜想 1002 写出这个数 1003 我要通过! 1004 成绩排名 1005 继续(3n+1)猜想 1006 换个格式输出整数 1007 素数对猜想 1008 数组元素循环右移问题 1009 说反话 1010 一元多项式求导 1011…

    2022年6月5日
    33
  • STM32开发笔记37: 485总线的收发切换时间_STM32库开发实战指南:基于STM32F4

    STM32开发笔记37: 485总线的收发切换时间_STM32库开发实战指南:基于STM32F4架构图带位操作原理以往我们在使用暂存器时,都是在操作该暂存器32bits(4bytes)的储存地址,要对其中单一bit进行操作,可以仰赖bitoperation来完成。而bit-banding(位带操作)的目的就是实现直接操作单一比特位为了达成这个目的首先我们有必要理解STM32的特殊存储区段位带区与位带别名区。下图中的红色方框代表位带区的范围,可以看到SRAM中位带区佔有1MB,外设区段部分,1MB的储存范围刚好涵盖了AHB,APB1,APB2,可以说我们使用的大部分外设,例如GPIO,

    2022年10月13日
    0
  • HorizontalScrollView

    HorizontalScrollView一、概述、水平滚动条可以左右滑动可与ViewPager协同使用二、HorizontalScrollView里边只能放一个子元素可以放一个Layout布局对象来盛放多个元素里边可以设置指示器

    2022年7月1日
    25
  • 怎么通过计算机名查别人ip_计算机怎么看ip地址

    怎么通过计算机名查别人ip_计算机怎么看ip地址经过几个月实践,更新如下:首先我的目标是:1:不给客户端装任何软件,即用户信息肯定是全自动生成。2:由我们IT去查询IP,计算机名,用户名任意一项能查出其他两项信息。3:最好是不花钱,SCCM虽然可以查,但毕竟是商业的,能省下钱当然最好啦。以下是四种方法,各有各的好,难度也越来越大和复杂,在这里说下我实践下来的做法。初级篇:最简单的方法,本帖里很多朋友也说了,组策略批处理给客户端运行,生成IP,计…

    2022年10月10日
    0
  • pip安装国内的镜像源_pandas镜像源

    pip安装国内的镜像源_pandas镜像源1.国内镜像源: 阿里云http://mirrors.aliyun.com/pypi/simple/ 中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban)http://pypi.douban.com/simple/ 清华大学https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学http://pypi.mirrors.ustc.edu.cn/simple/2.临时使用某个镜像源:

    2022年10月31日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号