3.20阿里暑期实习一面

📍面试公司:阿里爱橙科技

👜面试岗位:暑期实习

📖面试问题:

  • 自我介绍
  • 八股挑个熟悉的,虚拟内存和物理内存?
  • 为什么要有虚拟内存?答了进程间互不干扰;进程更大运行空间;进程内地址分布(堆、栈等);没有答到点子上,共享相同内核态内存
  • STL挑一个介绍?vector
  • vector动态扩容如何实现的?
  • 拷贝到新的空间花费较高,设计新的数据结构,保证随机访问O(1)复杂度的同时,避免拷贝?答了deque的设计思路,多个连续内存的固定大小块,中心表用map存块首地址。
  • 在这个结构的基础上,如何实现O(1)的随机删除?答了在块内部删除元素、元素左移,此时也需维护每个块的大小。
  • 如果采用标志删除法,该如何做?中心表需要保存每个块删除的元素的下标(比如查找元素22,第一个块内删除了下标2、3,那么实际在第二个块内对应元素下标为22+2=24,若24也被删除,往后找到第一个未被删除的)
  • 2个球,100层楼,x楼往上开始扔,鸡蛋会碎,x楼往下鸡蛋不会碎,最快找到x?答了二分和以10楼层分块,没有答出最优解法
  • 手撕:string类型的两个非负整数求和,结果也为string,需要注意string很长。注意保存进位,在引导下debug了多次呜呜。

🙌面试体验:

  • 诚意满满,先介绍部门,整体上也不问为难的八股,比较注重设计思想和理解程度。总体下来一个半小时,面试官非常认真。
#软件开发笔面经#
全部评论

相关推荐

也是离谱,说约面的时候说安排个笔试,飞猪前面没笔试,我以为真就是只笔试,连会议室都没找直接在工位等着做了。。。没想到到点发过来一个阿里系独特的链接+一通电话让边做边讲思路。。最后在聊天框里和面试官交流思路。算法1.   一个字符串由'(' ')'和'*'三种字符组成,*可以是'(',也可以是')',还可以是'',判断这个字符串括号是否合法算法2.   第K大的数学生表 X Xid课程表 Y Yid Zid老师表 Z Zid name选课表 W Xid Yid score sql1 求所有学科平均分大于60分的学生idsql2 求上平均分最高的课程的老师名字shabi飞猪,第一个面试挂的,估计是觉得我没开声音有概率作弊了    public boolean checkValidString(String s) {        int left = 0;        int right = 0;        int t = 0;        for(int i=0;i<s.length();i++){            if(s.charAt(i) == '('){                left ++;            }            if(s.charAt(i) == ')'){                right ++;            }            if(s.charAt(i) == '*'){                t ++;            }            if( (left + t) < right){                return false;            }        }        if(Math.abs(left - right) > t){            return false;        }        left = 0;        right = 0;        t = 0;        for(int i=s.length()-1;i>=0;i--){            if(s.charAt(i) == '('){                left ++;            }            if(s.charAt(i) == ')'){                right ++;            }            if(s.charAt(i) == '*'){                t ++;            }            if( (right + t) < left){                return false;            }        }        return true;    }贴下第一题题解,简单易懂,原题lc678,lc扫了一眼解法又晦涩又难懂,不是人能看的
查看4道真题和解析
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客企业服务