技术标签: java面试
今天接到一个电话面试,一来就问我是不是叫XX,我当时一脸懵逼,投了半个多月的简历都没有反应,今天突然有人给我打电话了,当时突然有些紧张,然后他又问我现在方便电话面试一下吗,我说好,然后就开始了,
第一个问题是List集合可以存基本数据类型吗?我当时第一反应是可以,然后他问我是否确定,我开始虚了,然后我就说List集合里可以存String以及一些类的对象等引用类型,
第二个问题就问我知道基本数据类型吗?我说知道然后就列举了那四类八种当时由于紧张只说了四类,数值型,浮点型,布尔型,字节型,没有具体回答是哪八种,但是面试官也没有追问。
第三个问题问我知道jvm吗?我说知道,就是java的虚拟机,可以实现跨平台,只有有jvm就可以运行java程序,然后面试官说其他语言也可以在jvm上运行,当时也是一脸懵逼。
第四个问题问我jvm的垃圾回收机制知道多少?我回答jvm的垃圾回收机制就是如果发现一个对象的没有被其他变量所引用时就会被回收。这个回答应该是有问题的。然后查了一下,有人说当一个对象到GC Roots不可达时,在下一个垃圾回收周期中尝试回收该对象,如果该对象重写了finalize()方法,并在这个方法中成功自救(将自身赋予某个引用),那么这个对象不会被回收。但如果这个对象没有重写finalize()方法或者已经执行过这个方法,也自救失败,该对象将会被回收。
第五个问题问我jvm垃圾回收分为哪几个代?当时我只提了一下永久代,隐约记得有个这个,后来查了一下,主要分为三代:1、新生代 2、老年代 3、永久代
第六个问题问我经常用哪几种集合类型?,我回答List和Map用得最多,
第七个问题问我ArrayList和LinkedList的区别是什么?,我回答ArrayList底层是基于动态数组实现的,LinkedList底层是基于链表实现的,这里也回答得不是很好,具体区别没有回答完,比如ArrayList的查找元素的效率是优于LinkedList的,因为Linkedlist要移动指针;对于指定索引位置的新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
第八个问题问我LinkedList是否是线程安全的?,当时没有回答上这个问题,因为平时用得比较少,后面查了一下,ArrayList和LinkiedList都不是线程安全的,所以建议在单线程中才使用ArrayList,而在多线程中可以选择Vector或者CopyOnWriteArrayList。LinkedList线程安全的处理方法有两种:
第一种:List list = Collections.synchronizedList(new LinkedList());
第二种:将LinkedList全部换成ConCurrentListQueue
第九个问题问我怎么实现线程安全?;我回答加锁,并且说了两种加锁方式,一种是在方法上加synchronized,另一种是利用Lock锁机制,用lock()加锁,unlock()释放锁来包装某个代码块的线程安全。
第十个问题问我如歌加锁加在类上,锁的是什么?我回答锁的是对象,当时面试官好像肯定了我的说法,后面我再去查查,
第十一个问题问我会操作linux吗?我说会,并且我说了把打包好的项目配置到linux系统中并且运行。
第十二个问题问我linux系统中切换盘符的命令是什么?可能是好久没操作linux了,然后没回答上,就跟他扯查看目录下所有文件的命令是 ll 和 ls ;然后他说是cd,我就说不是跟windows系统的一样吗。尴尬…
第十三个问题问我怎样在linux系统中重启tomcat服务?我当时回答进入tomcat目录下运行重启服务那个命令就行了,当时面试官好像有什么话要说,我想可能面试官想听到其他方法吧。
第十四个问题问我平时在什么系统上开发程序?我当时说在windows系统中开发,因为平时在windows系统写代码比较方便。
第十五个问题问我Spring用得多吗?我说Spring我用得最多了。
第十六个问题问我Spring是什么?当时这个问题我回答得不是很好,我就跟他扯了一些说Spring可以整合SpringMVC和Mybatis,可以管理类与类之间的依赖关系之类的,后面再去查一下。
第十七个问题问我Spring的优点是什么?这个问题没回答上,当时我就说我也不知道该咋说。 尴尬…
第十八个问题让我说一下AOP?我回答AOP就是面向切面编程的思想,一般用于系统资源监控日志搜集,主要有前置通知、后置通知、环绕通知、异常通知。
第十九个问题问我Spring是如何实现的?我回答是基于动态代理实现的。可能回答也不是很好,后面再查一下。
第二十个问题问我IOC是什么?我回答是控制反转,就是把类交给Spring来管理。
第二十一个问题问我Spring管理的类存放在哪,是什么时候初始化的?当时我没回答上这个问题。
第二十二个问题问我applilcationContext 和 BeanFactory是什么?我回答applicatiuonContext是上下文对象,可以存放一些东西的整个应用都可以访问到。然后BeanFactory就是管理Bean的工厂。
第一次面试,太紧张了,而且最近也没怎么复习,好多东西都忘了,准备不够充分,电话面试来得太突然太直接了,尴尬…
文章浏览阅读2.1w次,点赞23次,收藏204次。基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯2022-03-08,51单片机学习笔记功能打开K1循环左移,打开K2循环右移,打开K3两侧到中心来回点亮,打开K4单双数位置交替点亮。拨码开关优先级:K1>K2>K3>K4。开发环境Keil C51硬件连接方式STC89C52RC外设描述P1.0 ~ P1.7LED1 ~ LED8八位共阳极发光二极管P3.4 ~ P3.7KEY1 ~ KEY4独立拨码开关汇编代_porta连接8位拨码开关,portb连接8只led
文章浏览阅读573次。笔记,记录一个libsvm的使用网址。libsvm使用教程网址_matlab 尝试将不支持的数据类型写入ascii文件 变量未写入文件
文章浏览阅读899次,点赞15次,收藏7次。安装完毕后,就可以去对应的文件里找到以下文件夹。重点需要掌握的是bin文件夹。目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。include该路径下存放了一些平台特定的头文件。jmods该路径下存放了JDK的各种模块。legal该路径下存放了JDK各模块的授权文档。lib该路径下存放了JDK工具的一些补充JAR包。
文章浏览阅读92次。事情是这样的,由于我 CNVD 还差一积分就可以兑换京东E卡了,所以找了这个 CMS 看看能不能挖到漏洞,运气还是不错的挖到了两个,分别是 SSRF 与文件覆盖 GETSHELL,这才有这篇文章。该 CMS 版本是 4.2。以下漏洞均被 CNVD 收录。此次代码审计使用了通用代码审计思路的两种,第一种:根据功能点定向审计、第二种:敏感函数回溯参数过程,没有用到的是通读全文代码。活用 phpstorm 可以让代码审计的效率大大增加。网络安全成长路线图。
文章浏览阅读6.6k次。在python读取数据库中的数据,表的名字为'PanJueShu',名字中含有大写的字母,此时代码为:cur.execute("select instrument_content from PanJueShu_DaoQie" )这样执行之后就会报上面的错误,说表名不存在当代码改成下面的代码:cur.execute("select instrument_content fro..._psycopg2 连接错误: relation "bm_market_exclusion_rule_type" does not exist l
文章浏览阅读998次。第一版:server.py#!/usr/bin/python3# -*-coding:utf-8 -*-#import socketfrom socket import *import timeCOD = 'utf-8'HOST = gethostname() # 主机ipPORT = 21566 # 软件端口号BUFSIZ = 1024ADDR = (HOST, PO..._python服务端向所有客户端发消息
文章浏览阅读161次,点赞5次,收藏6次。1. 什么是 Thymeleaf ?虽然我们目前拥有许多十分优秀的前端框架,例如: Vue 、 React 等,非常适用于前后端分离的场景,前端可以独立部署成为服务,前后端从物理上完全进行隔离,降低程序耦合度。但是 Spring Boot 官方依然为我们提供了模版引擎用于一些无需前后端分离的场景。 Thymeleaf 是新一代的模板引擎,在 Spring Boot 中,官方推荐使用 Thymeleaf 来做前端模版引擎。打开 https://start.spring.io/ 可以看到,在当前Spring _springboot thymeleaf渲染对应网页
文章浏览阅读465次。一、准备工作一下所有操作均以root账号登录演示。如果是新装的centos7,可以更新一下系统,打上最新的补丁,以免存在可能被利用的漏洞。查看当前系统版本:cat /etc/redhat-release我的刚装好的系统版本是7.6的,使用yum update更新,完成后系统版本显示7.8.2003友情提示:生产环境对软件版本和内核版本要求都比较精确,yum update命令慎用。顺便说一下yum update和yum upgrade的区别。yum update :升级
文章浏览阅读1.1k次。与:&两个操作数都为1,结果才为1,否则结果为0 public static void main(String[] args) { System.out.println(Integer.toBinaryString(5));//101 System.out.println(Integer.toBinaryString(4));//100 System.out.println(Integer.toBinaryString((5 & 4)_或非逻辑运算的特点是
文章浏览阅读2.8k次。---提供事物回滚功能+错误信息的记录---如果不需要回滚,直接把事务去掉就OK啦!---BEGIN TRAN---COMMIT TRAN---ROLLBACK--create table test1( ids int not null,constraint pk_test1 primary key(ids))select * from test1begin try BEGIN T_sql server try...catch @@error
文章浏览阅读186次。欢迎同学将邮件发送至[email protected],注明必要信息(个人简历,大学成绩单,本科院校,初试成绩,四六级,科研经历等)。4、参加过科技创新竞赛并获省级二等奖以上奖项(包括机械设计、电路设计、数学建模、机器人竞赛、挑战杯、互联网+等);浙江理工大学刘爱萍教授课题组接收物理、材料、机械、电子信息类背景研究生调剂。2、物理,材料,机械、电子信息、计算机专业或相关交叉学科背景;联系方式:********* (为保护个人隐私,联系方式仅限APP查看)专业:工学->电子信息->控制工程。_浙江理工大学24计算机专硕
文章浏览阅读1.6k次。点击上方“3D视觉工坊”,选择“星标”干货第一时间送达标题:Voxel Cloud Connectivity Segmentation - Supervoxels for Point C..._supeivoxels