📜  Synopsys 面试经历 – 研发 2 工程师(1)

📅  最后修改于: 2023-12-03 15:35:13.653000             🧑  作者: Mango

Synopsys 面试经历 - 研发 2 工程师

最近笔者参加了 Synopsys 的研发 2 工程师职位面试,以下是我的面试经历及分享。

面试流程

首先是 HR 面,主要了解自己的个人情况、经验、职业规划,以及对公司的了解程度。然后是技术面试,主要是针对基础知识、项目经验及解决问题的能力。

技术面试
  1. 操作系统
    被问到进程、线程的概念,以及它们之间的区别和联系。另外还问到内核态和用户态的概念和区别,以及用户态怎么转移到内核态。

  2. 数据结构与算法
    被问到数组、链表、二叉树等常见数据结构,还有二分查找、快排等常见算法。

  3. 网络通信
    被问到 TCP 和 UDP 的区别,以及 HTTP 和 HTTPS 的区别。

  4. 编程语言
    被问到对于 C++ 中 virtual 关键字的理解,以及多态的实现方式。

  5. 面向对象
    被问到面向对象的三大特性,以及继承的目的和实现方式。

  6. 项目经验
    针对项目中遇到过的问题和解决方案进行了讨论,并对其中的技术选择和实现细节进行了深入的剖析。

个人总结

这次面试让我印象深刻的是 Synopsys 对技术储备的要求很高,需要对基础知识和实际项目经验有深入的理解和掌握。同时,面试官不仅关心面试者的技术水平,更注重面试者的解决问题的能力和思维逻辑。

因此,我认为提高技术水平的同时,也要注重培养自己的逻辑思维和解决问题的能力,通过不断思考和实践,找到最优解决方案。