React.js 인터뷰 - 기술 제출 및 자세한 피드백
7610 단어 reacttypescripthelpjavascript
Update: The public links are down due to the company didn't wanted to have the assignment code shared. Sorry to say but the repo cannot be public anymore. Thanks for the everyone's feedback.
나는 최근에 내가 인터뷰하고 있는 MNC 중 하나를 위해 React.js 프로젝트를 만들었고 그들은 내 과제 제출에 대한 정말 자세한 피드백을 제공했습니다.
코드베이스와 회사에서 제공한 피드백을 여기에서 공유하여 누구나 혜택을 받을 수 있습니다.
요구 사항: 주식을 나열하는 앱
React.js
을 만들고 주식을 클릭하면 주식 시세 목록이 있는 주식 세부 정보 페이지로 이동합니다.React.js
를 사용해야 합니다. 제출: (지금은 비공개입니다)
GitHub: Sensible Stock Portfolio
라이브 URL: Sensible-Stocks
📃 자세한 피드백
@Negatives
- code look messy and unnecessarily made complicated
- created a common http get service around axois, the implementation is not proper
- unnecessary component wrappers, just for using some CSS classes
- usage of error boundary is not in the recommended way
- unnecessarily added new functionality rather than concentrating on the complete solution
- unnecessarily suppressing lint rules
- not handling mobile responsiveness
@Instruments page / stock listing
- api call twice on page mount
- using 2 different state for search results and default view
- filter function will always runs
@Quotes page / stock detail page
- api call twice on page mount
- polling is implemented but the implementation is messy and won't work
implementation details
- spawn a web worker and listen for post message, inside this if the quotes list length is 0 make an api call to update the quotes
- providing the user a control to update the interval (1,2,3,5,10 ms) for checking expired quotes
- there's a set interval run on this interval (1..10 ms) inside this posting a web worker message
- web worker will run the loop for checking the quote's expiry and the expired leg is removed from the list
- once all items have been removed from the list, initiate the api call to fetch new quotes, this time frontend will hit the server at least 100-300 times (sometimes more than 1800 requests) reasons for this the web worker will receive a message every 1-10ms and hit the server
- not properly clearing set interval, leads to calling the previous apis as well, now the loop will hit the server more than 5k times
- Use string split and replace T and Z to convert the timezone for comparing the time
- timestamp not converted to IST in the table listing
@Positives
- Using typescript
- Using error boundaries
- segregating code by spliting components and util functions
Instruments page
- implemented search
Quotes page
- implemented sort
We thank you for the time, energy, and effort you invested in our process and we wish you the very best in your future endeavours.
동의하지 않는 점.
split
및 replace
로 시간 변환을 수행하는 데 어려움을 겪었습니다. 이 1 작업에 순간을 사용하고 싶지 않았습니다. 필터 기능은 항상 실행됩니다. 여기서 수행하려는 작업은 사용자가 s 검색 필드에 항목을 입력할 때마다 필터 기능이 실행되어야 한다는 것입니다.
오류 경계 사용이 권장되는 방식이 아닙니다. 권장되는 방식은 무엇입니까?
결국 그것은 정말 좋은 경험이었고 새로운 것을 알게 되었습니다.
읽어주셔서 감사합니다 🤓
Reference
이 문제에 관하여(React.js 인터뷰 - 기술 제출 및 자세한 피드백), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rajeshroyal/reactjs-interview-technical-submission-and-detailed-feedback-2pk7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)