携程&拼多多研发面经
携程&拼多多研发面经 1 携程面经是参考我同学的面试经验写出来的,因为面试官的问题可能不怎么更新,所以有缘的小伙伴看看,说不定就面到了。 携程面经 一面: 租车事业部 1 项目讲一下 2 多线程并发读取数据库可能出现的问题,如何解决线程数不够带来的问题,我说了几种方式,一个是使用缓存,一个是使用数据库连接池,他问我能不能借助类似IO处理的方式来优化,于是我说了使用AIO异步处理。他问我有没有用过,我就大概说了一下。 3 Java的数据结构了解哪些,说一下linkedlist和ArrayList的区别,如果使用它们来存储字符串,哪个更合适呢,如果要进行字符串的增删改查和拼接操作呢。 4 多个string常量相加会有什么问题,我说会产生多个string,其实是会使用stringbuilder进行append操作,每次相加都会新建一个stringbuilder对象,比较低效。 而使用stringbuilder对象直接append则只有一个stringbuilder对象。 当使用for循环时,string相加会优化成一个stringbuilder进行append操作。 5 map是否线程安全,为什么不是呢,如何实现线程安全呢,除了用chm和hashtable还有别的方式吗,我说自己实现一个map然后重写get和put方法,加synchronized即可。 6 说几种你了解的设计模式