从 17 年的大三暑假就在这家公司实习转正,在这家公司呆了快2年了,随着公司新一轮的融资,看起来公司离上市更近了一步,但期权池也进一步稀释,没有期权的我感觉回报更少了,另外在这家公司接触到的东西也有瓶颈了,工作也非常轻松,想要进一步提升,就有了离职的想法,严格来说,2017.6~2018.5 其实毕业还不到一年,姑且算 1 年经验吧。
 
先找了几个高端一些的岗位,挑些了自己懂的技术关键词(JVM\多线程\搜索什么的),放在了简历里面,在拉勾和传销BOSS上投了一个星期的简历后陆陆续续的收到了一些面试通知:
 

Day1:

上午:

某互联网大厂,反正是 top3 大厂中的一个,面试了2轮:

第一轮面试:

  1. 说下 Java 内存模型的组成和各部分的作用
  2. Java 类的加载机制
  3. 说下几个线程池的类别和特点以及实现原理
  4. 链表和 ArrayList 的区别
  5. Android 的消息机制
  6. Android 中需要更新 UI 需要做什么操作?
  7. TCP 握手挥手过程
  8. ……
基本上都答上了,还有几个多线程的问题具体的不太记得了
 

第二轮面试:

只有一个主要问题:
如何设计一个大文件下载系统的服务端和客户端,每次下载的文件大小约好几G,请设计好客户端和服务器端的实现。
 
拿到题目有点懵,不太清楚要考什么?没答上来,后面提示的考点是怎么处理并发问题和读写速率不一致、IO、OOM、线程占用。到现在也不知道到底怎么实现,
然后首战就跪了……
 

下午:

某初创企业,好像是建立初始团队吧?
 
  1. CPU 占用不高,服务假死,除了full Thread\连接数满 还会有什么原因
  2. 数据库的索引有什么用?是怎么提升效率的?底层数据结构是什么样的?两个字段同时查询是分开建索引还是一起建索引快?
  3. AQS 原理
  4. volatile
  5. 如何排查 OOM
  6. copyOnWrite是怎么保证并发的, 里面的 copy 是怎么实现的
  7. 垃圾回收算法
  8. 什么时候用有界队列\什么时候用无界队列
  9. 怎么手动实现一个缓存
  10. 说说你平时怎么 SQL 调优的,应该关注什么
  11. 说一下支付流程
  12. 数据库分表操作过长,在不停止服务的情况下,应该怎么操作
  13. 乐观锁悲观锁
 
依然好难……只回答了个70~80%
 
第一天面试结束,倍受打击,感觉公司不会因为你是1年经验就降低岗位要求,也让我觉得自己是不是在之前的公司太轻松了,什么都没学到。

Day2

没有面试,到处转了转。

Day3

某教育 C轮企业,知名度高,HR 小哥哥人很好,面试官一直黑着个脸
面试:
  1. TCP 握手挥手
  2. 数据库连接池
  3. 讲述你理解的JVM(从类的加载到逻辑执行到被垃圾回收)
  4. Linux怎么查看某进程CPU占用高是它的什么行为导致的,如 i/o等。
  5. 100w个数字取最大的100个的算法,以及算法复杂度
  6. 如何查看特定进程的连接数
  7. tcp/ip的过程,是如何保证数据有效性的。
  8. 如何查看order by 走了什么索引
  9. 同步方法和可重入锁的应用场景和区别
  10. 说一下object.wait()是干嘛的
  11. innodb的b+树的叶子节点上是什么
 
答上了一部分,面试官喜欢问 linux 的东西,我不是科班的,平时只会ssh、tail、less 、top、netstat 什么的一些常用的命令,对于其他的原理的都不知道,面试官一直黑着脸,答上来了没答上来都是冷冰冰的,感觉和他工作合作起来会很不舒服,另外了解到这里的HTML和CSS\JS 都要后端写,没有DBA和运维,都是开发自己写,也不喜欢。整体上来说,我和面试官都不舒服。
 

Day4

某知名博客,初创业务线,小程序方向(依然是后端开发)
笔试+面试
  1. Java 内存模型 GC 算法
  2. Session & Cookie 区别联系
  3. Session 生命周期
  4. 多服务器 Session 管理
  5. shell 编程细节
  6. Java 的静态域理解
  7. Hibernate 懒加载
  8. Hibernate 1、2级缓存区别
  9. Struts 2 与Spring MVC 的原理区别
  10. XSS
  11. SQL 安全
  12. 从0 开始实现秒杀系统如何设计
  13. 小程序分享码怎么设计
  14. 谈谈 JVM 加载类到GC的过程
  15. IOC 原理
  16. AOP 原理
  17. Spring MVC 原理
  18. 口述小程序支付流程
 
除了 Shell 编程细节没答上来,其他的基本上都回答的挺满意的,不过公司是996,但工资和我上家 965 的差不多,所以谈薪资的时候基本上没谈拢。
 
 
 
整体上来说,面试效果真的不好,每次面试都是一次打击,失落感满满,但通过这次面试发现自己有很多东西不会的,甚至有些后悔辞职了,或者说后悔在上家公司呆了2年太安逸了,如果能早点开始学习 JVM 等相关的知识点的话,这次面试也许会轻松一些,不过整体来说,还是能让自己找到一些学习的方向和动力,希望之后也能学习更多知识!

1 年经验 Java 求职面试题的更多相关文章

  1. 【转载】 Java线程面试题 Top 50

    Java线程面试题 Top 50 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员 的欢迎.大多数待遇丰厚的J ...

  2. Java线程面试题 Top 50 (转载)

    转载自:http://www.cnblogs.com/dolphin0520/p/3958019.html 原文链接:http://www.importnew.com/12773.html   本文由 ...

  3. Java线程面试题 Top 50

    转自:http://www.importnew.com/12773.html 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java ...

  4. 【多线程】Java线程面试题 Top 50(转载)

    Java线程面试题 Top 50 原文链接:http://www.importnew.com/12773.html   本文由 ImportNew - 李 广 翻译自 javarevisited.欢迎 ...

  5. Java线程面试题 Top 50(转载)

    原文链接:http://www.importnew.com/12773.html 本文由 ImportNew - 李 广 翻译自 javarevisited.欢迎加入Java小组.转载请参见文章末尾的 ...

  6. [ImportNew]Java线程面试题

    Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发.调试.优化经验,所以线程相关 ...

  7. 50个Java多线程面试题

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者 ...

  8. Java线程面试题 Top 50【转载】

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.大多数待遇丰厚的Java开发职位都要求开发者精通多线程 ...

  9. 15个顶级Java多线程面试题及回答

    Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分.如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程 的问题.在投资银行业务中多线程和并发 ...

随机推荐

  1. Jedis操作Redis--SortedSet类型 (会自然排序)

    /** * SortedSet(有序集合) * ZADD,ZCARD,ZCOUNT,ZINCRBY,ZRANGE,ZRANGEBYSCORE,ZRANK,ZREM,ZREMRANGEBYRANK,ZR ...

  2. jenkins创建构建任务

    构建项目类型 点击 Jenkins 首页 “创建一个新任务” 的链接, 输入任务名称 Jenkins 提供了六种类型的任务. 构建一个自由风格的软件项目 这是Jenkins的主要功能.Jenkins ...

  3. php方法重载

    php方法重载   <?php/* * php面向对象的重写与重载重写:就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用 ...

  4. linux 图解常用的云运维监控工具

    随着新技术的不断发展,云服务已经互联网企业的必须,但是长期以来会存在传统物理主机和云主机.私有云和公有云并存的状态.此外,互联网企业的发展速度非常快,小米.滴滴出行等很多企业都是在短短几年内发展起来的 ...

  5. MySQL (一)(未完成)

    并发控制 读写锁 读锁: 共享锁 写锁: 排它锁 颗粒度 表锁,MySQL中开销最小的锁 行锁,MySQL中开销最大的锁 事务 ACID特性 原子性(Automatic) 隔离性(Isolation) ...

  6. 远程连接MongoDB数据库

    不使用用户名和密码 安装MongoDB后,默认不使用用户名和密码即可在本地登录,如需远程登录,只要修改/bin/mongo.conf文件即可

  7. JD上市前内情:李彦宏雷军柳传志拷问刘强东

    这篇文章是京东上市前夕,在某个会议上刘强东与柳传志.李彦宏.雷军等大佬们的闭门交流实录,由于当时京东正值上市敏感期,文章没有被发出来,现在京东上市了,我想,大家可以看看几位商界大佬对刘强东的“犀利拷问 ...

  8. [PHP] 从 PHP 5.3.X 迁移到 PHP 5.6.X不兼容点

    从 PHP 5.3.X 迁移到 PHP 5.4.X不兼容点: 1.不再支持 安全模式 2.移除 魔术引号,设置 magic_quotes_gpc 系列将不会生效 3.Salsa10 和 Salsa20 ...

  9. HDFS学习

    HDFS体系结构 HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点(NameNode)和若干个数据节点(DataNode)(如图所示).名称节点作为中心服务器, ...

  10. k:特殊的线性表—队列

    队列的概念:  队列是另一种特殊的线性表,它的特殊性体现在其只允许在线性表的一端插入数据元素,在线性表的另一端删除数据元素(一般会采用在线性表的表尾那端(没被head指针所指的那端)插入数据元素,在线 ...