顺丰科技面试-java开发
顺丰科技的面试官感觉人都挺随和,总共经历三面,两轮技术面,一轮hr面。
一、专业面一
主要是对着我的简历上的东西问,我的一个项目经历,两个实习上面以及自己提到会的技能展开的提问。
(1)自我简介
(2)对实习一(招商银行基于工作流的资金审批系统开发)内容的提问,前后端分离原则简单叙述,基于后端写前端页面时,如何对于登录人的权限进行管理,比如在rest接口写什么,实现不同登陆人的访问权限控制。这个我没回答上来,因为之前在写这个系统时,只是简单写了一些前端页面,来测试后端的所有功能有没有实现。对这个问题没有解决
(3)实习一中使用的数据数据量有多少,有没有考虑过在高并发访问环境下你们的这个系统承载力?我的回答是no。
(4)假如你的系统现在突然cpu的占有率非常高,你有没有考虑过怎么分析这个问题,以及处理方法。我就回答垃圾回收。文有没有使用什么工具可以观测这个进程的堆情况,我回答了可以使用一个插件,能够实时图形化观测堆的情况(Eden,Suvival,老年代等),但名字记不起来了。
查了一下,在命令行中输入jvisualvam,这是jdk自带的观测java进程运行情况的工具。


(5)UML的几种类型?
(6)实习二(中国移动风控项目,数据挖掘),看见有使用linux系统的经历,问常见的命令,这个我真不会只回答了,会使用常见的查看,执行命令。好像问了一个,如何查看某个时间序列命名的文件,如何查看某个时间范围内的。这些文件的文件内存(是不是内存,还是其他的我记不清楚了,因为确实不太会linux系统)?
开始问简历上写的技能了,主要三个,jvm、锁、hsahmap
(7)jvm会不会?里面包含哪些部分,你把你知道了的写一下。然后我就画了一个jvm的栈,堆,方法区,程序计数器的大概图。然后,写了一个语句,问执行这个语句,jvm的这些部分会发生什么变化。
public class B{
public A classA=new A();
}
我解释了一遍,栈,堆,方法区、程序计数器的联系和变化
这部分面试前一天晚上才复习过一遍之前看的视频,所以回答的表较好,
(8)hashmap是不是线程安全的,与hashtable有什么区别。如果多个线程下,同时对一个hashmap共享变量正向put()操作,并且么个线程的key都不一样,那么,这个hashmap共享变量会不会线程不安全?
(9)有一个共享变量i初始值为0,现有10个线程各自执行一遍++i;那么最后输出的值会怎样?我回答小于100,那么最小值会是多少。我一开始回答是1,后来画图后考虑了一下极端情况,改为10。我问面试官对不对,并解释了一遍,面试官说那就对呗。哈哈
(10)假设一个类存在很多方法。现在只要有调用这个类的这些方法时,系统能够打印出调用了这个方法的日志,该怎么实现?我回答动态代理
拿到通过卡等二面
二,专业面二
把一面问过的问题就跳过不再问了,面试官人很好,对于我不是很会的问题,都说没事
(1)集合框架包含哪些?collection包含哪些,队列,listl和set。问list的实现类哪些?arraylist的底层实现方法?我回答,数组实现。数组的初始长度多少?我回答10。arraylist和linkedlist的区别?后者线程安全,底层是双向链表实现。
(2)使用过什么框架,spring、springboot?我回答,springboot,但是只是使用了,对于底层不是太了解,就是使用注解方法,使编程更方便。
(3)使用过什么数据库?关系型数据库和非关系型数据库的定义、区别?我回答使用过mysql,关系和非关系的却别简单描述了一下,因为自己也不是特别清楚。初一到sql的题目给我。
表T
T(name,score,time),表中存着学生一学期内,各科目的成绩
问:学生在t1-t2时间段内,所有成绩总<=20的人,打印出他的名字,总分数,并且按照总分数成金降序排序
我:说不用太拘谨,里面时间戳和其他格式问题,能解决问题大概方法写出来就行了
select name,sum(score) from table where t1<time<t2 group by name having sum(score)<=20 order by sum(score) desc;
后来问了面试官,这对不对啊,他说,你回去写一下测试测试
(4)给个场景,spring中,接口interface A 存在很多实现类(B,C,D,E,F...)都实现了接口的方法,现在,要每个子类调用了接口中的某个方法时,要求向数据库中执行插入语句,表明调用了这个方法的记录。
额,这和上一个面试官问的问题一样。我说在spring中的话用AOP就行了,或者动态代理。面试官让我用动态代理写一遍,我说我动态代理好久没写了,他说你试试,写不出来没事,我就大概写了一下,最后实在记不清楚了,就和面试官说了写一下想法。面试官很nice
(5)泛型的作用,为什么要有泛型?
(6)最近都是怎么学习的?我就说看书,博客和教学视频课程。
然后结束,让我都等hr面。
三、hr面
(1)自我介绍
(2)对于顺丰科技的认识。(答的不好)
(3)自己的职业规划
(4)自己有什么优点,哪些还存在不足。觉得自己的学习们能够力怎么样
(5)目前有没有拿到offer或者等结果的企业
(6)预期薪资
(7)有什么想问的
总结:一二面的专业面官人很nice,态度很柔和,主要围绕你简历上提到的东西提问,没有问题太多尖锐的问题。hr面感觉自己表现的有点差,希望能拿到个offer。
顺丰科技面试-java开发的更多相关文章
- 2017年11月23日**科技面试java工程师面试总结
从整个面试看了,表现并不理想,有很多不足. 1.关于手机页面闪现问题的处理.从原理上观察,页面闪现是因为异步请求导致的.在进入页面中首先会加载默认的东西,此时也会访问数据库端,会用ajax判断是否满足 ...
- 2019最新最全Java开发面试常见问题答案总结
2019最新最全Java开发面试常见问题答案总结 马上准备9月份出去面试Java开发,自己学习丢西瓜捡芝麻,学了的都忘了,所以有机会自己做个学习笔记,摘录自各个博文以及总结. 1.JAVA面向对象的特 ...
- Java开发笔记(六十六)映射:HashMap和TreeMap
前面介绍了两种集合的用法,它们的共性为每个元素都是唯一的,区别在于一个无序一个有序.虽说往集合里面保存数据还算容易,但要从集合中取出数据就没那么方便了,因为集合居然不提供get方法,没有get方法怎么 ...
- Java开发面试总结
Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...
- 知名互联网公司校招 Java 开发岗面试知识点解析
天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...
- Java开发岗面试知识点解析
本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...
- 最近面试 Java 后端开发的感受!
阅读本文大概需要 4.3 分钟. 首发:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实 ...
- 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...
- JAVA开发工程师面试(1)
我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享.以后我需要更加努力,改掉自己的惰性.本人文采不怎么样,只能是把自己所想的说出来,想和大 ...
随机推荐
- linux 怎样关闭x server?
如果想切换至纯粹一点的命令字符console下,一般人会认为切换Ctrl+Alt+F1(或者F2-F6都可以). 默认下,Ctrl+Alt+F7是图形界面(当然,各个Linux发行版本会有所差异). ...
- Arduino基础入门—1.Hello World
1.首先是下载.安装IDE. https://www.arduino.cc/en/Main/Software 2.连接开发板到电脑. 将UNO R3开发板通过数据线连接到电脑.打开设备管理器查看驱动是 ...
- [NOI2019]序列
LOJ3158 , Luogu5470 从 \(a_1\dots a_n\) , \(b_1\dots b_n\) 中各选出 \(K\) 个数 , 且至少 \(L\) 组下标在两个数组中都被选择 , ...
- HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明
平时的Rest开发,用到的都是GET,POST,PUT,DELETE类型的请求. 但Rest支持的请求类型不止前面4种,还有其他几种. 下面部分转自: https://www.html.cn/arch ...
- java访问指示符
是否 可访问 同一package 不同package 当前类 其他类 继承类 其他类 public √ √ √ √ protected √ √ √ × friendly √ √ × × private ...
- 剑指offer14:输入一个链表,输出该链表中倒数第k个结点。
1. 题目描述 输入一个链表,输出该链表中倒数第k个结点. 2. 思路和方法 可以用两个指针,一个指针遍历到第k个结点的时候,第二个指针再走到第一个节点,然后两个指针的距离始终保持k-1.这样,当第一 ...
- 网络流Dinic--模板
#define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <cstdio>//sprintf islower isupp ...
- 关于JS原型以及原型链、instanceof的一些理解
一.JS原型 首先要区分两个概念 1.构造函数 2.实例:由构造函数通过new方式创建出来的就是实例 <script> function Foo() { } var f = new Foo ...
- MyBatis学习存档(4)——进行CRUD操作
使用MyBatis进行数据库的CRUD操作有2种方式:一种如之前所说的接口+xml,而另一种是通过对接口上的方法加注解(@Select @Insert @Delete @Update) 但是通常情况下 ...
- react 管理平台
https://open.vbill.cn/react-admin/ 开源中国:https://gitee.com/sxfad/react-admin.git GitHub:https://githu ...