1. JVM了解吗,说一下内存模型,为什么开发者很少自行管理内存,如何定位一个对象是garbage,G1是怎么运转的,如何解决相互引用,你说的引用是怎么存储的,JVM编译.java的过程,对象存储在哪,字符串是怎么存储的,堆里存储什么2. 进程和线程的区别,进程在内存中的存储结构、线程的结构、为什么要用线程、什么时候用进程什么时候用线程3. git命令、linux命令 查看动态文件、vim命令4. 写一个程序判断一个字符串是否是合法json,感觉比较难的,考虑了一下有限状态机,感觉可以实现,但是15分钟写一个词法分析器+语法分析器感觉不太可能,当时比较懵,写了个括号匹配面试官人很好,第一次遇见介绍业务团队背景如此详细的,答错的会适当指正。======二面:1. 项目经历2. 从需求分析到开发的过程3. 弗洛伊德算法的流程、Dijkstra算法的流程以及时间复杂度是多少4. 动态规划的特点5. 从0开始,实现dijkstra算法(vim上写了20分钟左右,思路没问题,但是还需要点时间,面试官说没事思路是对的 代码风格也很好。6. 能实习多久,互问OC#开发面经##面经历##蔚来汽车##面试题##算法#