Aller au contenuAller au pied de page
  • Emplois
  • Entreprises
  • Salaires
  • Pour les employeurs

      Boostez votre carrière

      Découvrez votre salaire potentiel, décrochez des emplois de rêve et partagez vos témoignages de manière anonyme.

      employer cover photo
      employer logo
      employer logo

      ArcSoft

      Est-ce votre entreprise ?

      À propos
      Avis
      Salaires et avantages
      Emplois
      Entretiens
      Entretiens
      Recherches associées: Avis sur ArcSoft | Offres d’emploi chez ArcSoft | Salaires chez ArcSoft | Avantages sociaux chez ArcSoft
      Entretiens chez ArcSoftEntretiens d’embauche pour C++ Intern chez ArcSoftEntretien chez ArcSoft


      Glassdoor

      • À propos
      • Récompenses
      • Blog
      • Nous contacter
      • Guides

      Employeurs

      • Compte employeur gratuit
      • Centre employeur
      • Blog pour les employeurs

      Informations

      • Aide
      • Règles de la communauté
      • Conditions d'utilisation
      • Confidentialité et choix publicitaires
      • Ne pas vendre ni partager mes informations
      • Outil de consentement aux cookies

      Travailler avec nous

      • Annonceurs
      • Carrières
      Télécharger l'application

      • Parcourir par :
      • Entreprises
      • Emplois
      • Lieux

      Copyright © 2008-2026. Glassdoor LLC. « Glassdoor », son logo, « Worklife Pro » et « Bowls » sont des marques déposées de Glassdoor LLC.

      Entreprises suivies

      Tenez-vous au courant des dernières opportunités et profitez de conseils d’initiés en suivant les entreprises de vos rêves.

      Recherche d’emplois

      Obtenez des recommandations et des mises à jour personnalisées en démarrant vos recherches.

      Entretien pour C++ Intern

      13 oct. 2023
      Employé (anonyme)
      Hangzhou, Zhejiang
      Offre acceptée
      Expérience neutre
      Entretien moyen

      Candidature

      J'ai postulé en ligne. Le processus a pris 2 semaines. J'ai passé un entretien chez ArcSoft (Hangzhou, Zhejiang) en déc. 2022

      Entretien

      1. 3-5 min self-introduction. 2. project & past work experience.For this part, the interviewer asked me to describe some projects I have worked on in detail. For each project, he asked: What was the goal and purpose of the project? What technologies and tools did I use to implement it? What were some challenges I faced during development? What new skills did I learn from working on the project? How did I overcome the challenges and solve problems? 3. cpp basics & arlgorithm.The last part of the interview focused on assessing my C++ skills and algorithms understanding. The interviewer asked questions about C++ concepts like OOP, templates, STL etc. He also gave me simple algorithm problems to solve like searching, sorting etc. I had to explain the logic and code for the solutions.

      Questions d'entretien [1]

      Question 1

      1. Which version of C++ do you usually use? Tell us what improvements have been made to C++ in this version and what new features have been introduced? Answer: C++11 and C++14. Smart pointers and lock management wrapper classes (lock_guard, scoped_lock, etc.) representing RAII ideas are introduced. The basic idea is to automatically manage the acquisition and release of resources, that is, when constructing an object, automatically acquire memory or locks; when destructing an object, automatically release the memory or locks it manages. Follow-up question: In what situations is scoped_lock mainly used? Can you give an example? Answer: scoped_lock is mainly used to manage multiple mutexes at the same time to avoid deadlock. For example: There is a bank account type. Each of its objects must be assigned a lock, because bank accounts may involve multiple threads making deposits or withdrawals at the same time. At this time, for transfer transactions involving two accounts, scoped_lock must be used to manage the mutex of the two account objects, otherwise a deadlock state may occur. Supplement: New features of C++11 2. Do you understand C++ polymorphism and inheritance? Let’s briefly talk about how to implement polymorphism in C++. Answer: Inheritance is divided into public, private and protected. After a subclass object inherits a parent class, it may be possible to call parent class variables or functions based on different inheritance relationships. For example: under shared inheritance, subclasses can use functions shared by the parent class. As for polymorphism, generally speaking, C++ relies on function overloading and virtual functions. Among them, function overloading is static, and virtual function overriding is dynamic. Because polymorphism relies on virtual functions, it is necessary to determine which version of the function to call based on the actual memory pointer. 3. Do you understand C++ memory management? Let’s briefly talk about C++ memory management. Answer: I just mentioned that C++ memory management mainly relies on smart pointers. For example: shared_ptr can decide whether to release based on the number of references. When the number of references is 0, the memory it manages is automatically released. Unique_ptr automatically releases the memory it manages when it is destructed. Follow-up question: Tell me about the difference between new and malloc in C++ Answer: new returns a type pointer, while malloc returns a void * pointer, which requires the user to convert it to the required type. In addition, malloc needs to calculate the requested memory size when using it, while new uses the object constructor directly. 4. Are you familiar with C++ multi-thread programming? Let’s talk about the basic use of locks, condition variables and threads in C++ multi-threaded programming. Answer: We talked about the usage of mutex wrapper, condition_variable's wait and notify, and thread initialization. In addition, spurious wake-up of condition variables and a basic implementation of a thread pool are also mentioned. 5. Have you used template programming before? Let’s talk about C++ template programming. Answer: Used. In addition to basic template classes and template functions, I have also implemented iterators and used template extraction techniques. Mainly refer to the anatomy of the STL template library.
      Répondre à cette question