顺丰一面
约定用时:30分钟,提前一天邮件通知,不可更改其他时间段。
实际用时:30分钟。
自我介绍
巴拉巴拉巴拉
主要问题
Java IO流了解吗?有哪些输入输出流?如何输入文件?如何输入输出excel,json?
答:(上来就遇到最不熟悉的部分。。。)有了解过一些,主要分字节和字符输入输出,具体还分文件输入输出,带缓冲的输入输出等等。输入文件要看是什么文件吧(面向百度编程的我哪记得这些),txt可以用文件输入流那些(猜的),图片需要用其他处理图片的io库(不知道具体什么库)。excel那些自己之前用POI(实习用过),json也可以用文件输入流吧(继续猜)。(真别再问了,不会!)Java异常了解吗?有哪些?什么是Error什么是Exception?分别有哪些?平常开发的时候遇到过哪些?怎么处理?
答:(会!脑海中浮现中那一颗思维导图树)了解过一些(都是一些),异常都是实现了throwable接口,主要分为Error和Exception,Error就是虚拟机内部的错误,程序无法抛出处理,也不需要程序对这些异常进行处理,主要有OutOfMemoryError和StackOverFlowError这两种。Exception主要是运行时异常还有IO异常。运行时异常遇到的比较多,像NullPointer, IllegalArgument, ArrayIndexOutOfBound, ClassNotFound这些。一般会在可能出现异常的代码块会使用try catch finally来捕获异常,然后可以选择在当前类throws出去,或者打印以及输出到日志。一般会用到getMessage或者printStackTrace来记录异常的堆栈信息,方便追踪和调试。Java并发了解吗?synchronized是什么?有哪几种锁?了解Lock吗?
答:(有点虚)了解一点(一点点。。。),synchronized主要用于多线程同步,可以作为对象锁和类锁, 实现原理主要基于monitor(大概讲解了下)。Java1.6之前synchronized是重量级锁,1.6之后会经历锁升级的过程,从偏向锁,轻量级锁再到重量级锁,升级不可逆。Lock?不知道没用过(又一次查漏补缺),有了解过ReentrentLock,但没怎么用过。
你项目用到了SpringBoot,你能讲下什么是SpringBoot吗?
答:(说好的框架只问Spring IOC和AOP的呢,抓头。。。)SpringBoot在我的使用过程中重要是作为脚手架开始项目,它主要就简化了很多默认配置,然后内置了Tomcat,可以更好的和SpringMVC以及SpringCloud联合开发。(就是那种好像做了很多事,但其实原本Spring也都有,就是简化开发部署的脚手架吧,我的理解)。那还讲一下什么是SpringMVC?
答:(脑海中换一张图,讲了一遍基于JSP的MVC模型和Restful的MVC模型)你项目用的是Mybatis吗?能讲一下什么是JPA吗?
答:之前其他项目有用过,目前这个项目主要用的SpringDataJPA,JPA主要就是数据库表的字段和Java数据对象的映射关系,blabla(自己也没有整的太清楚)。Mybatis需要写SQL语句来调用,JPA默认封装好了,但不够灵活。项目里MySQL怎么建的表,有做哪些优化?
答:建了用户表,商品表等等等等。对常用查询字段建立索引,看查询需求建立联合索引来减少回表。(怎么不追问了,B+树,InnoDB,事务三连呢?)
看你之前有做区块链项目,能讲一下什么是区块链吗?
答:(凑简历字数的项目,讲了一下比特币和以太坊的区块链结构和模型,再讲下POW和POS公式机制,最后聊下我的项目)看你对区块链了解还挺多,时间差不多了,你有什么要问我的吗/
问:(第一家没有手撕代码的公司)目前主要业务,工作时间,地点,主要技术栈。
答: 物流管理,平台,无人机,后台服务以Java为主。
后续
- 9月9日 上午 9 点二面。
- Loading...
全部评论
(4) 回帖