今天下午去了位于钟鼓楼旁边的 vipkid 研发部进行了面试,面试过程中的回答只能说一般,面试官问的问题大概分为:
- 实际项目的设计问题
- mysql的使用优化问题
- 多线程与锁的问题
- JVM底层原理的问题
- hashmap 以及 concurenthashmap 实现以及使用问题
基本上就这些了,并没有算法方面的问题。除了第三点和第五点能说的全面一点,其他三点我基本上是没回答多少。没办法,个人能力太差。面试官人还不错,然后说我基础还行,但是他们组现在想招几个高级工程师,不要我这种初级的,所以只能推荐给其他组试试了。那试试就试试吧。。。
实际面试问题:
- 说一个自己曾经做过的项目的架构。然后我说了一个app项目的后台服务
- 然后说一下app项目的后台服务都有哪些特点?
- 如何做到接口的安全性,不被越权?
- 如果大批量用户刷接口,怎么处理?
- mysql 的索引种类以及用法?
- Java 和 mybatis 如何防止 sql 注入?
- java 防止并发的措施?
- 原子类的实现原理?
- 线程池原理
- JVM 内存结构?垃圾回收相关?jvm 垃圾回收的入口?
- hashmap 以及 concurrenthashmap 的实现以及使用问题?
- 如果cpu占用率较高,如何分析出哪个进程?top命令进行查看;如何分析出是java的哪个线程呢?