楼主有两年java开发工作经验,因为喜欢折腾,不安于现状,所以选择社招
一面:
同方知网总部(北京)在东升科技园那块,然后又A栋楼和B栋楼都会有同方知网的工作人员,如果联系的是HR,那么会首先去A栋楼找你联系的HR,接着领一份题去做,一面笔试题入下:
1. JVM垃圾回收机制以及四大算法优化策略是如何实现的,新生代和老年代
2. 事务隔离级别,清楚地描述事务的每个隔离级别,随机找出一个进行提问细节
3. 线程池,这块有个大题是去涉及一个线程
4. Java常用的设计模式之单例设计模式,包括懒汉式和恶汉式,哪个是线程安全的?常用哪个?双检锁机制的代码coding(现场写一个
5. spring动态***的两种方式是什么?请分别描述一下细节?平时我们用哪一种?平时在项目中用到了吗?能否结合项目来描述一下?
6. 1.8版本的jdk新特性你用过吗?正则表达式是否了解?描述一下
7. HashMap遍历元素的两种方式?HashMap的数据结构能描述一下吗?put的过程?get的过程?什么时候触发resize()?
ConcurrentHashMap的实现机制以及锁分段技术
8. java内存泄漏?描述一下场景?
9. java的序列化和反序列化?什么作用
10. mybatis中的一级缓存和二级缓存?在项目中的应用
mybatis中的关系映射?
11. 分布式序列数据库用过吗?怎么设计的了解吗?
12. Mysql中如何实现分页的,结合项目来写一个sql?Oracle中又是如何实现的,能否结合项目中用的来具体说明一下?
Mysql的存储引擎了解吗?Innodb?
sql优化都有哪些?你们项目中用了哪?具体描述一下
13. volatile和Synchronized的区别是什么?
14. IO流,如果是想导出报表用到字节流还是字符流?具体是哪个?代码实现?
然后做了一些题之后,如果通过了,HR会让你联系B栋楼的人去进行二面,B栋有很多做研发的部门
二面:
二面主要是他们的项目主管来面试,因为同方知网这个部门做的是知识问答系统,这个涉及到的是Ai的分支,进去后是往AI方向发展的
1. 让我设计一个知识问答系统,问下有什么思路,具体怎么做,哪一部分都主要做了什么?
2.问一下你的做过哪些项目,比如我说我做过一个项目中的秒杀系统模块,他就会问你你这个项目设计方面懂吗?用到了哪些技术
3.这次面试,面试官还会针对你一面时做的题来提问题,比如有个题没有写出来,为什么没写出来是哪方面欠缺了,即使你都写出来了,面试官就会随机挑一个他觉得比较难的问你看你是真正懂里面的逻辑了吗?
4.常用的linux命令,比如如何查看8080端口是否被占用?以及如何查看一个进程是否成功启动了?如何查看实时日志?这些linux命令不仅运维的人要熟悉,做开发的也要熟悉,检验你的功底
5.索引相关,平时用过索引吗?具体用了哪些索引?索引一定会提高数据库查询性能吗?
6.说一下你项目中做的登录那块的逻辑,包括前台后台如何进行交互的?考察你的代码逻辑是否具备.
二面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术.
三面:
一面和二面都通过后跟HR小姐姐谈工资进行三面:
1. 你目前住在什么地方
2. 为什么考虑CNKI(同方知网)
3. 之前面试了几家了
4. 考虑长期留在北京吗
5. 有没有对象
6. 最快入职时间
7. 学历学位认证
社招不同于校招,感觉还是挺残酷的,希望社招的同学加油,希望参加校招的同学珍惜这次机会,社招真的要比校招难
虽然同方知网跟其他许多大厂还是没办法比,但是看每个人的追求了,我的是面试通过了,不过最后薪资谈的有点低所以没去,薪资给了税前10k(这个大家不喜勿喷吧,我面试的时候就是这个价位,可能我自己太菜,大神可以绕过),然后其他有项目奖金,三个月试用期.
所以接下来我的目标就是搞懂底层代码实现,比如HashMap源码实现逻辑......