浅记录一下我的第一次面试。没想过会投大厂的,感谢我的师姐给了机会给我内推!师姐找了我后拖了很久才投的,因为算法和八股都还没准备不太敢投,我的算法从3月底开始刷,现在刷了差不多250,八股是五月开始背的,4月28投了简历。
问答环节
代码考核
实现超出整数存储范围的两个大正整数相加
//
function add(a:string, b:string):string
console.log(add('123456, "5678'))//输出129134
做完问我时间复杂度和空间复杂度,能不能进行优化
1.给定一个链表,判断该链表是否为一个环
2.给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null
做完问我时间复杂度和空间复杂度,空间上有没有最优解法
有个m *n的矩形,每次只能向下或向右移动—格,问从左上角到右下角有几种方式
console.log(getcount(1,3)) //输出1
console. log(getcount(4,1)) //输出1
console.log(getcount(2,2)) //输出2
console.log(getcount(3,2)) //输出3
console. log(getcount(4,3)) //输出10
刚开始用递归超时了,面试官提醒后用动态规划,做完问我时间复杂度和空间复杂度,空间上有没有更优的解法
最后是反问环节
面试差不多57分钟,面完24小时后收到下一轮面试的邀请
因为摄像头坏了,所以跟别人借的电脑,忘记录屏,所以只能凭记忆来写了,后面有想到再补充在评论吧
问答环节
代码考核
请把两个数组[‘A1’,‘A2’,‘B1’,‘B2’,‘C1’,‘C2’,‘D1’,‘D2’]和[‘A’,‘B’,‘C’,‘D’]合并为[‘A1’,‘A2’,‘A’,‘B1’,‘B2’,‘B’,‘C1’,‘C2’,‘C’,‘D1’,‘D2’,‘D’]
刚开始不太清楚排序规则,然后问了面试官,规则就是先按字母排序,再按字母后面的数字排序,没有数字的字母在最后。想了20分钟,屏幕还是空白的。本来想放弃,最后硬着头皮写出来了。
sum(1, 2, 3).sumOf(); //6
sum(2, 3)(2).sumOf(); //7
sum(1)(2)(3)(4).sumOf(); //10
sum(2)(4, 1)(2).sumOf(); //9
又脑袋空空硬着头皮写了一点后,面试官问我是不是没了解过柯里化,我说是,然后他给我换了一题
返回 [ [5, 4, 11, 2], [5, 8, 4, 5] ]
树的结构:
{
val:5,
children:[{
value: 4,
children:[
{
value: 11,
children:[{value: 7},{value: 11}]
}
]
},{
value:8,
children:[{
value: 13
},{
value: 4,
children:[{value: 5},{value: 1}]
}]
}]
}
最后问我能实习多长时间
大概面了一个多小时,因为第一题算法做了很久,面完在十分钟内就收到了下一轮面试的邀请
也是只能凭记忆来写了,没有算法和八股
最后是反问环节,我问了好几个问题,问了她对我的评价,她觉得我有点内向;问了需要什么时候入职,8月想转正的话需要实习两个月以上
大概面了45分钟,HR是个大美女!!!她超漂亮!!!最后我还夸了她!!!
总结
面试的时候说三个工作日会收到结果,但是到现在还没收到,所以我问了师姐,她说综合了两轮面试选择了更优秀的人,很可惜。一开始确实没想过会到hr面,已经很幸运了。反思一下,确实准备时间不是很长,八股文答得马马虎虎,要继续努力,算法也要继续提升,答不出问题的时候真的很想挖地洞!希望下一次能圆满~