顺丰科技面试-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)
我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享.以后我需要更加努力,改掉自己的惰性.本人文采不怎么样,只能是把自己所想的说出来,想和大 ...
随机推荐
- 19 个让 MySQL 效率提高 3 倍的 SQL 优化技巧
优化成本: 硬件>系统配置>数据库表结构>SQL及索引 优化效果: 硬件<系统配置<数据库表结构<SQL及索引 本文我们就来谈谈 MySQL 中常用的 SQL 优化 ...
- Awvs–网络漏洞扫描工具
Awvs漏洞扫描自动化 在WEB安全方面,安全侧使用Acunetix_Web_Vulnerability_Scanner_11.xWEB漏洞扫描工具定期手工对m站和www站进行全站漏洞扫描. 为了防止 ...
- manjaro Docker环境配置记
1.系统配置如下: ‘by: /home/inkhin/桌面/深度截图_选择区域_20191004145104.png [吐槽: ChromeLinux版居然不能用博客园TinyMce的上传图片功能] ...
- webdriver(处理select下拉框元素)
"""处理下拉框""" from selenium import webdriver from selenium.webdriver.com ...
- 【miscellaneous】使用Google语音识别引擎(Google Speech API)[3月5日修改]
原文:http://blog.csdn.net/dlangu0393/article/details/7214728#comments 近期重写本文,暂时禁止评论. 最近在使用Qt编写一个客户端程序的 ...
- (生鲜项目)08. ModelSerializer 实现商品列表页, 使用Mixin来实现返回, 以及更加方便的ListAPIView, 以及分页的设置
第一步: 学会使用ModelSerializer, 并且会使用ModelSerializer相互嵌套功能 1. goods.serializers.py from rest_framework imp ...
- codevs 1048/洛谷 1880:石子归并
题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1].问安排怎样的合并顺序,能够使 ...
- vue 结构赋值
- 使用power designer,PL/SQL,cmd建立oracle数据库
这一系列操作需要powerDesigner,PL/SQL工具 1.首先使用powerDesigner建立概念模型 2.概念模型界面例子 3.其中建立概念模型操作图标详解 4.建立物理模型 5.生成数据 ...
- 【AtCoder】ARC060
ARC060 C - 高橋君とカード / Tak and Cards 每个数减去A,然后转移N次,每次选或不选,最后是和为0的时候的方案数,负数可以通过把所有数右移2500做到 #include &l ...