WXG果真名不虚传。。一面就面了两小时 当然也可能是因为我菜🤣  上来打完招呼就直接先做5道题 1.两个字符串A,B,将所有同时存在于A,B中的字母从A中剔除(HashMap) 2.一棵二叉树,判断是否存在从根到叶子节点的路径,使得路径各节点值之和等于给定值(DFS) 3.一个矩阵,按行递增,按列递增,判断一个数是否存在于该矩阵中(剑指offer原题) 4.求比整数N小的所有正整数中,各位数字乘积最大者,如输入220,返回199(没做出来,好像其他腾讯面经里也有这道题,据说也是剑指offer原题) 5.在N*N矩阵上随机取三个点A,B,C,用多段横线、竖线将它们连起来,要求各线段长度之和最短 (我想到可以平移成max(x)-min(x) + max(y)-min(y),照着往下推就好)  海量数据题:100亿个整型数据(面试官提示,100亿不重要,反正很多),乱序,100M内存,无外存(也就是不能写入到文件),求中位数 我提出用HashMap,面试官补充说没有硬盘 我提出用BitMap,面试官说100亿个你装不下的 他提示我,怎么用多轮处理,找到它大概的范围,我没get到 最后他又提示,可以二分,整型上限40亿,可以统计0~20亿,和20亿到40亿的个数,然后每次排除掉一半,但是太慢,怎么继续优化 我说N分,他说那N是多少?划分出来的区间,最小能是多少? 我说一个字节对应一个区间,但是很快发现最坏情况下,一个字节装不下 挖到这里没有继续往下挖了,面试官说反正到了这一步就是怎么分配单个区间大小的问题  开始问基础: 操作系统: 1.什么是线程安全? 2.操作系统层面,如何保证线程安全?说了锁和信号量,还有呢? 3.了解协程吗?你平时写一个程序,是多线程还是多进程?为什么不用多进程? 4.什么是内存碎片?如何解决?  数据结构: 1.Java Map有哪些实现?HashMap底层是什么数据结构,有什么好处,什么缺点?TreeMap底层是什么数据结构,有什么好处? 2.哈希表有哪些解决冲突的方案?(讲了开放寻址、链地址、二次散列)  网络: 1.四次挥手为什么是四次,不是三次 2.记不太清了,大概是问TCP绑定端口写网络编程的时候,是用select,poll,还是epoll  项目: 挑一个介绍,背景,亮点? 如果用户下订单的时候,后台已经写入数据,但是随即用户断网了,丢包,如何避免用户以为下单没成功,再下一个重复的单?  希望能有二面。。
点赞 17
评论 19
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务