腾讯PC客户端二面

面试大概四十分钟,总体下来问题不多,但是深。今天这四十分钟学到了很多东西,面试官针对我现在的情况也给到了很多需要改善的点。最基础的东西除了算法,就在于自己对知识上的理解。应该自己去写一写东西,找一些demo,自己去跑一跑,现在很多东西直白来说都是在背标准答案,但是真的对吗。不用去看源码,去了解内存布局、深层的汇编代码,从根本上去理解。很多底层东西学习是为了之后在写代码的时候,能更快的去解决问题 标准答案谁都会看 重要的是有自己的一个理解。自己之后写的文章应该去结合实际中的问题去看。把东西(积累的文章)变成自己的,现在自己的大部分博客上的知识,其实都是别人的。

需要一直去不断提高的地方:1提升调试能力、2如何去分析问题的能力(看到一个东西的时候,要慢慢去想想去以点到面)

之后去看下:《windows 核心编程》中线程同步第一章、lldb、instrument、os内核

每一次面试都是一个不断对自己进行一个查漏补缺的过程,希望自己每次都能更进一步,从逻辑、思想、能力等方面去不断改正自己的问题,去完善自己的知识体系,更努力的去成为一个优秀的软件工程师,向着自己的梦想一直冲!

  1. 自我介绍

  2. 问项目人脸识别:哪一方面的识别、算法是自己写的吗 、介绍项目算法的原理

  3. 有写过文章或技术博客之类的吗

  4. 有没有给你发offer的吗

  5. 介绍下进程和线程

  6. 进程间的通信方式

  7. 说一下管道

  8. 有名管道和无名管道都是半双工通信的,那全双工通信呢

  9. 半双工全双工怎么理解(我说了数据双向流动)确定这样吗

  10. 感觉都是看资料上的,看加上自己实际中的理解

  11. 共享内存、套接字实际中使用过吗(这两个应该是最常用的两个)

  12. 应该自己去写一写东西,找一些demo,自己去跑一跑,现在很多东西直白来说都是在背标准答案,但是真的对吗

  13. 管道可以同时收发吗

  14. 进程的用户地址空间和内核空间

  15. CPU这块开始了解

  16. CPU的保护模式

  17. 物理地址和虚拟地址管理 会涉及到 进程的用户地址空间和内核空间

  18. 多线程访问并发同步,产生冲突,为什么会产生冲突

    • 去看一下《windows 核心编程》中线程同步第一章节会有详细介绍 多线程这块很重要,理解之后在写代码的时候 能更快的解决问题 标准答案谁都会看 重要的是有自己的一个理解 环境变量 结合起来 共享内存的好处在哪些地方 有什么关联 gcb机制、线程池这些
  19. volatile关键字 作用

  20. MTU

  21. TCP粘包问题(说完后,面试官和我说了另外一种说话 更直观符合实际)(关于解决粘包问题的解决,我在博客上写的存在问题,去看一下PBR、二进制协议是怎么做到的)

  22. 为什么C++向上转型,为什么可以这样来转型(不用去看源码,去了解内存布局+深层的汇编代码,从根本上去理解)

  23. 反问

原文地址:https://www.cnblogs.com/OFSHK/p/14587358.html