非科班面试阿里,拼多多,银行都问了些啥?

发布于: 2020 年 08 月 13 日
非科班面试阿里,拼多多,银行都问了些啥?

笔者非科班转行,两个月拿了十多个offer,其中包括了互联网大厂,央企,国企,银行等,下面看看都面了什么(部分回忆)。总之,在面试国企等企业时,会有一些有意思的问题,也会出现群面的场景。本文收录于面试集锦



1 阿里一面



  • 指针和引用的区别

  • define和const

  • 内联函数和define

  • c++内存管理

  • 栈和堆区别,全局变量和局部变量

  • c++多态,虚函数,纯虚函数

  • 多态的好处

  • 数据库索引,给一个语句问有没有用到索引,底层怎么实现的

  • B树和B+树

  • 哈希冲突

  • 说一说常见的排序算法和时间,空间复杂度

  • TCP,UDP,可靠传输,网络什么时候拥塞

  • 为什么要内存对齐

  • 非对称加密和对称加密



2 电信研究院



  • 操作系统linux会用吗,用啥系统

  • static变量和局部变量知道不

  • 内存溢出

  • 服务器什么操作会不

  • c++用的多吗

  • 想做什么岗位

  • linux命令会吗

  • epoll和select

  • sed和grep知道不

  • awk

  • 有什么爱好

  • 你会打桥牌?

  • 台球打的不错吗?

  • 篮球会不会

  • 王者荣耀啥段位

  • 喜欢玩啥位置

  • 哪个实验室的,导师叫什么

  • 过两天来你们学院,记得过来



这个。。。。



3 拼多多



  • 你会gdb调试?说一下gdb调试的原理

  • 你用过git,讲一下原理

  • 你熟悉哪些linux命令,回答了解复制之类的,然后问,cpu的原理你讲一下

  • https1.1和2.0的区别,答出来了,为什么,怎么实现的?

  • c++11有哪些特性,你实现一下shared_ptr

  • tcp为什么可靠?tcp重传的时间怎么设的,(一个消息都得不到ACK)

  • 多线程怎么进行调度

  • 用过mysql吗,说一下B+树

  • 这是你的笔试题啊,考察一下你的算法吧,这个第三题你做错了,有思路吗,说没有,那你现在想一下

  • memcpy写一下

  • strcpy写一下

  • 了解c++多态吗,那你用c实现一下。

  • 操作系统忘了。



4 腾讯TEG



  • 擅长的语言(C语言,C++),对C++的了解程度



  • Linux的项目平台经验多吗?



  • malloc和new分配内存的区别



  • malloc内部的实现原理



  • malloc能够分配的最大内存空间(32位)(提到了段),如果申请了2G的内存,会立即与物理地址对应吗,如果不会,往里面写数据的时候是否会产生缺页中断



  • 如何查看段的范围和大小



  • elf目标可执行文件的组成部分,elf文件中的段跟运行时的段有什么区别



  • 如何装载目标文件到内存当中



  • 缺页中断的处理过程



​ 提到了换页换出的时候会产生缺页中断,反问是否一定是换页产生的吗?上面提到的未分配空间呢?



  • 这种缺页中断在系统和硬件中是由哪些CPU,寄存器参与的。



​ 提到了MMU,CR3寄存器



  • 为了加快页表的转换,会使用一些什么样的硬件和软件



  • 了解大页内存吗?它是什么概念,有什么优点和缺点。



​ 优点:减少页表



  • 对于汇编这部分了解多吗?C语言的函数调用在汇编的角度是怎么实现的?



​ 提到了ebp,esp函数栈,jmp跳转



  • Linux库函数memcpy,能不能想出比较高效的内存拷贝方式。除了按字节拷贝还有没有性能更好的方法。



  • Linux上运行的进程的CPU有什么组成部分,整体的CPU占用和每一块的CPU的占用。怎么用top去看一个进程的CPU占用的组成部分。(是不是做的性能优化这部分的工作比较少)



  • C++ STL里面有很多性能优化相关的类,这个你了解吗?STL的string类本身有多大,如何保存字符串的?vector如何动态扩展空间?



​ 提到了size()和capacity(),但是发现这个问题答错了



  • 挑一个研究的最深的技术点。挑自己最擅长的说,比如说网络编程、系统内核啊等等



  • 乐观锁和悲观锁的区别



​ 提到了CAS



  • 问到了CAS的应用场景,CAS允许有短暂的访问迟滞吗?



​ 提到了读商品和写商品(然后发现场景错误)



  • CAS为了实现锁的原语,在Linux系统上是怎么去实现的?



​ 谈的是RING中的源码,使用多个struct,但是他说没有谈到点上,想问的是背后原理(汇编也好,x86架构上也好)(可能是单句汇编语言,或者是总线锁)



  • volatile关键字的作用?主要是为了解决什么问题?为了防止编译器进行哪种方式的优化?



​ 为了防止编译器优化,最核心的是做了什么优化,怎么理解直接去读这个值



  • 缓存是一个什么样的硬件?



  • 寄存器也算是缓存的一部分吗?



  • CPU访问寄存器、访问缓存、访问内存哪个快?访问的时间周期是多少?快多少倍?



  • 本科、研究生、实习做的项目和事情中哪个事情比较满意,能够体现自己的能力的?



  • 技术也好、做事情的方式也好的优势和劣势?



  • 你是哪个地方的人?为什么不参加实习生的招聘?



  • 你有什么问题吗?



5 某行



  • 你知道预编译吗

  • 你说了define,那你说他和函数有啥区别

  • 哪个更快,为啥

  • 你提到了栈,那你说一下栈和堆

  • 你实习过吗,华为实习主要做啥

  • 你们班有几个人实习了

  • 做了一道简单的算法题

  • 有没有转正

  • 加班吗

  • 你想做什么方向,c++还是java还是python

  • 毕设做什么

  • 几个人做

  • 数据库会吗

  • 机考做了几道题

  • 家在哪里

  • 打算在哪里工作

  • 喜欢武汉吗

  • 有女朋友吗

  • 差不多就这些



6 追一科技



  • 为什么不用CNN,用LSTM

  • LSTM为什么可以缓解梯度消失

  • 什么是梯度消失和梯度爆炸

  • 为什么要提取时序信息

  • 说一下RNN和CNN

  • 你说一下虚指针

  • 写一下单例模式

  • 别的进程可以访问这个进程的创建的单例模式的实例吗

  • 你说一下内存泄漏

  • 有几个虚函数表

  • while(1)死循环

  • attention机制

  • 说一下继承中的构造函数和析构函数

  • 野指针讲一下

  • 你学过哪些课程,那你说说红黑树

  • 你说一下平衡二叉树怎么插入一个结点

  • TCP怎么重传

  • 共享内存为什么可以实现进程通信

  • 每个进程都有自己的内存,为什么可以访问共享内存

  • 你知道希尔排序吗,比直接插入排序快吗,为什么,时间复杂度平均多少

  • 单链表快排

  • 写一下反转单链表



7 总结



如果尝试国企,研究所,银行等,可以通过提前参加他们的培养生计划,这样进入机会会更大。当然,如果你是985,进入这些企业的几率确实会更大的,谁让人家是985对吧,我们不得不为自己曾经的不努力买单。但是机会一定是给时刻准备着的小伙伴,so,冲吧!资料整理在下方文章,你的star是我最前进的动力



学习资料教程汇总



发布于: 2020 年 08 月 13 日 阅读数: 89
用户头像

公众号【我是程序员小贱】干货分享 2019.10.15 加入

计算机小硕,热爱分享

评论

发布
暂无评论
非科班面试阿里,拼多多,银行都问了些啥?