微店面经(12月12更新,已经面完三面和HR面)
一面:(一面面试官是算法组的,搞机器学习之类的)
先是简单聊了聊天,然后直接一堆代码题
第一题:
给个字符串,给个分割标志(字符),返回一个字符串数组(先用的C
字符串流,结果解决不了"",和字符串之间的空格),之后准备先计算分割符数量,再计算(被面试官鄙视了,能不能想清楚在写,最后终于写出来了,真的压力好大)
第二题:
给两个long型正整数,计算相加的进位次数
这个题目难度不大,除了点小瑕疵还是写出来了
第三题:
集合的子集问题,一个n个元素集合的子集个数,生成方法(说了个位向量法)
第四题:
换零钱DP问题,求最大可能数和换钱的最小张数
秋招第一次感觉压力这么大
二面:(二面面试官是做风控的)
先是自我介绍:balabala。。。
问了一些项目的问题:
项目中遇到的难题,怎么解决的
针对项目提出了一些问题(答的不太好,我项目是学的中级课的,并没有花太多时间去细扣)
对项目有什么改进
问了很多java基础:
hashmap和hashtable的区别
java堆内存和GC算法(新生代,老年代,讲了讲分代收集算法)
java的反射(我对反射还停留在概念上,说出了完全通过运行期确定对象和类,说了AOP里运用了反射,简单的说了说类加载器)
问了同步与异步的使用场景(我答的同步是为了线程安全,异步是为了优先满足响应速度,举了简单的例子)
一般java堆会分配内存的多少,貌似想考jvm的实际调优经验(并没有过jvm的实际调优)
对java io的了解程度(对java io用的非常少,答的非常差,就说了说字节流和字符流)
java线程的创建方式(继承Thread类,实现runnable接口,实现callable接口)
java中的内存泄漏(举了个例子,扯了扯引用可达算法)
问了几个数据结构和算法的题:
1.判断两个链表是否相交(用了哈希表不满意,提示下懂了,直接遍历比较尾节点)
2.一个数组中除了一个数只出现一次以外,其他都出现了两次?如果有两个数只出现一次?(异或解决)
写字符串最长回文串子串长度的代码
用的manacher算法写的(感谢牛客,感谢左神,让我掌握了这个算法)
面试官让我讲思路(我扯了半天只能说清大概,代码很短,但是真的不好讲(太佩服左神了))
面试官让我讲思路(我扯了半天只能说清大概,代码很短,但是真的不好讲(太佩服左神了))
最后问我有什么问题:
问了如果通过后面还有几轮面试(还有一轮技术面,leader面(微店战线好长))
问了问微店的业务
问了问面试官有没有机器学习方面的建议(面试官有点尴尬,说不是这个方向的,不好推荐)
三面
问了些基础东西,懂不懂html,php,scala,机器学习,python
问了STL的vector,map
问了些linux命令 答的一般吧
问了快速幂的算法实现,又问了个斐波拉契数列的矩阵快速幂
HR面
一顿聊天
问了些性格方面的问题,职业规划,为什么选择北京之类的(PS:HR姐姐不错,给报销火车票)
#微店#