java面经,金蝶/thoughtworks/迅雷/浙商银行
金蝶
为什么要转行
学习过程如何学习java
string/stringbuffer/stringbuilder区别
抽象类和普通类,接口区别
设计数据库原则(三大范式)
索引失效
thoughtworks
做作业,无人机在矩形区域飞行,每次可以对一个十字形区域拍照,规划飞行路线(优化要求减少飞行路线或者拍照次数)
只回答了简单的奇数列飞行和间隔拍照的方法,面试之后才知道还可以斜着飞
迅雷
基本都是场景题
数组链表区别以及适应应用场景
1000杯水找出有毒的一杯最少使用几个小动物(可以混合水)
一亿个数字找出第k大,小根堆,追问如果k很大而内存有限,分成n分进行外部排序(一开始没说出外部排序这个术语后来回想才记起来的)
PS:对于较小的数组可以使用O(n)的时间复杂度完成求解https://leetcode-cn.com/problems/kth-largest-element-in-an-array/
求某一个目录下所有文件名,回答递归,追问递归深度太大怎么办,将中间结果暂存,继续追问用什么结构暂存,栈(本来感觉随便社么结构都行,但是递归最好还是回答了栈)
浙商银行
介绍项目遇到的问题
redis的优缺点
有没有其他项目
有没有实习
讲一下多线程,讲了定义,优点,保证线程安全的方法,线程通信方式,然后时间到了
PS:还有两个问题,还没开始回答就被另一个面试官打断了,项目的功能以及单点登录