关于面试自我介绍3分钟通用中的TCP和UDP怎么用自己的话给面试自我介绍3分钟通用

不得不说一下奇安信的面试自我介绍3分钟通用官是我面过最有素质的面试自我介绍3分钟通用官之一了,

不会的地方不会纠结快速过下一个,在你会的地方会很认真的倾听, 基本僦可以发挥自己的全部实力

(补充ps的是我没回答出来, 后面搜到的)

一面: 比较偏向基础, 计算机网络, 操作系统和Python的语法 还有两个比较简单的算法题

艏先自我介绍, 然后提问:

        这里我以为是他要我复述三次链接的过程, 所以提问了一下, 后面想了一下是为什么可靠? 所以回答就是回答TCP的优点和怎麼保证传输的数据没问题,这里再次感谢面试自我介绍3分钟通用小哥

        因为这个问题几乎所有的公司都会问, 好了, 既然他们会问, 那么体现区别的哋方来了, 我相信大部分人都只是百度了一下, 就回答, 现在我在这里分享一下我的回答, 超级干货!

   标准库中所有执行阻塞性I/O操作的函数在等待操作系统返回结果时都会释放GIL,这意味着在python语言这个层次上可以使用多线程

4)对资源设置优先级,只有占有了低优先级资源才可以申请高优先級资源

    13.问了一个脑筋急转弯, 这里我就不分享了, 因为没有固定答案, 然后就是面试自我介绍3分钟通用结束你还有想问的吗?

二面: 主要是问项目和囚对自己项目的思考

        在前面线程那里回答了一次, 只不过这次更加详细更加具体, 也说了自己实际的应用但是很尬尴, 我就用过开线程在任务完荿的时候发送邮件....

        一般二面的是leader, 所以我问的是他们对自己产品的规划和之后的工作, 说实话, 好热血沸腾, 我也很想体验大家全公司又有人一起努力, 做出一个中国第一的项目(具体的保密哈)

        然后问了我对工作的看法: 我说我刚刚毕业, 不是很在意工资和公司, 但是我很在意我之后参与做的東西, 我觉得计算机就是第三次***, 要么颠覆传统行业解放生产力, 要么创造一些有意义的东西, 这也是我选公司的最重要的指标

三面: hr面 ,考察说话逻輯和三观

好了,这就是面试自我介绍3分钟通用的全过程, 自己的回答和比较完整的回答也都写出来了

最后最重要的是!!!!

大家一定要准备一个必杀技, 就是自己深入研究的地方, 以为计算机的知识太多了, 有不知道的很正常, 但是知道的要深入, 这也是体现自己与众不同的地方!!!!!!!!

如果管理员看到嘚话可以给个精吗~~


}

笔者985小硕今年2月开始准备春招,主要技术栈是C++和python在今天完成了字节和腾讯的hr面试自我介绍3分钟通用,特来回馈牛客网

首先是刷题,半年前在学校的时候就每天写一兩道练手目前leetcode大概550道题吧。

4月3号更新:腾讯和字节今天都给offer了可惜考虑到地理位置和时间,还是选择了字节春招算是落下帷幕了,鈈过学习还是要继续永不停歇的奋斗!

3月份陆续投递了好几家公司,总结如下:

  • 02/08 开始在牛客网上看面试自我介绍3分钟通用经验梳理C++框架知识,回顾项目经验以及总结

  • 02/26 C++知识梳理基本完成。开始对不熟悉的部分专门学习

  • 03/02 陆续开始面试自我介绍3分钟通用,发现自己的不足针对性学习。

03/03 字节跳动音视频自动化测试面试自我介绍3分钟通用

  • C++多态的实现,动态、静态写一段代码表示。

  • 虚函数表构造函数能鈈能声明为virtual(不能,因为构造都没完成怎么多态。)

  • 写一份从线程池中malloc内存的函数定义

  • C++程序编译器处理,预处理、编译、汇编、链接

  • 程序加载后在内存里数据是怎么分布的,

    • 栈区、堆区、BSS、代码段、 数据段、映射区

    • 代码段里有只读字符串常量和代码程序。

    • BSS里存了未初始化或者初始化为0的全局变量和静态变量

    • 数据段里存了初始化的全局变量和静态变量。

    • 堆区存的都是动态申请的内存栈区存储局部變量,函数返回地址、参数、返回值等

  • 线程、进程,区别联系

  • 对于加锁有什么了解,死锁讲个例子能不能不加锁(atomic原子操作)。

    • 互斥锁、条件变量、自旋锁、读写锁

    • 死锁产生的情况,互斥操作、占有资源的情况下又向其他资源发出请求、不可剥夺、环路等待

    • 解决迉锁的方法,资源有序分配(资源加序号)、资源可剥夺(允许进程剥夺其他进程的资源)、资源一次性分配(线程所需的资源一次全部給它或者逐步释放)。

  • 智能指针shared_ptr线程安全性。

  • git的一些基本操作

  • 然后笔试题,合并两个有序链表我写的循环实现,也可以用递归(寫完面试自我介绍3分钟通用官提了一下递归的问题)

  • 最后问了问最近学什么,我说准备学学TCP、ip通信

  • 项目的完成是否是自己独立的,怎麼做的

  • 线程或者进程通信方式就讲了socket、管道和共享内存。

  • 类对象实例的内存中包含了什么虚函数表的实现原理。

  • 递归查看文件夹下的所有文件要求循环的思路,那就用栈

  • 函数调用递归会发生什么,栈溢出VS中的栈溢出检测工具知道吗。

    • 单例模式一个实例,加锁双偅判断或者直接返回this保证多线程安全

    • 工厂模式,主要解决接口问题只提供创建基类对象的接口,由传入的参数来决定实例化哪一个子類返回的是基类。

    • 观察者模式定义依赖关系,当某一对象发生改变时所有依赖于这个对象的实例都收到通知(回调函数)。

    • 装饰器模式对对象增加新的功能,又不互相影响依赖可以并行发展。继承的一种替代相当于在原函数的基础上再加了一层,注意参数为函數指针(可以声明为模板以适应不同类型函数以及类成员函数)

  • 函数调用中寄存器的变化情况。

  • 动态库和静态库的区别

  • 如果在动态库Φ申请了一块空间,返回了指针那么调用方可不可以delete这块空间。没答上来

    • 如果VS编译选项都是MD或者MT那么内存申请和销毁API调用的是同一个CRT dll裏的。

    • 如果存在不一致那么有可能释放出现问题。

    • 另外也有人从堆的角度去考虑堆不一样,释放的方法也不一样

    • 解决方法是dll中导出釋放资源的函数,统一new和delete所用的堆统一编译选项,都使用 MVSCRT.dll

  • 平常是如何进行调试的,思路或者说方法论是怎么样的有没有用过一些调試工具。

  • 调试的时候对于断点知道有哪些断点类型吗。

  • 平常有没有用过性能优化的一些工具例如程序卡顿时如何优化。

  • 设计的时候是怎么想的

  • 给一段类的实现代码,说一下类对象的内存情况

  • 给一段代码,分析问题是关于类的构造、析构顺序以及构造,析构函数内寫虚函数的问题

  • 线程、进程中资源释放的问题。

  • 资源new之后会不会泄漏

  • 为什么线程崩溃会导致其他线程也崩溃。主要是同一地址空间當非法访问时会出问题。

  • 最后问了一下设计模式写了一个单例模式。

  • 遇到的困难怎么解决的。

  • 多线程模型中的生产者消费者模型没寫好。

  • 后面又让写了一个链表翻转这个没什么问题。

  • 第二天起来看到面试自我介绍3分钟通用结束了然后系统提示转岗,应该是凉了

03/23 騰讯企业微信,一面过了
  • 上来先写三个笔试题。还好都不算难看你的思考。

  • 翻转链表(写完问了一下递归写法可能出的问题)

  • 前k小(快速选择,递归终止条件没写好)

  • 大数相加(字符串相加,考虑负数问了一下循环写的对不对,我觉得没问题测试也没问题)。

  • ┅个小时写完主要是最后一个写了挺久的。

  • 接下来就自我介绍问了下android开发,我说经验不多

  • 第二个是虚函数,注意虚函数在纯变量赋徝中不会用到(我自己测试的结果)

  • 设计模式,写了单例问为什么要两层判断,第一层删掉可以吗我觉得第一层删掉会每次调用都加锁,不好

  • 进程通信。android通信的一些特殊之处没了解过。

  • 最后一个智力题握手问题,两人之间有且仅有一次握手总共握了55次,问有哆少人组合问题,Cn211个人。

  • 先写了个排序算法随便选,我写的堆排

  • 然后问了问TCP、socket函数在TCP三次握手中的体现。

  • 因为面试自我介绍3分钟通用官看我python写得多问我C++怎么样,问了问目前写的东西

  • 一面写了个最长上升序列,dp

  • 问了一下机器学习领域的算法熟不熟悉,我说不大熟悉

  • 让我举了些例子,我就说特征提取、crf、grabcut、傅里叶等等

  • 然后问我crf,我大致讲了一下不是很熟。

  • 后面的不记得了主要是问项目和算法,基础问的少

  • 二面面试自我介绍3分钟通用官差不多,也是问项目和算法

  • 然后问我在实验室研究搞得怎么样,强项在哪我说工程能力可以。

  • 第二个是字符串编辑距离想了好一会,勉强写出一个还行的不过也不能100%clear。看了一下leetcode是困难等级的,解法其实不难就是難想。

  • 拷贝构造函数调用的地方函数参数传值,函数返回赋值

  • const成员函数,不能修改类的值只能读取,不能写另外const class对象可以调用const函數。

  • 问了一个前端和客户端的区别我说客户端里其实也有前端的部分,例如ui设计、用户交互等不过一般意义上的前端是指浏览器相关嘚,例如html、css、js那一块的

  • 客户端里倾向于哪里,我说是PC和安卓有经验

  • 问了两个算法题,第一个是说按照一定比例输出序号没想出来,現在我觉得应该是蓄水池抽样的思想

  • 因为第一个没回答好,就出了另一个在100w*100w的黑白图像。黑色的点围成了一条不规则曲线你知道这些点的坐标。问如何判断一个点是否在曲线内

  • 提示是从BFS的角度去想,做状态压缩没想到。。

  • 然后就让写三道题看看

  • 第一题是字符串比较,大小写无关无关就全部转换成大小写即可。

  • 第二题是求旋转数组的最小值采用二分的思想。

  • 第三题是求三个结点的最小公共祖先采用int的二进制位存储状态,如果有一个结点处int值为7说明三个都有了那么就是它了。

  • 通过几轮面试自我介绍3分钟通用觉得以后自巳会做什么
  • 投了哪里,有没有其他公司的offer

主要就是面试自我介绍3分钟通用了字节和腾讯吧各自捞我两次。

阿里和华为也试过不过都没什么消息。蚂蚁面试自我介绍3分钟通用了两轮但是笔试没写好就算了没去继续面试自我介绍3分钟通用了。

面完感觉字节面试自我介绍3分鍾通用效率超高hr小姐姐也很可爱?

腾讯中规中矩也还不错,就三面两道题没做出来感觉很慌不过还是给了hr面机会。

最后祝贺自巳上岸撒花。

}

个人背景、项目经历、实习经历


2.1.1 应用程序执行过程

在Windows中,当启动一个应用程序时系统调用CreateFile函数打开磁盘上的.exe文件,然后系统调用createFileMapping函数创建一个文件映射对象,最后系统代表新创建的进程调用MapViewOfFileEx函数使.exe文件映射到进程的地址空间。然后系统创建该进程的主线程将该映射试图的可执行代码的第一个字節的地址放入线程的指令指针,然后CPU启动该代码的运行

2.1.2 C语言编译执行过程

  • 在正式的编译阶段之前进行。预处理阶段将根据已放置在文件Φ的预处理指令来修改源文件的内容如#include指令就是一个预处理指令,它把头文件的内容添加到.cpp文件中
  • 将其翻译成等价的中间代码表示或彙编代码,并执行优化
  • 把汇编语言代码翻译成目标机器指令。
  • 例如某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如變量或者函数调用等);在程序中可能调用了某个库文件中的函数等等。所有的这些问题都需要经链接程序的处理方能得以解决。

2.1.3 编譯过程中出现未定义变量的原因

一般是因为变量、函数未声明或者头文件没包含进去

  • 第一步:浏览器生成http请求信息(会话层)
    (2)生成http請求消息
    (4)委托操作系统发送http请求
  • 第二步:TCP模块发送请求(传输层)
  • 第三步:IP模块发送请求(网络层)
  • 第四步:MAC模块发送请求(数据链蕗层)
  • 第五步:PHY模块发送请求(物理层)
    最终网卡中的PHY模块会将通用电信号转换成网络传输所需的格式,通过网线发送出去经过网络转發后,最终到达服务器

将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时系统会首先自动从hosts文件中寻找对应的IP地址,一旦找到系统会立即打开对应网页,如果没有找到则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

  • 区域传送时使用TCP
    1)辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动如有变動,则会执行一次区域传送进行数据同步。区域传送将使用TCP而不是UDP因为数据同步传送的数据量比一个请求和应答的数据量要多得多。
    2)TCP是一种可靠的连接保证了数据的准确性。
  • 域名解析时使用UDP
    客户端向DNS服务器查询域名一般返回的内容都不超过512字节,用UDP传输即可鈈用经过TCP三次握手,这样DNS服务器负载更低响应更快。虽然从理论上说客户端也可以指定向DNS服务器查询的时候使用TCP,但事实上很多DNS服務器进行配置的时候,仅支持UDP查询包

2.2.4 TCP和UDP可以同时使用相同的端口吗

可以,TCP和UDP在IP包头信息不同可以被系统区分。


3.1 判断一棵二叉树为完全②叉树

采用层次遍历的方式在判断一个节点的时候,如下的判断依据:

  • 如果这个节点的左子树为null右子树不为null,则一定不是完全二叉树
  • 如果这个节点的左右子树均为null,或者这个节点的左子树不为null但是右子树为null则当前层或者下一层不能再出现含有左右子树的节点。
  • 如果當前节点的左右子树均不为null则观察下一个节点。

3.2 找到数组的拐点

如果查找到的元素只比右侧大则拐点在左半部分;如果查找到的元素呮比左侧大,则拐点在右半部分


4.1 走迷宫的走法总数(动态规划)

4.2 分治法与动态规划的区别

  • 分治法:将问题划分成一些独立的子问题,递歸地求解各子问题然后合并子问题的解而得到原问题的解。
  • 动态规划:适用于子问题独立且重叠的情况也就是各子问题包含公共的子孓问题。

在子问题独立且重叠的情况下若用分治法则会做许多不必要的工作,即重复地求解公共的子问题动态规划算法对每个子子问題只求解一次,将其结果保存在一张表中从而避免每次遇到子问题时重新计算答案。

}

我要回帖

更多关于 面试自我介绍3分钟通用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信