前言
攒攒人品,希望早日收到tx的暑假实习offer
华为 校招 通用软件开发 已oc , 第三次测评中 。。
一面 3月3号 60分钟+20笔试
熟悉哪种语言 JAVA以及Python
算法题 最大公共前缀 (一开始用前缀树做,后续调试出了问题。时间快到改用循环做)。
如何学习一门语言(整体局部整体局部)
JAVA:讲讲集合类(讲了List、Map等主要实现类,底层数据结构主要参数主要方法)
synchronized修饰代码块以及方法的区别;synchronized reentrantlock等重入锁以及readwritelock的区别?
基本数据类型为什么还有包装类(没答上来,扯了缓冲机制)(让基本数据类型拥有对象的特性,比如在哈希表插入的时候需要有hashcode,基本数据类型是没有的。所有都是相应的包装类提供的)
如何防止超卖(一开始不知道咋回答,然后说库存不够就关闭借口;然后说减库存是在数据库层面做的,再补充了多线程情况下某些变量可以用volatile修饰保证可见性)
成就最大的项目(讲了实习负责整个算法的部署,以及找到新的框架)
了解的数据结构或者算法,以及在实际中的应用(讲了二分在实习中的应用,以及链表配合哈希表实现LRU)
进一步追问排序算法原理,何为稳定不稳定,快排是否稳定
问了下如何看待开发和测试之间的关系,测试的意义,开发是否需要进行测试的培训
请问对面试表现评价或建议:
建议1、编码本身 熟练度不够,细节调试2、算法不够扎实,可以考虑多了解算法开拓思路3测试部分,需要提高测试意识,测试用例等要考虑详尽4考虑从系统工程的角度去看待项目
整体评价还行(基础不错?)
二面 3月17号 25分钟+20分钟
自我介绍
hashMap介绍下
数据库整体,如何优化(加索引);